aws-sdk-computeoptimizer 1.46.0 → 1.48.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.
@@ -95,6 +95,8 @@ module Aws::ComputeOptimizer
95
95
  ExportECSServiceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportECSServiceRecommendationsResponse')
96
96
  ExportLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsRequest')
97
97
  ExportLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsResponse')
98
+ ExportLicenseRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLicenseRecommendationsRequest')
99
+ ExportLicenseRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLicenseRecommendationsResponse')
98
100
  ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
99
101
  ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
100
102
  ExportableECSServiceField = Shapes::StringShape.new(name: 'ExportableECSServiceField')
@@ -103,6 +105,8 @@ module Aws::ComputeOptimizer
103
105
  ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
104
106
  ExportableLambdaFunctionField = Shapes::StringShape.new(name: 'ExportableLambdaFunctionField')
105
107
  ExportableLambdaFunctionFields = Shapes::ListShape.new(name: 'ExportableLambdaFunctionFields')
108
+ ExportableLicenseField = Shapes::StringShape.new(name: 'ExportableLicenseField')
109
+ ExportableLicenseFields = Shapes::ListShape.new(name: 'ExportableLicenseFields')
106
110
  ExportableVolumeField = Shapes::StringShape.new(name: 'ExportableVolumeField')
107
111
  ExportableVolumeFields = Shapes::ListShape.new(name: 'ExportableVolumeFields')
108
112
  ExternalMetricStatus = Shapes::StructureShape.new(name: 'ExternalMetricStatus')
@@ -142,12 +146,19 @@ module Aws::ComputeOptimizer
142
146
  GetEnrollmentStatusesForOrganizationResponse = Shapes::StructureShape.new(name: 'GetEnrollmentStatusesForOrganizationResponse')
143
147
  GetLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsRequest')
144
148
  GetLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsResponse')
149
+ GetLicenseRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLicenseRecommendationsRequest')
150
+ GetLicenseRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLicenseRecommendationsResponse')
145
151
  GetRecommendationError = Shapes::StructureShape.new(name: 'GetRecommendationError')
146
152
  GetRecommendationErrors = Shapes::ListShape.new(name: 'GetRecommendationErrors')
147
153
  GetRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'GetRecommendationPreferencesRequest')
148
154
  GetRecommendationPreferencesResponse = Shapes::StructureShape.new(name: 'GetRecommendationPreferencesResponse')
149
155
  GetRecommendationSummariesRequest = Shapes::StructureShape.new(name: 'GetRecommendationSummariesRequest')
150
156
  GetRecommendationSummariesResponse = Shapes::StructureShape.new(name: 'GetRecommendationSummariesResponse')
157
+ Gpu = Shapes::StructureShape.new(name: 'Gpu')
158
+ GpuCount = Shapes::IntegerShape.new(name: 'GpuCount')
159
+ GpuInfo = Shapes::StructureShape.new(name: 'GpuInfo')
160
+ GpuMemorySizeInMiB = Shapes::IntegerShape.new(name: 'GpuMemorySizeInMiB')
161
+ Gpus = Shapes::ListShape.new(name: 'Gpus')
151
162
  High = Shapes::IntegerShape.new(name: 'High')
152
163
  Identifier = Shapes::StringShape.new(name: 'Identifier')
153
164
  IncludeMemberAccounts = Shapes::BooleanShape.new(name: 'IncludeMemberAccounts')
@@ -158,6 +169,7 @@ module Aws::ComputeOptimizer
158
169
  InferredWorkloadTypesPreference = Shapes::StringShape.new(name: 'InferredWorkloadTypesPreference')
159
170
  InstanceArn = Shapes::StringShape.new(name: 'InstanceArn')
160
171
  InstanceArns = Shapes::ListShape.new(name: 'InstanceArns')
172
+ InstanceIdle = Shapes::StringShape.new(name: 'InstanceIdle')
161
173
  InstanceName = Shapes::StringShape.new(name: 'InstanceName')
162
174
  InstanceRecommendation = Shapes::StructureShape.new(name: 'InstanceRecommendation')
163
175
  InstanceRecommendationFindingReasonCode = Shapes::StringShape.new(name: 'InstanceRecommendationFindingReasonCode')
@@ -194,6 +206,21 @@ module Aws::ComputeOptimizer
194
206
  LambdaFunctionUtilizationMetrics = Shapes::ListShape.new(name: 'LambdaFunctionUtilizationMetrics')
