aws-sdk-computeoptimizer 1.49.0 → 1.51.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.
@@ -22,11 +22,13 @@ module Aws::ComputeOptimizer
22
22
  AutoScalingGroupArn = Shapes::StringShape.new(name: 'AutoScalingGroupArn')
23
23
  AutoScalingGroupArns = Shapes::ListShape.new(name: 'AutoScalingGroupArns')
24
24
  AutoScalingGroupConfiguration = Shapes::StructureShape.new(name: 'AutoScalingGroupConfiguration')
25
+ AutoScalingGroupEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'AutoScalingGroupEstimatedMonthlySavings')
25
26
  AutoScalingGroupName = Shapes::StringShape.new(name: 'AutoScalingGroupName')
26
27
  AutoScalingGroupRecommendation = Shapes::StructureShape.new(name: 'AutoScalingGroupRecommendation')
27
28
  AutoScalingGroupRecommendationOption = Shapes::StructureShape.new(name: 'AutoScalingGroupRecommendationOption')
28
29
  AutoScalingGroupRecommendationOptions = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendationOptions')
29
30
  AutoScalingGroupRecommendations = Shapes::ListShape.new(name: 'AutoScalingGroupRecommendations')
31
+ AutoScalingGroupSavingsOpportunityAfterDiscounts = Shapes::StructureShape.new(name: 'AutoScalingGroupSavingsOpportunityAfterDiscounts')
30
32
  Code = Shapes::StringShape.new(name: 'Code')
31
33
  ContainerConfiguration = Shapes::StructureShape.new(name: 'ContainerConfiguration')
32
34
  ContainerConfigurations = Shapes::ListShape.new(name: 'ContainerConfigurations')
@@ -41,6 +43,10 @@ module Aws::ComputeOptimizer
41
43
  CurrentInstanceType = Shapes::StringShape.new(name: 'CurrentInstanceType')
42
44
  CurrentPerformanceRisk = Shapes::StringShape.new(name: 'CurrentPerformanceRisk')
43
45
  CurrentPerformanceRiskRatings = Shapes::StructureShape.new(name: 'CurrentPerformanceRiskRatings')
46
+ CustomizableMetricHeadroom = Shapes::StringShape.new(name: 'CustomizableMetricHeadroom')
47
+ CustomizableMetricName = Shapes::StringShape.new(name: 'CustomizableMetricName')
48
+ CustomizableMetricParameters = Shapes::StructureShape.new(name: 'CustomizableMetricParameters')
49
+ CustomizableMetricThreshold = Shapes::StringShape.new(name: 'CustomizableMetricThreshold')
44
50
  DeleteRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'DeleteRecommendationPreferencesRequest')
45
51
  DeleteRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'DeleteRecommendationPreferencesResponse')
46
52
  DescribeRecommendationExportJobsRequest = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsRequest')
@@ -49,13 +55,23 @@ module Aws::ComputeOptimizer
49
55
  DestinationBucket = Shapes::StringShape.new(name: 'DestinationBucket')
50
56
  DestinationKey = Shapes::StringShape.new(name: 'DestinationKey')
51
57
  DestinationKeyPrefix = Shapes::StringShape.new(name: 'DestinationKeyPrefix')
58
+ EBSEffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'EBSEffectiveRecommendationPreferences')
59
+ EBSEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'EBSEstimatedMonthlySavings')
52
60
  EBSFilter = Shapes::StructureShape.new(name: 'EBSFilter')
53
61
  EBSFilterName = Shapes::StringShape.new(name: 'EBSFilterName')
54
62
  EBSFilters = Shapes::ListShape.new(name: 'EBSFilters')
55
63
  EBSFinding = Shapes::StringShape.new(name: 'EBSFinding')
56
64
  EBSMetricName = Shapes::StringShape.new(name: 'EBSMetricName')
65
+ EBSSavingsEstimationMode = Shapes::StructureShape.new(name: 'EBSSavingsEstimationMode')
66
+ EBSSavingsEstimationModeSource = Shapes::StringShape.new(name: 'EBSSavingsEstimationModeSource')
67
+ EBSSavingsOpportunityAfterDiscounts = Shapes::StructureShape.new(name: 'EBSSavingsOpportunityAfterDiscounts')
57
68
  EBSUtilizationMetric = Shapes::StructureShape.new(name: 'EBSUtilizationMetric')
58
69
  EBSUtilizationMetrics = Shapes::ListShape.new(name: 'EBSUtilizationMetrics')
