aws-sdk-computeoptimizer 1.46.0 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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