aws-sdk-computeoptimizer 1.26.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -30,7 +30,12 @@ module Aws::ComputeOptimizer
30
30
  CpuVendorArchitecture = Shapes::StringShape.new(name: 'CpuVendorArchitecture')
31
31
  CpuVendorArchitectures = Shapes::ListShape.new(name: 'CpuVendorArchitectures')
32
32
  CreationTimestamp = Shapes::TimestampShape.new(name: 'CreationTimestamp')
33
+ Currency = Shapes::StringShape.new(name: 'Currency')
33
34
  CurrentInstanceType = Shapes::StringShape.new(name: 'CurrentInstanceType')
35
+ CurrentPerformanceRisk = Shapes::StringShape.new(name: 'CurrentPerformanceRisk')
36
+ CurrentPerformanceRiskRatings = Shapes::StructureShape.new(name: 'CurrentPerformanceRiskRatings')
37
+ DeleteRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'DeleteRecommendationPreferencesRequest')
38
+ DeleteRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'DeleteRecommendationPreferencesResponse')
34
39
  DescribeRecommendationExportJobsRequest = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsRequest')
35
40
  DescribeRecommendationExportJobsResponse = Shapes::StructureShape.new(name: 'DescribeRecommendationExportJobsResponse')
36
41
  DesiredCapacity = Shapes::IntegerShape.new(name: 'DesiredCapacity')
@@ -44,10 +49,13 @@ module Aws::ComputeOptimizer
44
49
  EBSMetricName = Shapes::StringShape.new(name: 'EBSMetricName')
45
50
  EBSUtilizationMetric = Shapes::StructureShape.new(name: 'EBSUtilizationMetric')
46
51
  EBSUtilizationMetrics = Shapes::ListShape.new(name: 'EBSUtilizationMetrics')
52
+ EffectiveRecommendationPreferences = Shapes::StructureShape.new(name: 'EffectiveRecommendationPreferences')
53
+ EnhancedInfrastructureMetrics = Shapes::StringShape.new(name: 'EnhancedInfrastructureMetrics')
47
54
  EnrollmentFilter = Shapes::StructureShape.new(name: 'EnrollmentFilter')
48
55
  EnrollmentFilterName = Shapes::StringShape.new(name: 'EnrollmentFilterName')
49
56
  EnrollmentFilters = Shapes::ListShape.new(name: 'EnrollmentFilters')
50
57
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
58
+ EstimatedMonthlySavings = Shapes::StructureShape.new(name: 'EstimatedMonthlySavings')
51
59
  ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
52
60
  ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
53
61
  ExportDestination = Shapes::StructureShape.new(name: 'ExportDestination')
@@ -85,6 +93,8 @@ module Aws::ComputeOptimizer
85
93
  GetEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsResponse')
86
94
  GetEC2RecommendationProjectedMetricsRequest = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsRequest')
87
95
  GetEC2RecommendationProjectedMetricsResponse = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsResponse')
96
+ GetEffectiveRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'GetEffectiveRecommendationPreferencesRequest')
97
+ GetEffectiveRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'GetEffectiveRecommendationPreferencesResponse')
88
98
  GetEnrollmentStatusRequest = Shapes::StructureShape.new(name: 'GetEnrollmentStatusRequest')
89
99
  GetEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'GetEnrollmentStatusResponse')
90
100
  GetEnrollmentStatusesForOrganizationRequest = Shapes::StructureShape.new(name: 'GetEnrollmentStatusesForOrganizationRequest')
@@ -93,10 +103,16 @@ module Aws::ComputeOptimizer
93
103
  GetLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsResponse')
94
104
  GetRecommendationError = Shapes::StructureShape.new(name: 'GetRecommendationError')
95
105
  GetRecommendationErrors = Shapes::ListShape.new(name: 'GetRecommendationErrors')
106
+ GetRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'GetRecommendationPreferencesRequest')
107
+ GetRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'GetRecommendationPreferencesResponse')
96
108
  GetRecommendationSummariesRequest = Shapes::StructureShape.new(name: 'GetRecommendationSummariesRequest')
97
109
  GetRecommendationSummariesResponse = Shapes::StructureShape.new(name: 'GetRecommendationSummariesResponse')
110
+ High = Shapes::IntegerShape.new(name: 'High')
98
111
  Identifier = Shapes::StringShape.new(name: 'Identifier')