195
207
  LastRefreshTimestamp = Shapes::TimestampShape.new(name: 'LastRefreshTimestamp')
196
208
  LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
209
+ LicenseConfiguration = Shapes::StructureShape.new(name: 'LicenseConfiguration')
210
+ LicenseEdition = Shapes::StringShape.new(name: 'LicenseEdition')
211
+ LicenseFinding = Shapes::StringShape.new(name: 'LicenseFinding')
212
+ LicenseFindingReasonCode = Shapes::StringShape.new(name: 'LicenseFindingReasonCode')
213
+ LicenseFindingReasonCodes = Shapes::ListShape.new(name: 'LicenseFindingReasonCodes')
214
+ LicenseModel = Shapes::StringShape.new(name: 'LicenseModel')
215
+ LicenseName = Shapes::StringShape.new(name: 'LicenseName')
216
+ LicenseRecommendation = Shapes::StructureShape.new(name: 'LicenseRecommendation')
217
+ LicenseRecommendationFilter = Shapes::StructureShape.new(name: 'LicenseRecommendationFilter')
218
+ LicenseRecommendationFilterName = Shapes::StringShape.new(name: 'LicenseRecommendationFilterName')
219
+ LicenseRecommendationFilters = Shapes::ListShape.new(name: 'LicenseRecommendationFilters')
220
+ LicenseRecommendationOption = Shapes::StructureShape.new(name: 'LicenseRecommendationOption')
221
+ LicenseRecommendationOptions = Shapes::ListShape.new(name: 'LicenseRecommendationOptions')
222
+ LicenseRecommendations = Shapes::ListShape.new(name: 'LicenseRecommendations')
223
+ LicenseVersion = Shapes::StringShape.new(name: 'LicenseVersion')
197
224
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
198
225
  LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
199
226
  Low = Shapes::IntegerShape.new(name: 'Low')
@@ -207,9 +234,13 @@ module Aws::ComputeOptimizer
207
234
  Message = Shapes::StringShape.new(name: 'Message')
208
235
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
209
236
  MetricName = Shapes::StringShape.new(name: 'MetricName')
237
+ MetricProviderArn = Shapes::StringShape.new(name: 'MetricProviderArn')
238
+ MetricSource = Shapes::StructureShape.new(name: 'MetricSource')
239
+ MetricSourceProvider = Shapes::StringShape.new(name: 'MetricSourceProvider')
210
240
  MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
211
241
  MetricValue = Shapes::FloatShape.new(name: 'MetricValue')
212
242
  MetricValues = Shapes::ListShape.new(name: 'MetricValues')
243
+ MetricsSource = Shapes::ListShape.new(name: 'MetricsSource')
213
244
  MigrationEffort = Shapes::StringShape.new(name: 'MigrationEffort')
214
245
  MinSize = Shapes::IntegerShape.new(name: 'MinSize')
215
246
  MissingAuthenticationToken = Shapes::StructureShape.new(name: 'MissingAuthenticationToken')
@@ -217,8 +248,10 @@ module Aws::ComputeOptimizer
217
248
  NullableCpu = Shapes::IntegerShape.new(name: 'NullableCpu')
218
249
  NullableMemory = Shapes::IntegerShape.new(name: 'NullableMemory')
219
250
  NullableMemoryReservation = Shapes::IntegerShape.new(name: 'NullableMemoryReservation')
251
+ NumberOfCores = Shapes::IntegerShape.new(name: 'NumberOfCores')
220
252
  NumberOfInvocations = Shapes::IntegerShape.new(name: 'NumberOfInvocations')
221
253
  NumberOfMemberAccountsOptedIn = Shapes::IntegerShape.new(name: 'NumberOfMemberAccountsOptedIn')
254
+ OperatingSystem = Shapes::StringShape.new(name: 'OperatingSystem')
222
255
  OptInRequiredException = Shapes::StructureShape.new(name: 'OptInRequiredException')
223
256
  PerformanceRisk = Shapes::FloatShape.new(name: 'PerformanceRisk')
224
257
  Period = Shapes::IntegerShape.new(name: 'Period')
@@ -250,6 +283,7 @@ module Aws::ComputeOptimizer
250
283
  RecommendedOptionProjectedMetric = Shapes::StructureShape.new(name: 'RecommendedOptionProjectedMetric')
251
284
  RecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'RecommendedOptionProjectedMetrics')
252
285
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
286
+ ResourceArns = Shapes::ListShape.new(name: 'ResourceArns')
253
287
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
254
288
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
255
289
  RootVolume = Shapes::BooleanShape.new(name: 'RootVolume')