70
+ ECSEffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'ECSEffectiveRecommendationPreferences')
71
+ ECSEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'ECSEstimatedMonthlySavings')
72
+ ECSSavingsEstimationMode = Shapes::StructureShape.new(name: 'ECSSavingsEstimationMode')
73
+ ECSSavingsEstimationModeSource = Shapes::StringShape.new(name: 'ECSSavingsEstimationModeSource')
74
+ ECSSavingsOpportunityAfterDiscounts = Shapes::StructureShape.new(name: 'ECSSavingsOpportunityAfterDiscounts')
59
75
  ECSServiceLaunchType = Shapes::StringShape.new(name: 'ECSServiceLaunchType')
60
76
  ECSServiceMetricName = Shapes::StringShape.new(name: 'ECSServiceMetricName')
61
77
  ECSServiceMetricStatistic = Shapes::StringShape.new(name: 'ECSServiceMetricStatistic')
@@ -77,6 +93,8 @@ module Aws::ComputeOptimizer
77
93
  ECSServiceRecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'ECSServiceRecommendedOptionProjectedMetrics')
78
94
  ECSServiceUtilizationMetric = Shapes::StructureShape.new(name: 'ECSServiceUtilizationMetric')
79
95
  ECSServiceUtilizationMetrics = Shapes::ListShape.new(name: 'ECSServiceUtilizationMetrics')
96
+ EffectivePreferredResource = Shapes::StructureShape.new(name: 'EffectivePreferredResource')
97
+ EffectivePreferredResources = Shapes::ListShape.new(name: 'EffectivePreferredResources')
80
98
  EffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'EffectiveRecommendationPreferences')
81
99
  EnhancedInfrastructureMetrics = Shapes::StringShape.new(name: 'EnhancedInfrastructureMetrics')
82
100
  EnrollmentFilter = Shapes::StructureShape.new(name: 'EnrollmentFilter')
@@ -169,6 +187,7 @@ module Aws::ComputeOptimizer
169
187
  InferredWorkloadTypesPreference = Shapes::StringShape.new(name: 'InferredWorkloadTypesPreference')
170
188
  InstanceArn = Shapes::StringShape.new(name: 'InstanceArn')
171
189
  InstanceArns = Shapes::ListShape.new(name: 'InstanceArns')
190
+ InstanceEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'InstanceEstimatedMonthlySavings')
172
191
  InstanceIdle = Shapes::StringShape.new(name: 'InstanceIdle')
173
192
  InstanceName = Shapes::StringShape.new(name: 'InstanceName')
174
193
  InstanceRecommendation = Shapes::StructureShape.new(name: 'InstanceRecommendation')
@@ -176,6 +195,9 @@ module Aws::ComputeOptimizer
176
195
  InstanceRecommendationFindingReasonCodes = Shapes::ListShape.new(name: 'InstanceRecommendationFindingReasonCodes')
177
196
  InstanceRecommendationOption = Shapes::StructureShape.new(name: 'InstanceRecommendationOption')
178
197
  InstanceRecommendations = Shapes::ListShape.new(name: 'InstanceRecommendations')
198
+ InstanceSavingsEstimationMode = Shapes::StructureShape.new(name: 'InstanceSavingsEstimationMode')
199
+ InstanceSavingsEstimationModeSource = Shapes::StringShape.new(name: 'InstanceSavingsEstimationModeSource')
200
+ InstanceSavingsOpportunityAfterDiscounts = Shapes::StructureShape.new(name: 'InstanceSavingsOpportunityAfterDiscounts')
179
201
  InstanceState = Shapes::StringShape.new(name: 'InstanceState')
180
202
  InstanceType = Shapes::StringShape.new(name: 'InstanceType')
181
203
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
@@ -186,6 +208,8 @@ module Aws::ComputeOptimizer
186
208
  JobId = Shapes::StringShape.new(name: 'JobId')
187
209
  JobIds = Shapes::ListShape.new(name: 'JobIds')
188
210
  JobStatus = Shapes::StringShape.new(name: 'JobStatus')
211
+ LambdaEffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'LambdaEffectiveRecommendationPreferences')
212
+ LambdaEstimatedMonthlySavings = Shapes::StructureShape.new(name: 'LambdaEstimatedMonthlySavings')
189
213
  LambdaFunctionMemoryMetricName = Shapes::StringShape.new(name: 'LambdaFunctionMemoryMetricName')
190
214
  LambdaFunctionMemoryMetricStatistic = Shapes::StringShape.new(name: 'LambdaFunctionMemoryMetricStatistic')
191
215
  LambdaFunctionMemoryProjectedMetric = Shapes::StructureShape.new(name: 'LambdaFunctionMemoryProjectedMetric')
@@ -204,6 +228,9 @@ module Aws::ComputeOptimizer
204
228
  LambdaFunctionRecommendations = Shapes::ListShape.new(name: 'LambdaFunctionRecommendations')
205
229
  LambdaFunctionUtilizationMetric = Shapes::StructureShape.new(name: 'LambdaFunctionUtilizationMetric')