99
112
  IncludeMemberAccounts = Shapes::BooleanShape.new(name: 'IncludeMemberAccounts')
113
+ InferredWorkloadType = Shapes::StringShape.new(name: 'InferredWorkloadType')
114
+ InferredWorkloadTypes = Shapes::ListShape.new(name: 'InferredWorkloadTypes')
115
+ InferredWorkloadTypesPreference = Shapes::StringShape.new(name: 'InferredWorkloadTypesPreference')
100
116
  InstanceArn = Shapes::StringShape.new(name: 'InstanceArn')
101
117
  InstanceArns = Shapes::ListShape.new(name: 'InstanceArns')
102
118
  InstanceName = Shapes::StringShape.new(name: 'InstanceName')
@@ -136,8 +152,10 @@ module Aws::ComputeOptimizer
136
152
  LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
137
153
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
138
154
  LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
155
+ Low = Shapes::IntegerShape.new(name: 'Low')
139
156
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
140
157
  MaxSize = Shapes::IntegerShape.new(name: 'MaxSize')
158
+ Medium = Shapes::IntegerShape.new(name: 'Medium')
141
159
  MemberAccountsEnrolled = Shapes::BooleanShape.new(name: 'MemberAccountsEnrolled')
142
160
  MemorySize = Shapes::IntegerShape.new(name: 'MemorySize')
143
161
  Message = Shapes::StringShape.new(name: 'Message')
@@ -146,6 +164,7 @@ module Aws::ComputeOptimizer
146
164
  MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
147
165
  MetricValue = Shapes::FloatShape.new(name: 'MetricValue')
148
166
  MetricValues = Shapes::ListShape.new(name: 'MetricValues')
167
+ MigrationEffort = Shapes::StringShape.new(name: 'MigrationEffort')
149
168
  MinSize = Shapes::IntegerShape.new(name: 'MinSize')
150
169
  MissingAuthenticationToken = Shapes::StructureShape.new(name: 'MissingAuthenticationToken')
151
170
  NextToken = Shapes::StringShape.new(name: 'NextToken')
@@ -159,13 +178,19 @@ module Aws::ComputeOptimizer
159
178
  ProjectedMetric = Shapes::StructureShape.new(name: 'ProjectedMetric')
160
179
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
161
180
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
181
+ PutRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'PutRecommendationPreferencesRequest')
182
+ PutRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'PutRecommendationPreferencesResponse')
162
183
  Rank = Shapes::IntegerShape.new(name: 'Rank')
163
184
  ReasonCodeSummaries = Shapes::ListShape.new(name: 'ReasonCodeSummaries')
164
185
  ReasonCodeSummary = Shapes::StructureShape.new(name: 'ReasonCodeSummary')
165
186
  RecommendationExportJob = Shapes::StructureShape.new(name: 'RecommendationExportJob')
166
187
  RecommendationExportJobs = Shapes::ListShape.new(name: 'RecommendationExportJobs')
167
188
  RecommendationOptions = Shapes::ListShape.new(name: 'RecommendationOptions')
189
+ RecommendationPreferenceName = Shapes::StringShape.new(name: 'RecommendationPreferenceName')
190
+ RecommendationPreferenceNames = Shapes::ListShape.new(name: 'RecommendationPreferenceNames')
168
191
  RecommendationPreferences = Shapes::StructureShape.new(name: 'RecommendationPreferences')
192
+ RecommendationPreferencesDetail = Shapes::StructureShape.new(name: 'RecommendationPreferencesDetail')
193
+ RecommendationPreferencesDetails = Shapes::ListShape.new(name: 'RecommendationPreferencesDetails')
169
194
  RecommendationSource = Shapes::StructureShape.new(name: 'RecommendationSource')
170
195
  RecommendationSourceArn = Shapes::StringShape.new(name: 'RecommendationSourceArn')
171
196
  RecommendationSourceType = Shapes::StringShape.new(name: 'RecommendationSourceType')
@@ -175,10 +200,16 @@ module Aws::ComputeOptimizer
175
200
  RecommendedInstanceType = Shapes::StringShape.new(name: 'RecommendedInstanceType')
176
201
  RecommendedOptionProjectedMetric = Shapes::StructureShape.new(name: 'RecommendedOptionProjectedMetric')