@@ -331,6 +365,7 @@ module Aws::ComputeOptimizer
331
365
  AutoScalingGroupRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
332
366
  AutoScalingGroupRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: EffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
333
367
  AutoScalingGroupRecommendation.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
368
+ AutoScalingGroupRecommendation.add_member(:current_instance_gpu_info, Shapes::ShapeRef.new(shape: GpuInfo, location_name: "currentInstanceGpuInfo"))
334
369
  AutoScalingGroupRecommendation.struct_class = Types::AutoScalingGroupRecommendation
335
370
 
336
371
  AutoScalingGroupRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: AutoScalingGroupConfiguration, location_name: "configuration"))
@@ -339,6 +374,7 @@ module Aws::ComputeOptimizer
339
374
  AutoScalingGroupRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
340
375
  AutoScalingGroupRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
341
376
  AutoScalingGroupRecommendationOption.add_member(:migration_effort, Shapes::ShapeRef.new(shape: MigrationEffort, location_name: "migrationEffort"))
377
+ AutoScalingGroupRecommendationOption.add_member(:instance_gpu_info, Shapes::ShapeRef.new(shape: GpuInfo, location_name: "instanceGpuInfo"))
342
378
  AutoScalingGroupRecommendationOption.struct_class = Types::AutoScalingGroupRecommendationOption
343
379
 
344
380
  AutoScalingGroupRecommendationOptions.member = Shapes::ShapeRef.new(shape: AutoScalingGroupRecommendationOption)
@@ -541,6 +577,18 @@ module Aws::ComputeOptimizer
541
577
  ExportLambdaFunctionRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
542
578
  ExportLambdaFunctionRecommendationsResponse.struct_class = Types::ExportLambdaFunctionRecommendationsResponse
543
579
 
580
+ ExportLicenseRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
581
+ ExportLicenseRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LicenseRecommendationFilters, location_name: "filters"))
582
+ ExportLicenseRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableLicenseFields, location_name: "fieldsToExport"))
583
+ ExportLicenseRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
584
+ ExportLicenseRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
585
+ ExportLicenseRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
586
+ ExportLicenseRecommendationsRequest.struct_class = Types::ExportLicenseRecommendationsRequest
587
+
588
+ ExportLicenseRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
589
+ ExportLicenseRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
590
+ ExportLicenseRecommendationsResponse.struct_class = Types::ExportLicenseRecommendationsResponse
591
+
544
592
  ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
545
593
 
546
594
  ExportableECSServiceFields.member = Shapes::ShapeRef.new(shape: ExportableECSServiceField)
@@ -549,6 +597,8 @@ module Aws::ComputeOptimizer
549
597
 
550
598
  ExportableLambdaFunctionFields.member = Shapes::ShapeRef.new(shape: ExportableLambdaFunctionField)
551
599
 
600
+ ExportableLicenseFields.member = Shapes::ShapeRef.new(shape: ExportableLicenseField)
601
+
552
602
  ExportableVolumeFields.member = Shapes::ShapeRef.new(shape: ExportableVolumeField)
553
603
 
554
604
  ExternalMetricStatus.add_member(:status_code, Shapes::ShapeRef.new(shape: ExternalMetricStatusCode, location_name: "statusCode"))
@@ -675,6 +725,18 @@ module Aws::ComputeOptimizer
675
725
  GetLambdaFunctionRecommendationsResponse.add_member(:lambda_function_recommendations, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendations, location_name: "lambdaFunctionRecommendations"))
676
726
  GetLambdaFunctionRecommendationsResponse.struct_class = Types::GetLambdaFunctionRecommendationsResponse
677
727
 
728
+ GetLicenseRecommendationsRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArns, location_name: "resourceArns"))
729
+ GetLicenseRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
730
+ GetLicenseRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
731
+ GetLicenseRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LicenseRecommendationFilters, location_name: "filters"))
732
+ GetLicenseRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
733
+ GetLicenseRecommendationsRequest.struct_class = Types::GetLicenseRecommendationsRequest
734
+
735
+ GetLicenseRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
736
+ GetLicenseRecommendationsResponse.add_member(:license_recommendations, Shapes::ShapeRef.new(shape: LicenseRecommendations, location_name: "licenseRecommendations"))
737
+ GetLicenseRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
738
+ GetLicenseRecommendationsResponse.struct_class = Types::GetLicenseRecommendationsResponse
739
+
678
740
  GetRecommendationError.add_member(:identifier, Shapes::ShapeRef.new(shape: Identifier, location_name: "identifier"))