206
230
  LambdaFunctionUtilizationMetrics = Shapes::ListShape.new(name: 'LambdaFunctionUtilizationMetrics')
231
+ LambdaSavingsEstimationMode = Shapes::StructureShape.new(name: 'LambdaSavingsEstimationMode')
232
+ LambdaSavingsEstimationModeSource = Shapes::StringShape.new(name: 'LambdaSavingsEstimationModeSource')
233
+ LambdaSavingsOpportunityAfterDiscounts = Shapes::StructureShape.new(name: 'LambdaSavingsOpportunityAfterDiscounts')
207
234
  LastRefreshTimestamp = Shapes::TimestampShape.new(name: 'LastRefreshTimestamp')
208
235
  LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
209
236
  LicenseConfiguration = Shapes::StructureShape.new(name: 'LicenseConfiguration')
@@ -223,6 +250,7 @@ module Aws::ComputeOptimizer
223
250
  LicenseVersion = Shapes::StringShape.new(name: 'LicenseVersion')
224
251
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
225
252
  LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
253
+ LookBackPeriodPreference = Shapes::StringShape.new(name: 'LookBackPeriodPreference')
226
254
  Low = Shapes::IntegerShape.new(name: 'Low')
227
255
  LowerBoundValue = Shapes::FloatShape.new(name: 'LowerBoundValue')
228
256
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -257,6 +285,11 @@ module Aws::ComputeOptimizer
257
285
  Period = Shapes::IntegerShape.new(name: 'Period')
258
286
  PlatformDifference = Shapes::StringShape.new(name: 'PlatformDifference')
259
287
  PlatformDifferences = Shapes::ListShape.new(name: 'PlatformDifferences')
288
+ PreferredResource = Shapes::StructureShape.new(name: 'PreferredResource')
289
+ PreferredResourceName = Shapes::StringShape.new(name: 'PreferredResourceName')
290
+ PreferredResourceValue = Shapes::StringShape.new(name: 'PreferredResourceValue')
291
+ PreferredResourceValues = Shapes::ListShape.new(name: 'PreferredResourceValues')
292
+ PreferredResources = Shapes::ListShape.new(name: 'PreferredResources')
260
293
  ProjectedMetric = Shapes::StructureShape.new(name: 'ProjectedMetric')
261
294
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
262
295
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
@@ -289,6 +322,7 @@ module Aws::ComputeOptimizer
289
322
  RootVolume = Shapes::BooleanShape.new(name: 'RootVolume')
290
323
  S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
291
324
  S3DestinationConfig = Shapes::StructureShape.new(name: 'S3DestinationConfig')
325
+ SavingsEstimationMode = Shapes::StringShape.new(name: 'SavingsEstimationMode')
292
326
  SavingsOpportunity = Shapes::StructureShape.new(name: 'SavingsOpportunity')
293
327
  SavingsOpportunityPercentage = Shapes::FloatShape.new(name: 'SavingsOpportunityPercentage')
294
328
  Scope = Shapes::StructureShape.new(name: 'Scope')
@@ -316,6 +350,8 @@ module Aws::ComputeOptimizer
316
350
  UpperBoundValue = Shapes::FloatShape.new(name: 'UpperBoundValue')
317
351
  UtilizationMetric = Shapes::StructureShape.new(name: 'UtilizationMetric')
318
352
  UtilizationMetrics = Shapes::ListShape.new(name: 'UtilizationMetrics')
353
+ UtilizationPreference = Shapes::StructureShape.new(name: 'UtilizationPreference')
354
+ UtilizationPreferences = Shapes::ListShape.new(name: 'UtilizationPreferences')
319
355
  Value = Shapes::FloatShape.new(name: 'Value')
320
356
  VeryLow = Shapes::IntegerShape.new(name: 'VeryLow')
321
357
  VolumeArn = Shapes::StringShape.new(name: 'VolumeArn')
@@ -353,6 +389,10 @@ module Aws::ComputeOptimizer
353
389
  AutoScalingGroupConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "instanceType"))
354
390
  AutoScalingGroupConfiguration.struct_class = Types::AutoScalingGroupConfiguration
355
391
 
392
+ AutoScalingGroupEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
393
+ AutoScalingGroupEstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
394
+ AutoScalingGroupEstimatedMonthlySavings.struct_class = Types::AutoScalingGroupEstimatedMonthlySavings
395
+
356
396
  AutoScalingGroupRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
357
397
  AutoScalingGroupRecommendation.add_member(:auto_scaling_group_arn, Shapes::ShapeRef.new(shape: AutoScalingGroupArn, location_name: "autoScalingGroupArn"))
358
398
  AutoScalingGroupRecommendation.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: AutoScalingGroupName, location_name: "autoScalingGroupName"))