177
202
  RecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'RecommendedOptionProjectedMetrics')
203
+ ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
178
204
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
179
205
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
180
206
  S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
181
207
  S3DestinationConfig = Shapes::StructureShape.new(name: 'S3DestinationConfig')
208
+ SavingsOpportunity = Shapes::StructureShape.new(name: 'SavingsOpportunity')
209
+ SavingsOpportunityPercentage = Shapes::FloatShape.new(name: 'SavingsOpportunityPercentage')
210
+ Scope = Shapes::StructureShape.new(name: 'Scope')
211
+ ScopeName = Shapes::StringShape.new(name: 'ScopeName')
212
+ ScopeValue = Shapes::StringShape.new(name: 'ScopeValue')
182
213
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
183
214
  Status = Shapes::StringShape.new(name: 'Status')
184
215
  StatusReason = Shapes::StringShape.new(name: 'StatusReason')
@@ -192,6 +223,8 @@ module Aws::ComputeOptimizer
192
223
  UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
193
224
  UtilizationMetric = Shapes::StructureShape.new(name: 'UtilizationMetric')
194
225
  UtilizationMetrics = Shapes::ListShape.new(name: 'UtilizationMetrics')
226
+ Value = Shapes::FloatShape.new(name: 'Value')
227
+ VeryLow = Shapes::IntegerShape.new(name: 'VeryLow')
195
228
  VolumeArn = Shapes::StringShape.new(name: 'VolumeArn')
196
229
  VolumeArns = Shapes::ListShape.new(name: 'VolumeArns')
197
230
  VolumeBaselineIOPS = Shapes::IntegerShape.new(name: 'VolumeBaselineIOPS')
@@ -236,12 +269,17 @@ module Aws::ComputeOptimizer
236
269
  AutoScalingGroupRecommendation.add_member(:current_configuration, Shapes::ShapeRef.new(shape: AutoScalingGroupConfiguration, location_name: "currentConfiguration"))
237
270
  AutoScalingGroupRecommendation.add_member(:recommendation_options, Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendationOptions, location_name: "recommendationOptions"))
238
271
  AutoScalingGroupRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
272
+ AutoScalingGroupRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
273
+ AutoScalingGroupRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: EffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
274
+ AutoScalingGroupRecommendation.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
239
275
  AutoScalingGroupRecommendation.struct_class = Types::AutoScalingGroupRecommendation
240
276
 
241
277
  AutoScalingGroupRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: AutoScalingGroupConfiguration, location_name: "configuration"))
242
278
  AutoScalingGroupRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: ProjectedUtilizationMetrics, location_name: "projectedUtilizationMetrics"))
243
279
  AutoScalingGroupRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
244
280
  AutoScalingGroupRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
281
+ AutoScalingGroupRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
282
+ AutoScalingGroupRecommendationOption.add_member(:migration_effort, Shapes::ShapeRef.new(shape: MigrationEffort, location_name: "migrationEffort"))
245
283
  AutoScalingGroupRecommendationOption.struct_class = Types::AutoScalingGroupRecommendationOption
246
284
 
247
285
  AutoScalingGroupRecommendationOptions.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendationOption)
@@ -250,6 +288,19 @@ module Aws::ComputeOptimizer
250
288
 
251
289
  CpuVendorArchitectures.member = Shapes::ShapeRef.new(shape: CpuVendorArchitecture)
252
290
 
291
+ CurrentPerformanceRiskRatings.add_member(:high, Shapes::ShapeRef.new(shape: High, location_name: "high"))
292
+ CurrentPerformanceRiskRatings.add_member(:medium, Shapes::ShapeRef.new(shape: Medium, location_name: "medium"))
293
+ CurrentPerformanceRiskRatings.add_member(:low, Shapes::ShapeRef.new(shape: Low, location_name: "low"))
294
+ CurrentPerformanceRiskRatings.add_member(:very_low, Shapes::ShapeRef.new(shape: VeryLow, location_name: "veryLow"))
295
+ CurrentPerformanceRiskRatings.struct_class = Types::CurrentPerformanceRiskRatings
296
+
297
+ DeleteRecommendationPreferencesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
298
+ DeleteRecommendationPreferencesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
299
+ DeleteRecommendationPreferencesRequest.add_member(:recommendation_preference_names, Shapes::ShapeRef.new(shape: RecommendationPreferenceNames, required: true, location_name: "recommendationPreferenceNames"))
300
+ DeleteRecommendationPreferencesRequest.struct_class = Types::DeleteRecommendationPreferencesRequest
301
+
302
+ DeleteRecommendationPreferencesResponse.struct_class = Types::DeleteRecommendationPreferencesResponse
303
+
253
304
  DescribeRecommendationExportJobsRequest.add_member(:job_ids, Shapes::ShapeRef.new(shape: JobIds, location_name: "jobIds"))