679
741
  GetRecommendationError.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "code"))
680
742
  GetRecommendationError.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "message"))
@@ -701,6 +763,15 @@ module Aws::ComputeOptimizer
701
763
  GetRecommendationSummariesResponse.add_member(:recommendation_summaries, Shapes::ShapeRef.new(shape: RecommendationSummaries, location_name: "recommendationSummaries"))
702
764
  GetRecommendationSummariesResponse.struct_class = Types::GetRecommendationSummariesResponse
703
765
 
766
+ Gpu.add_member(:gpu_count, Shapes::ShapeRef.new(shape: GpuCount, location_name: "gpuCount"))
767
+ Gpu.add_member(:gpu_memory_size_in_mi_b, Shapes::ShapeRef.new(shape: GpuMemorySizeInMiB, location_name: "gpuMemorySizeInMiB"))
768
+ Gpu.struct_class = Types::Gpu
769
+
770
+ GpuInfo.add_member(:gpus, Shapes::ShapeRef.new(shape: Gpus, location_name: "gpus"))
771
+ GpuInfo.struct_class = Types::GpuInfo
772
+
773
+ Gpus.member = Shapes::ShapeRef.new(shape: Gpu)
774
+
704
775
  InferredWorkloadSaving.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
705
776
  InferredWorkloadSaving.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: EstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
706
777
  InferredWorkloadSaving.struct_class = Types::InferredWorkloadSaving
@@ -728,6 +799,8 @@ module Aws::ComputeOptimizer
728
799
  InstanceRecommendation.add_member(:instance_state, Shapes::ShapeRef.new(shape: InstanceState, location_name: "instanceState"))
729
800
  InstanceRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
730
801
  InstanceRecommendation.add_member(:external_metric_status, Shapes::ShapeRef.new(shape: ExternalMetricStatus, location_name: "externalMetricStatus"))
802
+ InstanceRecommendation.add_member(:current_instance_gpu_info, Shapes::ShapeRef.new(shape: GpuInfo, location_name: "currentInstanceGpuInfo"))
803
+ InstanceRecommendation.add_member(:idle, Shapes::ShapeRef.new(shape: InstanceIdle, location_name: "idle"))
731
804
  InstanceRecommendation.struct_class = Types::InstanceRecommendation
732
805
 
733
806
  InstanceRecommendationFindingReasonCodes.member = Shapes::ShapeRef.new(shape: InstanceRecommendationFindingReasonCode)
@@ -739,6 +812,7 @@ module Aws::ComputeOptimizer
739
812
  InstanceRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
740
813
  InstanceRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
741
814
  InstanceRecommendationOption.add_member(:migration_effort, Shapes::ShapeRef.new(shape: MigrationEffort, location_name: "migrationEffort"))
815
+ InstanceRecommendationOption.add_member(:instance_gpu_info, Shapes::ShapeRef.new(shape: GpuInfo, location_name: "instanceGpuInfo"))
742
816
  InstanceRecommendationOption.struct_class = Types::InstanceRecommendationOption
743
817
 
744
818
  InstanceRecommendations.member = Shapes::ShapeRef.new(shape: InstanceRecommendation)
@@ -804,6 +878,46 @@ module Aws::ComputeOptimizer
804
878
 
805
879
  LambdaFunctionUtilizationMetrics.member = Shapes::ShapeRef.new(shape: LambdaFunctionUtilizationMetric)
806
880
 