@@ -375,12 +415,17 @@ module Aws::ComputeOptimizer
375
415
  AutoScalingGroupRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
376
416
  AutoScalingGroupRecommendationOption.add_member(:migration_effort, Shapes::ShapeRef.new(shape: MigrationEffort, location_name: "migrationEffort"))
377
417
  AutoScalingGroupRecommendationOption.add_member(:instance_gpu_info, Shapes::ShapeRef.new(shape: GpuInfo, location_name: "instanceGpuInfo"))
418
+ AutoScalingGroupRecommendationOption.add_member(:savings_opportunity_after_discounts, Shapes::ShapeRef.new(shape: AutoScalingGroupSavingsOpportunityAfterDiscounts, location_name: "savingsOpportunityAfterDiscounts"))
378
419
  AutoScalingGroupRecommendationOption.struct_class = Types::AutoScalingGroupRecommendationOption
379
420
 
380
421
  AutoScalingGroupRecommendationOptions.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendationOption)
381
422
 
382
423
  AutoScalingGroupRecommendations.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendation)
383
424
 
425
+ AutoScalingGroupSavingsOpportunityAfterDiscounts.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
426
+ AutoScalingGroupSavingsOpportunityAfterDiscounts.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: AutoScalingGroupEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
427
+ AutoScalingGroupSavingsOpportunityAfterDiscounts.struct_class = Types::AutoScalingGroupSavingsOpportunityAfterDiscounts
428
+
384
429
  ContainerConfiguration.add_member(:container_name, Shapes::ShapeRef.new(shape: ContainerName, location_name: "containerName"))
385
430
  ContainerConfiguration.add_member(:memory_size_configuration, Shapes::ShapeRef.new(shape: MemorySizeConfiguration, location_name: "memorySizeConfiguration"))
386
431
  ContainerConfiguration.add_member(:cpu, Shapes::ShapeRef.new(shape: NullableCpu, location_name: "cpu"))
@@ -403,6 +448,10 @@ module Aws::ComputeOptimizer
403
448
  CurrentPerformanceRiskRatings.add_member(:very_low, Shapes::ShapeRef.new(shape: VeryLow, location_name: "veryLow"))
404
449
  CurrentPerformanceRiskRatings.struct_class = Types::CurrentPerformanceRiskRatings
405
450
 
451
+ CustomizableMetricParameters.add_member(:threshold, Shapes::ShapeRef.new(shape: CustomizableMetricThreshold, location_name: "threshold"))
452
+ CustomizableMetricParameters.add_member(:headroom, Shapes::ShapeRef.new(shape: CustomizableMetricHeadroom, location_name: "headroom"))
453
+ CustomizableMetricParameters.struct_class = Types::CustomizableMetricParameters
454
+
406
455
  DeleteRecommendationPreferencesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
407
456
  DeleteRecommendationPreferencesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
408
457
  DeleteRecommendationPreferencesRequest.add_member(:recommendation_preference_names, Shapes::ShapeRef.new(shape: RecommendationPreferenceNames, required: true, location_name: "recommendationPreferenceNames"))
@@ -420,12 +469,26 @@ module Aws::ComputeOptimizer
420
469
  DescribeRecommendationExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
421
470
  DescribeRecommendationExportJobsResponse.struct_class = Types::DescribeRecommendationExportJobsResponse
422
471
 
472
+ EBSEffectiveRecommendationPreferences.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: EBSSavingsEstimationMode, location_name: "savingsEstimationMode"))
473
+ EBSEffectiveRecommendationPreferences.struct_class = Types::EBSEffectiveRecommendationPreferences
474
+
475
+ EBSEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
476
+ EBSEstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
477
+ EBSEstimatedMonthlySavings.struct_class = Types::EBSEstimatedMonthlySavings
478
+
423
479
  EBSFilter.add_member(:name, Shapes::ShapeRef.new(shape: EBSFilterName, location_name: "name"))
424
480
  EBSFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
425
481
  EBSFilter.struct_class = Types::EBSFilter
426
482
 
427
483
  EBSFilters.member = Shapes::ShapeRef.new(shape: EBSFilter)
428
484
 
485
+ EBSSavingsEstimationMode.add_member(:source, Shapes::ShapeRef.new(shape: EBSSavingsEstimationModeSource, location_name: "source"))
486
+ EBSSavingsEstimationMode.struct_class = Types::EBSSavingsEstimationMode
487
+
488
+ EBSSavingsOpportunityAfterDiscounts.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
489
+ EBSSavingsOpportunityAfterDiscounts.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: EBSEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
490
+ EBSSavingsOpportunityAfterDiscounts.struct_class = Types::EBSSavingsOpportunityAfterDiscounts
491
+
429
492
  EBSUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: EBSMetricName, location_name: "name"))