254
305
  DescribeRecommendationExportJobsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: JobFilters, location_name: "filters"))
255
306
  DescribeRecommendationExportJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
@@ -273,12 +324,21 @@ module Aws::ComputeOptimizer
273
324
 
274
325
  EBSUtilizationMetrics.member = Shapes::ShapeRef.new(shape: EBSUtilizationMetric)
275
326
 
327
+ EffectiveRecommendationPreferences.add_member(:cpu_vendor_architectures, Shapes::ShapeRef.new(shape: CpuVendorArchitectures, location_name: "cpuVendorArchitectures"))
328
+ EffectiveRecommendationPreferences.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
329
+ EffectiveRecommendationPreferences.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
330
+ EffectiveRecommendationPreferences.struct_class = Types::EffectiveRecommendationPreferences
331
+
276
332
  EnrollmentFilter.add_member(:name, Shapes::ShapeRef.new(shape: EnrollmentFilterName, location_name: "name"))
277
333
  EnrollmentFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
278
334
  EnrollmentFilter.struct_class = Types::EnrollmentFilter
279
335
 
280
336
  EnrollmentFilters.member = Shapes::ShapeRef.new(shape: EnrollmentFilter)
281
337
 
338
+ EstimatedMonthlySavings.add_member(:currency, Shapes::ShapeRef.new(shape: Currency, location_name: "currency"))
339
+ EstimatedMonthlySavings.add_member(:value, Shapes::ShapeRef.new(shape: Value, location_name: "value"))
340
+ EstimatedMonthlySavings.struct_class = Types::EstimatedMonthlySavings
341
+
282
342
  ExportAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
283
343
  ExportAutoScalingGroupRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
284
344
  ExportAutoScalingGroupRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupFields, location_name: "fieldsToExport"))
@@ -399,6 +459,12 @@ module Aws::ComputeOptimizer
399
459
  GetEC2RecommendationProjectedMetricsResponse.add_member(:recommended_option_projected_metrics, Shapes::ShapeRef.new(shape: RecommendedOptionProjectedMetrics, location_name: "recommendedOptionProjectedMetrics"))
400
460
  GetEC2RecommendationProjectedMetricsResponse.struct_class = Types::GetEC2RecommendationProjectedMetricsResponse
401
461
 
462
+ GetEffectiveRecommendationPreferencesRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
463
+ GetEffectiveRecommendationPreferencesRequest.struct_class = Types::GetEffectiveRecommendationPreferencesRequest
464
+
465
+ GetEffectiveRecommendationPreferencesResponse.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
466
+ GetEffectiveRecommendationPreferencesResponse.struct_class = Types::GetEffectiveRecommendationPreferencesResponse
467
+
402
468
  GetEnrollmentStatusRequest.struct_class = Types::GetEnrollmentStatusRequest
403
469
 
404
470
  GetEnrollmentStatusResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "status"))
@@ -435,6 +501,16 @@ module Aws::ComputeOptimizer
435
501
 
436
502
  GetRecommendationErrors.member = Shapes::ShapeRef.new(shape: GetRecommendationError)
437
503
 
504
+ GetRecommendationPreferencesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
505
+ GetRecommendationPreferencesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
506
+ GetRecommendationPreferencesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
507
+ GetRecommendationPreferencesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
508
+ GetRecommendationPreferencesRequest.struct_class = Types::GetRecommendationPreferencesRequest
509
+
510
+ GetRecommendationPreferencesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
511
+ GetRecommendationPreferencesResponse.add_member(:recommendation_preferences_details, Shapes::ShapeRef.new(shape: RecommendationPreferencesDetails, location_name: "recommendationPreferencesDetails"))
512
+ GetRecommendationPreferencesResponse.struct_class = Types::GetRecommendationPreferencesResponse
513
+
438
514
  GetRecommendationSummariesRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