881
+ LicenseConfiguration.add_member(:number_of_cores, Shapes::ShapeRef.new(shape: NumberOfCores, location_name: "numberOfCores"))
882
+ LicenseConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "instanceType"))
883
+ LicenseConfiguration.add_member(:operating_system, Shapes::ShapeRef.new(shape: OperatingSystem, location_name: "operatingSystem"))
884
+ LicenseConfiguration.add_member(:license_edition, Shapes::ShapeRef.new(shape: LicenseEdition, location_name: "licenseEdition"))
885
+ LicenseConfiguration.add_member(:license_name, Shapes::ShapeRef.new(shape: LicenseName, location_name: "licenseName"))
886
+ LicenseConfiguration.add_member(:license_model, Shapes::ShapeRef.new(shape: LicenseModel, location_name: "licenseModel"))
887
+ LicenseConfiguration.add_member(:license_version, Shapes::ShapeRef.new(shape: LicenseVersion, location_name: "licenseVersion"))
888
+ LicenseConfiguration.add_member(:metrics_source, Shapes::ShapeRef.new(shape: MetricsSource, location_name: "metricsSource"))
889
+ LicenseConfiguration.struct_class = Types::LicenseConfiguration
890
+
891
+ LicenseFindingReasonCodes.member = Shapes::ShapeRef.new(shape: LicenseFindingReasonCode)
892
+
893
+ LicenseRecommendation.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "resourceArn"))
894
+ LicenseRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
895
+ LicenseRecommendation.add_member(:current_license_configuration, Shapes::ShapeRef.new(shape: LicenseConfiguration, location_name: "currentLicenseConfiguration"))
896
+ LicenseRecommendation.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookbackPeriodInDays"))
897
+ LicenseRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
898
+ LicenseRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: LicenseFinding, location_name: "finding"))
899
+ LicenseRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: LicenseFindingReasonCodes, location_name: "findingReasonCodes"))
900
+ LicenseRecommendation.add_member(:license_recommendation_options, Shapes::ShapeRef.new(shape: LicenseRecommendationOptions, location_name: "licenseRecommendationOptions"))
901
+ LicenseRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
902
+ LicenseRecommendation.struct_class = Types::LicenseRecommendation
903
+
904
+ LicenseRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LicenseRecommendationFilterName, location_name: "name"))
905
+ LicenseRecommendationFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
906
+ LicenseRecommendationFilter.struct_class = Types::LicenseRecommendationFilter
907
+
908
+ LicenseRecommendationFilters.member = Shapes::ShapeRef.new(shape: LicenseRecommendationFilter)
909
+
910
+ LicenseRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
911
+ LicenseRecommendationOption.add_member(:operating_system, Shapes::ShapeRef.new(shape: OperatingSystem, location_name: "operatingSystem"))
912
+ LicenseRecommendationOption.add_member(:license_edition, Shapes::ShapeRef.new(shape: LicenseEdition, location_name: "licenseEdition"))
913
+ LicenseRecommendationOption.add_member(:license_model, Shapes::ShapeRef.new(shape: LicenseModel, location_name: "licenseModel"))
914
+ LicenseRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
915
+ LicenseRecommendationOption.struct_class = Types::LicenseRecommendationOption
916
+
917
+ LicenseRecommendationOptions.member = Shapes::ShapeRef.new(shape: LicenseRecommendationOption)
918
+
919
+ LicenseRecommendations.member = Shapes::ShapeRef.new(shape: LicenseRecommendation)
920
+
807
921
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
808
922
  LimitExceededException.struct_class = Types::LimitExceededException
809
923
 
@@ -811,8 +925,14 @@ module Aws::ComputeOptimizer
811
925
  MemorySizeConfiguration.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: NullableMemoryReservation, location_name: "memoryReservation"))
812
926
  MemorySizeConfiguration.struct_class = Types::MemorySizeConfiguration
813
927
 
928
+ MetricSource.add_member(:provider, Shapes::ShapeRef.new(shape: MetricSourceProvider, location_name: "provider"))
929
+ MetricSource.add_member(:provider_arn, Shapes::ShapeRef.new(shape: MetricProviderArn, location_name: "providerArn"))
930
+ MetricSource.struct_class = Types::MetricSource
931
+
814
932
  MetricValues.member = Shapes::ShapeRef.new(shape: MetricValue)
815
933
 
934
+ MetricsSource.member = Shapes::ShapeRef.new(shape: MetricSource)
935
+
816
936
  MissingAuthenticationToken.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
817
937
  MissingAuthenticationToken.struct_class = Types::MissingAuthenticationToken
818
938
 
@@ -895,6 +1015,8 @@ module Aws::ComputeOptimizer
895
1015
 
896
1016
  RecommendedOptionProjectedMetrics.member = Shapes::ShapeRef.new(shape: RecommendedOptionProjectedMetric)
897
1017
 
1018
+ ResourceArns.member = Shapes::ShapeRef.new(shape: ResourceArn)
1019
+
898
1020
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
899
1021
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
900
1022
 
@@ -1130,6 +1252,22 @@ module Aws::ComputeOptimizer
1130
1252
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1131
1253
  end)
1132
1254
 