430
493
  EBSUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: MetricStatistic, location_name: "statistic"))
431
494
  EBSUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
@@ -433,6 +496,20 @@ module Aws::ComputeOptimizer
433
496
 
434
497
  EBSUtilizationMetrics.member = Shapes::ShapeRef.new(shape: EBSUtilizationMetric)
435
498
 
499
+ ECSEffectiveRecommendationPreferences.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: ECSSavingsEstimationMode, location_name: "savingsEstimationMode"))
500
+ ECSEffectiveRecommendationPreferences.struct_class = Types::ECSEffectiveRecommendationPreferences
501
+
502
+ ECSEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
503
+ ECSEstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
504
+ ECSEstimatedMonthlySavings.struct_class = Types::ECSEstimatedMonthlySavings
505
+
506
+ ECSSavingsEstimationMode.add_member(:source, Shapes::ShapeRef.new(shape: ECSSavingsEstimationModeSource, location_name: "source"))
507
+ ECSSavingsEstimationMode.struct_class = Types::ECSSavingsEstimationMode
508
+
509
+ ECSSavingsOpportunityAfterDiscounts.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
510
+ ECSSavingsOpportunityAfterDiscounts.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: ECSEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
511
+ ECSSavingsOpportunityAfterDiscounts.struct_class = Types::ECSSavingsOpportunityAfterDiscounts
512
+
436
513
  ECSServiceProjectedMetric.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceMetricName, location_name: "name"))
437
514
  ECSServiceProjectedMetric.add_member(:timestamps, Shapes::ShapeRef.new(shape: Timestamps, location_name: "timestamps"))
438
515
  ECSServiceProjectedMetric.add_member(:upper_bound_values, Shapes::ShapeRef.new(shape: MetricValues, location_name: "upperBoundValues"))
@@ -461,6 +538,7 @@ module Aws::ComputeOptimizer
461
538
  ECSServiceRecommendation.add_member(:service_recommendation_options, Shapes::ShapeRef.new(shape: ECSServiceRecommendationOptions, location_name: "serviceRecommendationOptions"))
462
539
  ECSServiceRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
463
540
  ECSServiceRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
541
+ ECSServiceRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: ECSEffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
464
542
  ECSServiceRecommendation.struct_class = Types::ECSServiceRecommendation
465
543
 
466
544
  ECSServiceRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFilterName, location_name: "name"))
@@ -476,6 +554,7 @@ module Aws::ComputeOptimizer
476
554
  ECSServiceRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
477
555
  ECSServiceRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: ECSServiceProjectedUtilizationMetrics, location_name: "projectedUtilizationMetrics"))
478
556
  ECSServiceRecommendationOption.add_member(:container_recommendations, Shapes::ShapeRef.new(shape: ContainerRecommendations, location_name: "containerRecommendations"))
557
+ ECSServiceRecommendationOption.add_member(:savings_opportunity_after_discounts, Shapes::ShapeRef.new(shape: ECSSavingsOpportunityAfterDiscounts, location_name: "savingsOpportunityAfterDiscounts"))
479
558
  ECSServiceRecommendationOption.struct_class = Types::ECSServiceRecommendationOption
480
559
 
481
560
  ECSServiceRecommendationOptions.member = Shapes::ShapeRef.new(shape: ECSServiceRecommendationOption)
@@ -496,10 +575,22 @@ module Aws::ComputeOptimizer
496
575
 
497
576
  ECSServiceUtilizationMetrics.member = Shapes::ShapeRef.new(shape: ECSServiceUtilizationMetric)
498
577
 
578
+ EffectivePreferredResource.add_member(:name, Shapes::ShapeRef.new(shape: PreferredResourceName, location_name: "name"))
579
+ EffectivePreferredResource.add_member(:include_list, Shapes::ShapeRef.new(shape: PreferredResourceValues, location_name: "includeList"))
580
+ EffectivePreferredResource.add_member(:effective_include_list, Shapes::ShapeRef.new(shape: PreferredResourceValues, location_name: "effectiveIncludeList"))
581
+ EffectivePreferredResource.add_member(:exclude_list, Shapes::ShapeRef.new(shape: PreferredResourceValues, location_name: "excludeList"))
582
+ EffectivePreferredResource.struct_class = Types::EffectivePreferredResource
583
+
584
+ EffectivePreferredResources.member = Shapes::ShapeRef.new(shape: EffectivePreferredResource)
585
+
499
586
  EffectiveRecommendationPreferences.add_member(:cpu_vendor_architectures, Shapes::ShapeRef.new(shape: CpuVendorArchitectures, location_name: "cpuVendorArchitectures"))
500
587
  EffectiveRecommendationPreferences.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
501
588
  EffectiveRecommendationPreferences.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