439
515
  GetRecommendationSummariesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
440
516
  GetRecommendationSummariesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
@@ -444,6 +520,8 @@ module Aws::ComputeOptimizer
444
520
  GetRecommendationSummariesResponse.add_member(:recommendation_summaries, Shapes::ShapeRef.new(shape: RecommendationSummaries, location_name: "recommendationSummaries"))
445
521
  GetRecommendationSummariesResponse.struct_class = Types::GetRecommendationSummariesResponse
446
522
 
523
+ InferredWorkloadTypes.member = Shapes::ShapeRef.new(shape: InferredWorkloadType)
524
+
447
525
  InstanceArns.member = Shapes::ShapeRef.new(shape: InstanceArn)
448
526
 
449
527
  InstanceRecommendation.add_member(:instance_arn, Shapes::ShapeRef.new(shape: InstanceArn, location_name: "instanceArn"))
@@ -457,6 +535,9 @@ module Aws::ComputeOptimizer
457
535
  InstanceRecommendation.add_member(:recommendation_options, Shapes::ShapeRef.new(shape: RecommendationOptions, location_name: "recommendationOptions"))
458
536
  InstanceRecommendation.add_member(:recommendation_sources, Shapes::ShapeRef.new(shape: RecommendationSources, location_name: "recommendationSources"))
459
537
  InstanceRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
538
+ InstanceRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
539
+ InstanceRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: EffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
540
+ InstanceRecommendation.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
460
541
  InstanceRecommendation.struct_class = Types::InstanceRecommendation
461
542
 
462
543
  InstanceRecommendationFindingReasonCodes.member = Shapes::ShapeRef.new(shape: InstanceRecommendationFindingReasonCode)
@@ -466,6 +547,8 @@ module Aws::ComputeOptimizer
466
547
  InstanceRecommendationOption.add_member(:platform_differences, Shapes::ShapeRef.new(shape: PlatformDifferences, location_name: "platformDifferences"))
467
548
  InstanceRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
468
549
  InstanceRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
550
+ InstanceRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
551
+ InstanceRecommendationOption.add_member(:migration_effort, Shapes::ShapeRef.new(shape: MigrationEffort, location_name: "migrationEffort"))
469
552
  InstanceRecommendationOption.struct_class = Types::InstanceRecommendationOption
470
553
 
471
554
  InstanceRecommendations.member = Shapes::ShapeRef.new(shape: InstanceRecommendation)
@@ -494,6 +577,7 @@ module Aws::ComputeOptimizer
494
577
  LambdaFunctionMemoryRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
495
578
  LambdaFunctionMemoryRecommendationOption.add_member(:memory_size, Shapes::ShapeRef.new(shape: MemorySize, location_name: "memorySize"))
496
579
  LambdaFunctionMemoryRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryProjectedMetrics, location_name: "projectedUtilizationMetrics"))
580
+ LambdaFunctionMemoryRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
497
581
  LambdaFunctionMemoryRecommendationOption.struct_class = Types::LambdaFunctionMemoryRecommendationOption
498
582
 
499
583
  LambdaFunctionMemoryRecommendationOptions.member = Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOption)
@@ -509,6 +593,7 @@ module Aws::ComputeOptimizer
509
593
  LambdaFunctionRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFinding, location_name: "finding"))
510
594
  LambdaFunctionRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFindingReasonCodes, location_name: "findingReasonCodes"))
511
595
  LambdaFunctionRecommendation.add_member(:memory_size_recommendation_options, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOptions, location_name: "memorySizeRecommendationOptions"))
596
+ LambdaFunctionRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
512
597
  LambdaFunctionRecommendation.struct_class = Types::LambdaFunctionRecommendation
513
598
 
514
599
  LambdaFunctionRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilterName, location_name: "name"))
@@ -550,6 +635,14 @@ module Aws::ComputeOptimizer
550
635
 
551
636
  ProjectedUtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
552
637
 
638
+ PutRecommendationPreferencesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
639
+ PutRecommendationPreferencesRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
640
+ PutRecommendationPreferencesRequest.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
641
+ PutRecommendationPreferencesRequest.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
642
+ PutRecommendationPreferencesRequest.struct_class = Types::PutRecommendationPreferencesRequest
643
+
644
+ PutRecommendationPreferencesResponse.struct_class = Types::PutRecommendationPreferencesResponse
645
+
553
646
  ReasonCodeSummaries.member = Shapes::ShapeRef.new(shape: ReasonCodeSummary)