1255
+ api.add_operation(:export_license_recommendations, Seahorse::Model::Operation.new.tap do |o|
1256
+ o.name = "ExportLicenseRecommendations"
1257
+ o.http_method = "POST"
1258
+ o.http_request_uri = "/"
1259
+ o.input = Shapes::ShapeRef.new(shape: ExportLicenseRecommendationsRequest)
1260
+ o.output = Shapes::ShapeRef.new(shape: ExportLicenseRecommendationsResponse)
1261
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1262
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1263
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1264
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1265
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1266
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1267
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1268
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1269
+ end)
1270
+
1133
1271
  api.add_operation(:get_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
1134
1272
  o.name = "GetAutoScalingGroupRecommendations"
1135
1273
  o.http_method = "POST"
@@ -1298,6 +1436,22 @@ module Aws::ComputeOptimizer
1298
1436
  )
1299
1437
  end)
1300
1438
 
1439
+ api.add_operation(:get_license_recommendations, Seahorse::Model::Operation.new.tap do |o|
1440
+ o.name = "GetLicenseRecommendations"
1441
+ o.http_method = "POST"
1442
+ o.http_request_uri = "/"
1443
+ o.input = Shapes::ShapeRef.new(shape: GetLicenseRecommendationsRequest)
1444
+ o.output = Shapes::ShapeRef.new(shape: GetLicenseRecommendationsResponse)
1445
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
1446
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1447
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1448
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1449
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
1450
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1451
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
1452
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1453
+ end)
1454
+
1301
1455
  api.add_operation(:get_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
1302
1456
  o.name = "GetRecommendationPreferences"
1303
1457
  o.http_method = "POST"
@@ -110,6 +110,20 @@ module Aws::ComputeOptimizer
110
110
  end
111
111
  end
112
112
 
113
+ class ExportLicenseRecommendations
114
+ def self.build(context)
115
+ unless context.config.regional_endpoint
116
+ endpoint = context.config.endpoint.to_s
117
+ end
118
+ Aws::ComputeOptimizer::EndpointParameters.new(
119
+ region: context.config.region,
120
+ use_dual_stack: context.config.use_dualstack_endpoint,
121
+ use_fips: context.config.use_fips_endpoint,
122
+ endpoint: endpoint,
123
+ )
124
+ end
125
+ end
126
+
113
127
  class GetAutoScalingGroupRecommendations
114
128
  def self.build(context)
115
129
  unless context.config.regional_endpoint
@@ -250,6 +264,20 @@ module Aws::ComputeOptimizer
250
264
  end
251
265
  end
252
266
 
267
+ class GetLicenseRecommendations
268
+ def self.build(context)
269
+ unless context.config.regional_endpoint
270
+ endpoint = context.config.endpoint.to_s
271
+ end
272
+ Aws::ComputeOptimizer::EndpointParameters.new(
273
+ region: context.config.region,
274
+ use_dual_stack: context.config.use_dualstack_endpoint,
275
+ use_fips: context.config.use_fips_endpoint,
276
+ endpoint: endpoint,
277
+ )
278
+ end
279
+ end
280
+
253
281
  class GetRecommendationPreferences
254
282
  def self.build(context)
255
283
  unless context.config.regional_endpoint
@@ -70,6 +70,8 @@ module Aws::ComputeOptimizer
70
70
  Aws::ComputeOptimizer::Endpoints::ExportECSServiceRecommendations.build(context)
71
71
  when :export_lambda_function_recommendations
72
72
  Aws::ComputeOptimizer::Endpoints::ExportLambdaFunctionRecommendations.build(context)
73
+ when :export_license_recommendations
74
+ Aws::ComputeOptimizer::Endpoints::ExportLicenseRecommendations.build(context)
73
75
  when :get_auto_scaling_group_recommendations
74
76
  Aws::ComputeOptimizer::Endpoints::GetAutoScalingGroupRecommendations.build(context)
75
77
  when :get_ebs_volume_recommendations
@@ -90,6 +92,8 @@ module Aws::ComputeOptimizer
90
92
  Aws::ComputeOptimizer::Endpoints::GetEnrollmentStatusesForOrganization.build(context)
91
93
  when :get_lambda_function_recommendations
92
94
  Aws::ComputeOptimizer::Endpoints::GetLambdaFunctionRecommendations.build(context)
95
+ when :get_license_recommendations
96
+ Aws::ComputeOptimizer::Endpoints::GetLicenseRecommendations.build(context)
93
97
  when :get_recommendation_preferences
94
98
  Aws::ComputeOptimizer::Endpoints::GetRecommendationPreferences.build(context)
95
99
  when :get_recommendation_summaries