502
589
  EffectiveRecommendationPreferences.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
590
+ EffectiveRecommendationPreferences.add_member(:look_back_period, Shapes::ShapeRef.new(shape: LookBackPeriodPreference, location_name: "lookBackPeriod"))
591
+ EffectiveRecommendationPreferences.add_member(:utilization_preferences, Shapes::ShapeRef.new(shape: UtilizationPreferences, location_name: "utilizationPreferences"))
592
+ EffectiveRecommendationPreferences.add_member(:preferred_resources, Shapes::ShapeRef.new(shape: EffectivePreferredResources, location_name: "preferredResources"))
593
+ EffectiveRecommendationPreferences.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: InstanceSavingsEstimationMode, location_name: "savingsEstimationMode"))
503
594
  EffectiveRecommendationPreferences.struct_class = Types::EffectiveRecommendationPreferences
504
595
 
505
596
  EnrollmentFilter.add_member(:name, Shapes::ShapeRef.new(shape: EnrollmentFilterName, location_name: "name"))
@@ -694,6 +785,9 @@ module Aws::ComputeOptimizer
694
785
 
695
786
  GetEffectiveRecommendationPreferencesResponse.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
696
787
  GetEffectiveRecommendationPreferencesResponse.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
788
+ GetEffectiveRecommendationPreferencesResponse.add_member(:look_back_period, Shapes::ShapeRef.new(shape: LookBackPeriodPreference, location_name: "lookBackPeriod"))
789
+ GetEffectiveRecommendationPreferencesResponse.add_member(:utilization_preferences, Shapes::ShapeRef.new(shape: UtilizationPreferences, location_name: "utilizationPreferences"))
790
+ GetEffectiveRecommendationPreferencesResponse.add_member(:preferred_resources, Shapes::ShapeRef.new(shape: EffectivePreferredResources, location_name: "preferredResources"))
697
791
  GetEffectiveRecommendationPreferencesResponse.struct_class = Types::GetEffectiveRecommendationPreferencesResponse
698
792
 
699
793
  GetEnrollmentStatusRequest.struct_class = Types::GetEnrollmentStatusRequest
@@ -782,6 +876,10 @@ module Aws::ComputeOptimizer
782
876
 
783
877
  InstanceArns.member = Shapes::ShapeRef.new(shape: InstanceArn)
784
878
 
879
+ InstanceEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
880
+ InstanceEstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
881
+ InstanceEstimatedMonthlySavings.struct_class = Types::InstanceEstimatedMonthlySavings
882
+
785
883
  InstanceRecommendation.add_member(:instance_arn, Shapes::ShapeRef.new(shape: InstanceArn, location_name: "instanceArn"))
786
884
  InstanceRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
787
885
  InstanceRecommendation.add_member(:instance_name, Shapes::ShapeRef.new(shape: InstanceName, location_name: "instanceName"))
@@ -813,10 +911,18 @@ module Aws::ComputeOptimizer
813
911
  InstanceRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
814
912
  InstanceRecommendationOption.add_member(:migration_effort, Shapes::ShapeRef.new(shape: MigrationEffort, location_name: "migrationEffort"))
815
913
  InstanceRecommendationOption.add_member(:instance_gpu_info, Shapes::ShapeRef.new(shape: GpuInfo, location_name: "instanceGpuInfo"))
914
+ InstanceRecommendationOption.add_member(:savings_opportunity_after_discounts, Shapes::ShapeRef.new(shape: InstanceSavingsOpportunityAfterDiscounts, location_name: "savingsOpportunityAfterDiscounts"))
816
915
  InstanceRecommendationOption.struct_class = Types::InstanceRecommendationOption
817
916
 
818
917
  InstanceRecommendations.member = Shapes::ShapeRef.new(shape: InstanceRecommendation)
819
918
 
919
+ InstanceSavingsEstimationMode.add_member(:source, Shapes::ShapeRef.new(shape: InstanceSavingsEstimationModeSource, location_name: "source"))
920
+ InstanceSavingsEstimationMode.struct_class = Types::InstanceSavingsEstimationMode
921
+
922
+ InstanceSavingsOpportunityAfterDiscounts.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
923
+ InstanceSavingsOpportunityAfterDiscounts.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: InstanceEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
924
+ InstanceSavingsOpportunityAfterDiscounts.struct_class = Types::InstanceSavingsOpportunityAfterDiscounts
925
+
820
926
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
821
927
  InternalServerException.struct_class = Types::InternalServerException
822
928
 
@@ -831,6 +937,13 @@ module Aws::ComputeOptimizer
831
937
 
832
938
  JobIds.member = Shapes::ShapeRef.new(shape: JobId)
833
939
 