554
647
 
555
648
  ReasonCodeSummary.add_member(:name, Shapes::ShapeRef.new(shape: FindingReasonCode, location_name: "name"))
@@ -569,9 +662,19 @@ module Aws::ComputeOptimizer
569
662
 
570
663
  RecommendationOptions.member = Shapes::ShapeRef.new(shape: InstanceRecommendationOption)
571
664
 
665
+ RecommendationPreferenceNames.member = Shapes::ShapeRef.new(shape: RecommendationPreferenceName)
666
+
572
667
  RecommendationPreferences.add_member(:cpu_vendor_architectures, Shapes::ShapeRef.new(shape: CpuVendorArchitectures, location_name: "cpuVendorArchitectures"))
573
668
  RecommendationPreferences.struct_class = Types::RecommendationPreferences
574
669
 
670
+ RecommendationPreferencesDetail.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
671
+ RecommendationPreferencesDetail.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
672
+ RecommendationPreferencesDetail.add_member(:enhanced_infrastructure_metrics, Shapes::ShapeRef.new(shape: EnhancedInfrastructureMetrics, location_name: "enhancedInfrastructureMetrics"))
673
+ RecommendationPreferencesDetail.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypesPreference, location_name: "inferredWorkloadTypes"))
674
+ RecommendationPreferencesDetail.struct_class = Types::RecommendationPreferencesDetail
675
+
676
+ RecommendationPreferencesDetails.member = Shapes::ShapeRef.new(shape: RecommendationPreferencesDetail)
677
+
575
678
  RecommendationSource.add_member(:recommendation_source_arn, Shapes::ShapeRef.new(shape: RecommendationSourceArn, location_name: "recommendationSourceArn"))
576
679
  RecommendationSource.add_member(:recommendation_source_type, Shapes::ShapeRef.new(shape: RecommendationSourceType, location_name: "recommendationSourceType"))
577
680
  RecommendationSource.struct_class = Types::RecommendationSource
@@ -583,6 +686,8 @@ module Aws::ComputeOptimizer
583
686
  RecommendationSummary.add_member(:summaries, Shapes::ShapeRef.new(shape: Summaries, location_name: "summaries"))
584
687
  RecommendationSummary.add_member(:recommendation_resource_type, Shapes::ShapeRef.new(shape: RecommendationSourceType, location_name: "recommendationResourceType"))
585
688
  RecommendationSummary.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
689
+ RecommendationSummary.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
690
+ RecommendationSummary.add_member(:current_performance_risk_ratings, Shapes::ShapeRef.new(shape: CurrentPerformanceRiskRatings, location_name: "currentPerformanceRiskRatings"))
586
691
  RecommendationSummary.struct_class = Types::RecommendationSummary
587
692
 
588
693
  RecommendedOptionProjectedMetric.add_member(:recommended_instance_type, Shapes::ShapeRef.new(shape: RecommendedInstanceType, location_name: "recommendedInstanceType"))
@@ -604,6 +709,14 @@ module Aws::ComputeOptimizer
604
709
  S3DestinationConfig.add_member(:key_prefix, Shapes::ShapeRef.new(shape: DestinationKeyPrefix, location_name: "keyPrefix"))
605
710
  S3DestinationConfig.struct_class = Types::S3DestinationConfig
606
711
 
712
+ SavingsOpportunity.add_member(:savings_opportunity_percentage, Shapes::ShapeRef.new(shape: SavingsOpportunityPercentage, location_name: "savingsOpportunityPercentage"))
713
+ SavingsOpportunity.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: EstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
714
+ SavingsOpportunity.struct_class = Types::SavingsOpportunity
715
+
716
+ Scope.add_member(:name, Shapes::ShapeRef.new(shape: ScopeName, location_name: "name"))
717
+ Scope.add_member(:value, Shapes::ShapeRef.new(shape: ScopeValue, location_name: "value"))
718
+ Scope.struct_class = Types::Scope
719
+
607
720
  ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
608
721
  ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
609
722
 
@@ -652,11 +765,13 @@ module Aws::ComputeOptimizer
652
765
  VolumeRecommendation.add_member(:look_back_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookBackPeriodInDays"))
653
766
  VolumeRecommendation.add_member(:volume_recommendation_options, Shapes::ShapeRef.new(shape: VolumeRecommendationOptions, location_name: "volumeRecommendationOptions"))
654
767
  VolumeRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
768
+ VolumeRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
655
769
  VolumeRecommendation.struct_class = Types::VolumeRecommendation
656
770
 
657
771
  VolumeRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "configuration"))
658
772
  VolumeRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
659
773
  VolumeRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
774
+ VolumeRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
660
775
  VolumeRecommendationOption.struct_class = Types::VolumeRecommendationOption
661
776
 
662
777
  VolumeRecommendationOptions.member = Shapes::ShapeRef.new(shape: VolumeRecommendationOption)
@@ -682,6 +797,22 @@ module Aws::ComputeOptimizer
682
797
  "uid" => "compute-optimizer-2019-11-01",
683
798
  }
684
799
 
800
+ api.add_operation(:delete_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
801
+ o.name = "DeleteRecommendationPreferences"
802
+ o.http_method = "POST"
803
+ o.http_request_uri = "/"
804
+ o.input = Shapes::ShapeRef.new(shape: DeleteRecommendationPreferencesRequest)
805
+ o.output = Shapes::ShapeRef.new(shape: DeleteRecommendationPreferencesResponse)
806
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
807
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
808
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
809
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
810
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
811
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
812
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
813
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
814
+ end)
815
+
685
816
  api.add_operation(:describe_recommendation_export_jobs, Seahorse::Model::Operation.new.tap do |o|
686
817
  o.name = "DescribeRecommendationExportJobs"
687
818
  o.http_method = "POST"
@@ -826,6 +957,22 @@ module Aws::ComputeOptimizer
826
957
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
827
958
  end)
828
959
 
960
+ api.add_operation(:get_effective_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
961
+ o.name = "GetEffectiveRecommendationPreferences"
962
+ o.http_method = "POST"
963
+ o.http_request_uri = "/"
964
+ o.input = Shapes::ShapeRef.new(shape: GetEffectiveRecommendationPreferencesRequest)
965
+ o.output = Shapes::ShapeRef.new(shape: GetEffectiveRecommendationPreferencesResponse)
966
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
967
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
968
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
969
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
970
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
971
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
972
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
973
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
974
+ end)
975
+
829
976
  api.add_operation(:get_enrollment_status, Seahorse::Model::Operation.new.tap do |o|
830
977
  o.name = "GetEnrollmentStatus"
831
978
  o.http_method = "POST"
@@ -870,6 +1017,22 @@ module Aws::ComputeOptimizer
870
1017
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
871
1018
  end)
872
1019
 
1020
+ api.add_operation(:get_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
1021
+ o.name = "GetRecommendationPreferences"
1022
+ o.http_method = "POST"
1023
+ o.http_request_uri = "/"
1024
+ o.input = Shapes::ShapeRef.new(shape: GetRecommendationPreferencesRequest)
1025
+ o.output = Shapes::ShapeRef.new(shape: GetRecommendationPreferencesResponse)
1026
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1027
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1028
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1029
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1030
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1031
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1032
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1033
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1034
+ end)
1035
+
873
1036
  api.add_operation(:get_recommendation_summaries, Seahorse::Model::Operation.new.tap do |o|
874
1037
  o.name = "GetRecommendationSummaries"
875
1038
  o.http_method = "POST"
@@ -885,6 +1048,22 @@ module Aws::ComputeOptimizer
885
1048
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
886
1049
  end)
887
1050
 
1051
+ api.add_operation(:put_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
1052
+ o.name = "PutRecommendationPreferences"
1053
+ o.http_method = "POST"
1054
+ o.http_request_uri = "/"
1055
+ o.input = Shapes::ShapeRef.new(shape: PutRecommendationPreferencesRequest)
1056
+ o.output = Shapes::ShapeRef.new(shape: PutRecommendationPreferencesResponse)
1057
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1058
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1059
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1060
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1061
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1062
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1063
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1064
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1065
+ end)
1066
+
888
1067
  api.add_operation(:update_enrollment_status, Seahorse::Model::Operation.new.tap do |o|
889
1068
  o.name = "UpdateEnrollmentStatus"
890
1069
  o.http_method = "POST"