940
+ LambdaEffectiveRecommendationPreferences.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: LambdaSavingsEstimationMode, location_name: "savingsEstimationMode"))
941
+ LambdaEffectiveRecommendationPreferences.struct_class = Types::LambdaEffectiveRecommendationPreferences
942
+
943
+ LambdaEstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
944
+ LambdaEstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
945
+ LambdaEstimatedMonthlySavings.struct_class = Types::LambdaEstimatedMonthlySavings
946
+
834
947
  LambdaFunctionMemoryProjectedMetric.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryMetricName, location_name: "name"))
835
948
  LambdaFunctionMemoryProjectedMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryMetricStatistic, location_name: "statistic"))
836
949
  LambdaFunctionMemoryProjectedMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
@@ -842,6 +955,7 @@ module Aws::ComputeOptimizer
842
955
  LambdaFunctionMemoryRecommendationOption.add_member(:memory_size, Shapes::ShapeRef.new(shape: MemorySize, location_name: "memorySize"))
843
956
  LambdaFunctionMemoryRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryProjectedMetrics, location_name: "projectedUtilizationMetrics"))
844
957
  LambdaFunctionMemoryRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
958
+ LambdaFunctionMemoryRecommendationOption.add_member(:savings_opportunity_after_discounts, Shapes::ShapeRef.new(shape: LambdaSavingsOpportunityAfterDiscounts, location_name: "savingsOpportunityAfterDiscounts"))
845
959
  LambdaFunctionMemoryRecommendationOption.struct_class = Types::LambdaFunctionMemoryRecommendationOption
846
960
 
847
961
  LambdaFunctionMemoryRecommendationOptions.member = Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOption)
@@ -859,6 +973,7 @@ module Aws::ComputeOptimizer
859
973
  LambdaFunctionRecommendation.add_member(:memory_size_recommendation_options, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOptions, location_name: "memorySizeRecommendationOptions"))
860
974
  LambdaFunctionRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
861
975
  LambdaFunctionRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
976
+ LambdaFunctionRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: LambdaEffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
862
977
  LambdaFunctionRecommendation.struct_class = Types::LambdaFunctionRecommendation
863
978
 
864
979
  LambdaFunctionRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilterName, location_name: "name"))
@@ -878,6 +993,13 @@ module Aws::ComputeOptimizer
878
993
 
879
994
  LambdaFunctionUtilizationMetrics.member = Shapes::ShapeRef.new(shape: LambdaFunctionUtilizationMetric)
880
995
 
996
+ LambdaSavingsEstimationMode.add_member(:source, Shapes::ShapeRef.new(shape: LambdaSavingsEstimationModeSource, location_name: "source"))
997
+ LambdaSavingsEstimationMode.struct_class = Types::LambdaSavingsEstimationMode
998
+
999
+ LambdaSavingsOpportunityAfterDiscounts.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
1000
+ LambdaSavingsOpportunityAfterDiscounts.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: LambdaEstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
1001
+ LambdaSavingsOpportunityAfterDiscounts.struct_class = Types::LambdaSavingsOpportunityAfterDiscounts
1002
+
881
1003
  LicenseConfiguration.add_member(:number_of_cores, Shapes::ShapeRef.new(shape: NumberOfCores, location_name: "numberOfCores"))
882
1004
  LicenseConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "instanceType"))
883
1005
  LicenseConfiguration.add_member(:operating_system, Shapes::ShapeRef.new(shape: OperatingSystem, location_name: "operatingSystem"))
@@ -941,6 +1063,15 @@ module Aws::ComputeOptimizer
941
1063
 
942
1064
  PlatformDifferences.member = Shapes::ShapeRef.new(shape: PlatformDifference)
943
1065
 
1066
+ PreferredResource.add_member(:name, Shapes::ShapeRef.new(shape: PreferredResourceName, location_name: "name"))
1067
+ PreferredResource.add_member(:include_list, Shapes::ShapeRef.new(shape: PreferredResourceValues, location_name: "includeList"))
1068
+ PreferredResource.add_member(:exclude_list, Shapes::ShapeRef.new(shape: PreferredResourceValues, location_name: "excludeList"))
1069
+ PreferredResource.struct_class = Types::PreferredResource
1070
+
1071
+ PreferredResourceValues.member = Shapes::ShapeRef.new(shape: PreferredResourceValue)
1072
+
1073
+ PreferredResources.member = Shapes::ShapeRef.new(shape: PreferredResource)
1074
+
944
1075
  ProjectedMetric.add_member(:name, Shapes::ShapeRef.new(shape: MetricName, location_name: "name"))
945
1076
  ProjectedMetric.add_member(:timestamps, Shapes::ShapeRef.new(shape: Timestamps, location_name: "timestamps"))
946
1077
  ProjectedMetric.add_member(:values, Shapes::ShapeRef.new(shape: MetricValues, location_name: "values"))
@@ -955,6 +1086,10 @@ module Aws::ComputeOptimizer
955
1086
  PutRecommendationPreferencesRequest.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
956
1087
  PutRecommendationPreferencesRequest.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
957
1088
  PutRecommendationPreferencesRequest.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
1089
+ PutRecommendationPreferencesRequest.add_member(:look_back_period, Shapes::ShapeRef.new(shape: LookBackPeriodPreference, location_name: "lookBackPeriod"))
1090
+ PutRecommendationPreferencesRequest.add_member(:utilization_preferences, Shapes::ShapeRef.new(shape: UtilizationPreferences, location_name: "utilizationPreferences"))
1091
+ PutRecommendationPreferencesRequest.add_member(:preferred_resources, Shapes::ShapeRef.new(shape: PreferredResources, location_name: "preferredResources"))
1092
+ PutRecommendationPreferencesRequest.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: SavingsEstimationMode, location_name: "savingsEstimationMode"))
958
1093
  PutRecommendationPreferencesRequest.struct_class = Types::PutRecommendationPreferencesRequest
959
1094
 
960
1095
  PutRecommendationPreferencesResponse.struct_class = Types::PutRecommendationPreferencesResponse
@@ -988,6 +1123,10 @@ module Aws::ComputeOptimizer
988
1123
  RecommendationPreferencesDetail.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
989
1124
  RecommendationPreferencesDetail.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
990
1125
  RecommendationPreferencesDetail.add_member(:external_metrics_preference, Shapes::ShapeRef.new(shape: ExternalMetricsPreference, location_name: "externalMetricsPreference"))
1126
+ RecommendationPreferencesDetail.add_member(:look_back_period, Shapes::ShapeRef.new(shape: LookBackPeriodPreference, location_name: "lookBackPeriod"))
1127
+ RecommendationPreferencesDetail.add_member(:utilization_preferences, Shapes::ShapeRef.new(shape: UtilizationPreferences, location_name: "utilizationPreferences"))
1128
+ RecommendationPreferencesDetail.add_member(:preferred_resources, Shapes::ShapeRef.new(shape: EffectivePreferredResources, location_name: "preferredResources"))
1129
+ RecommendationPreferencesDetail.add_member(:savings_estimation_mode, Shapes::ShapeRef.new(shape: SavingsEstimationMode, location_name: "savingsEstimationMode"))
991
1130
  RecommendationPreferencesDetail.struct_class = Types::RecommendationPreferencesDetail
992
1131
 
993
1132
  RecommendationPreferencesDetails.member = Shapes::ShapeRef.new(shape: RecommendationPreferencesDetail)
@@ -1082,6 +1221,12 @@ module Aws::ComputeOptimizer
1082
1221
 
1083
1222
  UtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
1084
1223
 
1224
+ UtilizationPreference.add_member(:metric_name, Shapes::ShapeRef.new(shape: CustomizableMetricName, location_name: "metricName"))
1225
+ UtilizationPreference.add_member(:metric_parameters, Shapes::ShapeRef.new(shape: CustomizableMetricParameters, location_name: "metricParameters"))
1226
+ UtilizationPreference.struct_class = Types::UtilizationPreference
1227
+
1228
+ UtilizationPreferences.member = Shapes::ShapeRef.new(shape: UtilizationPreference)
1229
+
1085
1230
  VolumeArns.member = Shapes::ShapeRef.new(shape: VolumeArn)
1086
1231
 
1087
1232
  VolumeConfiguration.add_member(:volume_type, Shapes::ShapeRef.new(shape: VolumeType, location_name: "volumeType"))
@@ -1103,12 +1248,14 @@ module Aws::ComputeOptimizer
1103
1248
  VolumeRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
1104
1249
  VolumeRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
1105
1250
  VolumeRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
1251
+ VolumeRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: EBSEffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
1106
1252
  VolumeRecommendation.struct_class = Types::VolumeRecommendation
1107
1253
 
1108
1254
  VolumeRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "configuration"))
1109
1255
  VolumeRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
1110
1256
  VolumeRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
1111
1257
  VolumeRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
1258
+ VolumeRecommendationOption.add_member(:savings_opportunity_after_discounts, Shapes::ShapeRef.new(shape: EBSSavingsOpportunityAfterDiscounts, location_name: "savingsOpportunityAfterDiscounts"))
1112
1259
  VolumeRecommendationOption.struct_class = Types::VolumeRecommendationOption
1113
1260
 
1114
1261
  VolumeRecommendationOptions.member = Shapes::ShapeRef.new(shape: VolumeRecommendationOption)
@@ -32,7 +32,7 @@ module Aws::ComputeOptimizer
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"