@aws-sdk/client-compute-optimizer 3.398.0 → 3.401.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.
Files changed (36) hide show
  1. package/README.md +16 -0
  2. package/dist-cjs/ComputeOptimizer.js +4 -0
  3. package/dist-cjs/commands/ExportLicenseRecommendationsCommand.js +46 -0
  4. package/dist-cjs/commands/GetLicenseRecommendationsCommand.js +46 -0
  5. package/dist-cjs/commands/index.js +2 -0
  6. package/dist-cjs/endpoint/ruleset.js +1 -1
  7. package/dist-cjs/models/models_0.js +59 -2
  8. package/dist-cjs/protocols/Aws_json1_0.js +168 -1
  9. package/dist-es/ComputeOptimizer.js +4 -0
  10. package/dist-es/commands/ExportLicenseRecommendationsCommand.js +42 -0
  11. package/dist-es/commands/GetLicenseRecommendationsCommand.js +42 -0
  12. package/dist-es/commands/index.js +2 -0
  13. package/dist-es/endpoint/ruleset.js +1 -1
  14. package/dist-es/models/models_0.js +57 -0
  15. package/dist-es/protocols/Aws_json1_0.js +163 -0
  16. package/dist-types/ComputeOptimizer.d.ts +14 -0
  17. package/dist-types/ComputeOptimizerClient.d.ts +4 -2
  18. package/dist-types/commands/DeleteRecommendationPreferencesCommand.d.ts +1 -1
  19. package/dist-types/commands/DescribeRecommendationExportJobsCommand.d.ts +1 -1
  20. package/dist-types/commands/ExportLicenseRecommendationsCommand.d.ts +129 -0
  21. package/dist-types/commands/GetEC2InstanceRecommendationsCommand.d.ts +1 -1
  22. package/dist-types/commands/GetLicenseRecommendationsCommand.d.ts +172 -0
  23. package/dist-types/commands/GetRecommendationPreferencesCommand.d.ts +2 -2
  24. package/dist-types/commands/GetRecommendationSummariesCommand.d.ts +1 -1
  25. package/dist-types/commands/PutRecommendationPreferencesCommand.d.ts +1 -1
  26. package/dist-types/commands/index.d.ts +2 -0
  27. package/dist-types/models/models_0.d.ts +591 -0
  28. package/dist-types/protocols/Aws_json1_0.d.ts +18 -0
  29. package/dist-types/ts3.4/ComputeOptimizer.d.ts +34 -0
  30. package/dist-types/ts3.4/ComputeOptimizerClient.d.ts +12 -0
  31. package/dist-types/ts3.4/commands/ExportLicenseRecommendationsCommand.d.ts +42 -0
  32. package/dist-types/ts3.4/commands/GetLicenseRecommendationsCommand.d.ts +42 -0
  33. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  34. package/dist-types/ts3.4/models/models_0.d.ts +131 -0
  35. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +24 -0
  36. package/package.json +1 -1
@@ -750,6 +750,7 @@ export declare const ResourceType: {
750
750
  readonly EC2_INSTANCE: "Ec2Instance";
751
751
  readonly ECS_SERVICE: "EcsService";
752
752
  readonly LAMBDA_FUNCTION: "LambdaFunction";
753
+ readonly LICENSE: "License";
753
754
  readonly NOT_APPLICABLE: "NotApplicable";
754
755
  };
755
756
  /**
@@ -2300,6 +2301,185 @@ export interface ExportLambdaFunctionRecommendationsResponse {
2300
2301
  */
2301
2302
  s3Destination?: S3Destination;
2302
2303
  }
2304
+ /**
2305
+ * @public
2306
+ * @enum
2307
+ */
2308
+ export declare const ExportableLicenseField: {
2309
+ readonly ACCOUNT_ID: "AccountId";
2310
+ readonly CURRENT_LICENSE_CONFIGURATION_INSTANCE_TYPE: "CurrentLicenseConfigurationInstanceType";
2311
+ readonly CURRENT_LICENSE_CONFIGURATION_LICENSE_EDITION: "CurrentLicenseConfigurationLicenseEdition";
2312
+ readonly CURRENT_LICENSE_CONFIGURATION_LICENSE_MODEL: "CurrentLicenseConfigurationLicenseModel";
2313
+ readonly CURRENT_LICENSE_CONFIGURATION_LICENSE_NAME: "CurrentLicenseConfigurationLicenseName";
2314
+ readonly CURRENT_LICENSE_CONFIGURATION_LICENSE_VERSION: "CurrentLicenseConfigurationLicenseVersion";
2315
+ readonly CURRENT_LICENSE_CONFIGURATION_METRICS_SOURCE: "CurrentLicenseConfigurationMetricsSource";
2316
+ readonly CURRENT_LICENSE_CONFIGURATION_NUMBER_OF_CORES: "CurrentLicenseConfigurationNumberOfCores";
2317
+ readonly CURRENT_LICENSE_CONFIGURATION_OPERATING_SYSTEM: "CurrentLicenseConfigurationOperatingSystem";
2318
+ readonly LAST_REFRESH_TIMESTAMP: "LastRefreshTimestamp";
2319
+ readonly LICENSE_FINDING: "Finding";
2320
+ readonly LICENSE_FINDING_REASON_CODES: "FindingReasonCodes";
2321
+ readonly LOOKBACK_PERIOD_IN_DAYS: "LookbackPeriodInDays";
2322
+ readonly RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_CURRENCY: "RecommendationOptionsEstimatedMonthlySavingsCurrency";
2323
+ readonly RECOMMENDATION_OPTIONS_ESTIMATED_MONTHLY_SAVINGS_VALUE: "RecommendationOptionsEstimatedMonthlySavingsValue";
2324
+ readonly RECOMMENDATION_OPTIONS_LICENSE_EDITION: "RecommendationOptionsLicenseEdition";
2325
+ readonly RECOMMENDATION_OPTIONS_LICENSE_MODEL: "RecommendationOptionsLicenseModel";
2326
+ readonly RECOMMENDATION_OPTIONS_OPERATING_SYSTEM: "RecommendationOptionsOperatingSystem";
2327
+ readonly RECOMMENDATION_OPTIONS_SAVINGS_OPPORTUNITY_PERCENTAGE: "RecommendationOptionsSavingsOpportunityPercentage";
2328
+ readonly RESOURCE_ARN: "ResourceArn";
2329
+ readonly TAGS: "Tags";
2330
+ };
2331
+ /**
2332
+ * @public
2333
+ */
2334
+ export type ExportableLicenseField = (typeof ExportableLicenseField)[keyof typeof ExportableLicenseField];
2335
+ /**
2336
+ * @public
2337
+ * @enum
2338
+ */
2339
+ export declare const LicenseRecommendationFilterName: {
2340
+ readonly LICENSE_FINDING: "Finding";
2341
+ readonly LICENSE_FINDING_REASON_CODE: "FindingReasonCode";
2342
+ readonly LICENSE_NAME: "LicenseName";
2343
+ };
2344
+ /**
2345
+ * @public
2346
+ */
2347
+ export type LicenseRecommendationFilterName = (typeof LicenseRecommendationFilterName)[keyof typeof LicenseRecommendationFilterName];
2348
+ /**
2349
+ * @public
2350
+ * <p>
2351
+ * Describes a filter that returns a more specific list of license recommendations. Use this filter
2352
+ * with the <code>GetLicenseRecommendation</code> action.
2353
+ * </p>
2354
+ */
2355
+ export interface LicenseRecommendationFilter {
2356
+ /**
2357
+ * @public
2358
+ * <p>The name of the filter.</p>
2359
+ * <p>Specify <code>Finding</code> to return recommendations with a specific finding
2360
+ * classification.</p>
2361
+ * <p>Specify <code>FindingReasonCode</code> to return recommendations with a specific
2362
+ * finding reason code.</p>
2363
+ * <p>You can filter your license recommendations by <code>tag:key</code>
2364
+ * and <code>tag-key</code> tags.</p>
2365
+ * <p>A <code>tag:key</code> is a key and value combination of a tag assigned to your
2366
+ * license recommendations. Use the tag key in the filter name and the tag value
2367
+ * as the filter value. For example, to find all license recommendations that have
2368
+ * a tag with the key of <code>Owner</code> and the value of <code>TeamA</code>,
2369
+ * specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
2370
+ * <p>A <code>tag-key</code> is the key of a tag assigned to your license recommendations. Use
2371
+ * this filter to find all of your license recommendations that have a tag with a
2372
+ * specific key. This doesn’t consider the tag value. For example, you can find
2373
+ * your license recommendations with a tag key value of <code>Owner</code> or without any tag
2374
+ * keys assigned.</p>
2375
+ */
2376
+ name?: LicenseRecommendationFilterName | string;
2377
+ /**
2378
+ * @public
2379
+ * <p>The value of the filter.</p>
2380
+ * <p>The valid values for this parameter are as follows, depending on what you specify for
2381
+ * the <code>name</code> parameter:</p>
2382
+ * <ul>
2383
+ * <li>
2384
+ * <p>If you specify the <code>name</code> parameter as
2385
+ * <code>Finding</code>, then specify <code>Optimized</code>, <code>NotOptimized</code>, or
2386
+ * <code>InsufficentMetrics</code>.</p>
2387
+ * </li>
2388
+ * <li>
2389
+ * <p>If you specify the <code>name</code> parameter as
2390
+ * <code>FindingReasonCode</code>, then specify <code>Optimized</code>,
2391
+ * <code>LicenseOverprovisioned</code>, <code>InvalidCloudwatchApplicationInsights</code>, or
2392
+ * <code>CloudwatchApplicationInsightsError</code>.</p>
2393
+ * </li>
2394
+ * </ul>
2395
+ */
2396
+ values?: string[];
2397
+ }
2398
+ /**
2399
+ * @public
2400
+ */
2401
+ export interface ExportLicenseRecommendationsRequest {
2402
+ /**
2403
+ * @public
2404
+ * <p>The IDs of the Amazon Web Services accounts for which to export license
2405
+ * recommendations.</p>
2406
+ * <p>If your account is the management account of an organization, use this parameter to
2407
+ * specify the member account for which you want to export recommendations.</p>
2408
+ * <p>This parameter can't be specified together with the include member accounts
2409
+ * parameter. The parameters are mutually exclusive.</p>
2410
+ * <p>If this parameter is omitted, recommendations
2411
+ * for member accounts aren't included in the export.</p>
2412
+ * <p>You can specify multiple account IDs per request.</p>
2413
+ */
2414
+ accountIds?: string[];
2415
+ /**
2416
+ * @public
2417
+ * <p>
2418
+ * An array of objects to specify a filter that exports a more specific set of license recommendations.
2419
+ * </p>
2420
+ */
2421
+ filters?: LicenseRecommendationFilter[];
2422
+ /**
2423
+ * @public
2424
+ * <p>The recommendations data to include in the export file. For more information about the
2425
+ * fields that can be exported, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files">Exported files</a> in the <i>Compute Optimizer User
2426
+ * Guide</i>.</p>
2427
+ */
2428
+ fieldsToExport?: (ExportableLicenseField | string)[];
2429
+ /**
2430
+ * @public
2431
+ * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
2432
+ * key prefix for a recommendations export job.</p>
2433
+ * <p>You must create the destination Amazon S3 bucket for your recommendations
2434
+ * export before you create the export job. Compute Optimizer does not create the S3 bucket
2435
+ * for you. After you create the S3 bucket, ensure that it has the required permission
2436
+ * policy to allow Compute Optimizer to write the export file to it. If you plan to specify
2437
+ * an object prefix when you create the export job, you must include the object prefix in
2438
+ * the policy that you add to the S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html">Amazon S3 Bucket Policy for Compute Optimizer</a> in the
2439
+ * <i>Compute Optimizer User Guide</i>.</p>
2440
+ */
2441
+ s3DestinationConfig: S3DestinationConfig | undefined;
2442
+ /**
2443
+ * @public
2444
+ * <p>The format of the export file.</p>
2445
+ * <p>A CSV file is the only export format currently supported.</p>
2446
+ */
2447
+ fileFormat?: FileFormat | string;
2448
+ /**
2449
+ * @public
2450
+ * <p>Indicates whether to include recommendations for resources in all member accounts of
2451
+ * the organization if your account is the management account of an organization.</p>
2452
+ * <p>The member accounts must also be opted in to Compute Optimizer, and trusted access for
2453
+ * Compute Optimizer must be enabled in the organization account. For more information,
2454
+ * see <a href="https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access">Compute Optimizer and Amazon Web Services Organizations trusted access</a> in the
2455
+ * <i>Compute Optimizer User Guide</i>.</p>
2456
+ * <p>If this parameter is omitted, recommendations for member accounts of the organization
2457
+ * aren't included in the export file .</p>
2458
+ * <p>This parameter cannot be specified together with the account IDs parameter. The
2459
+ * parameters are mutually exclusive.</p>
2460
+ */
2461
+ includeMemberAccounts?: boolean;
2462
+ }
2463
+ /**
2464
+ * @public
2465
+ */
2466
+ export interface ExportLicenseRecommendationsResponse {
2467
+ /**
2468
+ * @public
2469
+ * <p>
2470
+ * The identification number of the export job.
2471
+ * </p>
2472
+ * <p>To view the status of an export job, use the <a>DescribeRecommendationExportJobs</a>
2473
+ * action and specify the job ID.</p>
2474
+ */
2475
+ jobId?: string;
2476
+ /**
2477
+ * @public
2478
+ * <p>Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name and
2479
+ * object keys of a recommendations export file, and its associated metadata file.</p>
2480
+ */
2481
+ s3Destination?: S3Destination;
2482
+ }
2303
2483
  /**
2304
2484
  * @public
2305
2485
  */
@@ -3057,6 +3237,7 @@ export declare const RecommendationSourceType: {
3057
3237
  readonly EC2_INSTANCE: "Ec2Instance";
3058
3238
  readonly ECS_SERVICE: "EcsService";
3059
3239
  readonly LAMBDA_FUNCTION: "LambdaFunction";
3240
+ readonly LICENSE: "License";
3060
3241
  };
3061
3242
  /**
3062
3243
  * @public
@@ -4946,6 +5127,416 @@ export interface GetLambdaFunctionRecommendationsResponse {
4946
5127
  */
4947
5128
  lambdaFunctionRecommendations?: LambdaFunctionRecommendation[];
4948
5129
  }
5130
+ /**
5131
+ * @public
5132
+ */
5133
+ export interface GetLicenseRecommendationsRequest {
5134
+ /**
5135
+ * @public
5136
+ * <p>
5137
+ * The ARN that identifies the Amazon EC2 instance.
5138
+ * </p>
5139
+ * <p>
5140
+ * The following is the format of the ARN:
5141
+ * </p>
5142
+ * <p>
5143
+ * <code>arn:aws:ec2:region:aws_account_id:instance/instance-id</code>
5144
+ * </p>
5145
+ */
5146
+ resourceArns?: string[];
5147
+ /**
5148
+ * @public
5149
+ * <p>
5150
+ * The token to advance to the next page of license recommendations.
5151
+ * </p>
5152
+ */
5153
+ nextToken?: string;
5154
+ /**
5155
+ * @public
5156
+ * <p>
5157
+ * The maximum number of license recommendations to return with a single request.
5158
+ * </p>
5159
+ * <p>
5160
+ * To retrieve the remaining results, make another request with the returned
5161
+ * <code>nextToken</code> value.
5162
+ * </p>
5163
+ */
5164
+ maxResults?: number;
5165
+ /**
5166
+ * @public
5167
+ * <p>
5168
+ * An array of objects to specify a filter that returns a more specific list of license recommendations.
5169
+ * </p>
5170
+ */
5171
+ filters?: LicenseRecommendationFilter[];
5172
+ /**
5173
+ * @public
5174
+ * <p>The ID of the Amazon Web Services account for which to return license recommendations.</p>
5175
+ * <p>If your account is the management account of an organization, use this parameter to
5176
+ * specify the member account for which you want to return license recommendations.</p>
5177
+ * <p>Only one account ID can be specified per request.</p>
5178
+ */
5179
+ accountIds?: string[];
5180
+ }
5181
+ /**
5182
+ * @public
5183
+ * @enum
5184
+ */
5185
+ export declare const LicenseEdition: {
5186
+ readonly ENTERPRISE: "Enterprise";
5187
+ readonly FREE: "Free";
5188
+ readonly NO_LICENSE_EDITION_FOUND: "NoLicenseEditionFound";
5189
+ readonly STANDARD: "Standard";
5190
+ };
5191
+ /**
5192
+ * @public
5193
+ */
5194
+ export type LicenseEdition = (typeof LicenseEdition)[keyof typeof LicenseEdition];
5195
+ /**
5196
+ * @public
5197
+ * @enum
5198
+ */
5199
+ export declare const LicenseModel: {
5200
+ readonly BRING_YOUR_OWN_LICENSE: "BringYourOwnLicense";
5201
+ readonly LICENSE_INCLUDED: "LicenseIncluded";
5202
+ };
5203
+ /**
5204
+ * @public
5205
+ */
5206
+ export type LicenseModel = (typeof LicenseModel)[keyof typeof LicenseModel];
5207
+ /**
5208
+ * @public
5209
+ * @enum
5210
+ */
5211
+ export declare const LicenseName: {
5212
+ readonly SQLSERVER: "SQLServer";
5213
+ };
5214
+ /**
5215
+ * @public
5216
+ */
5217
+ export type LicenseName = (typeof LicenseName)[keyof typeof LicenseName];
5218
+ /**
5219
+ * @public
5220
+ * @enum
5221
+ */
5222
+ export declare const MetricSourceProvider: {
5223
+ readonly CloudWatchAppInsights: "CloudWatchApplicationInsights";
5224
+ };
5225
+ /**
5226
+ * @public
5227
+ */
5228
+ export type MetricSourceProvider = (typeof MetricSourceProvider)[keyof typeof MetricSourceProvider];
5229
+ /**
5230
+ * @public
5231
+ * <p>
5232
+ * The list of metric sources required to generate recommendations for commercial software licenses.
5233
+ * </p>
5234
+ */
5235
+ export interface MetricSource {
5236
+ /**
5237
+ * @public
5238
+ * <p>
5239
+ * The name of the metric source provider.
5240
+ * </p>
5241
+ */
5242
+ provider?: MetricSourceProvider | string;
5243
+ /**
5244
+ * @public
5245
+ * <p>
5246
+ * The ARN of the metric source provider.
5247
+ * </p>
5248
+ */
5249
+ providerArn?: string;
5250
+ }
5251
+ /**
5252
+ * @public
5253
+ * <p>
5254
+ * Describes the configuration of a license for an Amazon EC2 instance.
5255
+ * </p>
5256
+ */
5257
+ export interface LicenseConfiguration {
5258
+ /**
5259
+ * @public
5260
+ * <p>
5261
+ * The current number of cores associated with the instance.
5262
+ * </p>
5263
+ */
5264
+ numberOfCores?: number;
5265
+ /**
5266
+ * @public
5267
+ * <p>
5268
+ * The instance type used in the license.
5269
+ * </p>
5270
+ */
5271
+ instanceType?: string;
5272
+ /**
5273
+ * @public
5274
+ * <p>
5275
+ * The operating system of the instance.
5276
+ * </p>
5277
+ */
5278
+ operatingSystem?: string;
5279
+ /**
5280
+ * @public
5281
+ * <p>
5282
+ * The edition of the license for the application that runs on the instance.
5283
+ * </p>
5284
+ */
5285
+ licenseEdition?: LicenseEdition | string;
5286
+ /**
5287
+ * @public
5288
+ * <p>
5289
+ * The name of the license for the application that runs on the instance.
5290
+ * </p>
5291
+ */
5292
+ licenseName?: LicenseName | string;
5293
+ /**
5294
+ * @public
5295
+ * <p>
5296
+ * The license type associated with the instance.
5297
+ * </p>
5298
+ */
5299
+ licenseModel?: LicenseModel | string;
5300
+ /**
5301
+ * @public
5302
+ * <p>
5303
+ * The version of the license for the application that runs on the instance.
5304
+ * </p>
5305
+ */
5306
+ licenseVersion?: string;
5307
+ /**
5308
+ * @public
5309
+ * <p>
5310
+ * The list of metric sources required to generate recommendations for commercial software licenses.
5311
+ * </p>
5312
+ */
5313
+ metricsSource?: MetricSource[];
5314
+ }
5315
+ /**
5316
+ * @public
5317
+ * @enum
5318
+ */
5319
+ export declare const LicenseFinding: {
5320
+ readonly INSUFFICIENT_METRICS: "InsufficientMetrics";
5321
+ readonly NOT_OPTIMIZED: "NotOptimized";
5322
+ readonly OPTIMIZED: "Optimized";
5323
+ };
5324
+ /**
5325
+ * @public
5326
+ */
5327
+ export type LicenseFinding = (typeof LicenseFinding)[keyof typeof LicenseFinding];
5328
+ /**
5329
+ * @public
5330
+ * @enum
5331
+ */
5332
+ export declare const LicenseFindingReasonCode: {
5333
+ readonly CW_APP_INSIGHTS_DISABLED: "InvalidCloudWatchApplicationInsightsSetup";
5334
+ readonly CW_APP_INSIGHTS_ERROR: "CloudWatchApplicationInsightsError";
5335
+ readonly LICENSE_OVER_PROVISIONED: "LicenseOverprovisioned";
5336
+ readonly OPTIMIZED: "Optimized";
5337
+ };
5338
+ /**
5339
+ * @public
5340
+ */
5341
+ export type LicenseFindingReasonCode = (typeof LicenseFindingReasonCode)[keyof typeof LicenseFindingReasonCode];
5342
+ /**
5343
+ * @public
5344
+ * <p>
5345
+ * Describes the recommendation options for licenses.
5346
+ * </p>
5347
+ */
5348
+ export interface LicenseRecommendationOption {
5349
+ /**
5350
+ * @public
5351
+ * <p>
5352
+ * The rank of the license recommendation option.
5353
+ * </p>
5354
+ * <p>
5355
+ * The top recommendation option is ranked as <code>1</code>.
5356
+ * </p>
5357
+ */
5358
+ rank?: number;
5359
+ /**
5360
+ * @public
5361
+ * <p>
5362
+ * The operating system of a license recommendation option.
5363
+ * </p>
5364
+ */
5365
+ operatingSystem?: string;
5366
+ /**
5367
+ * @public
5368
+ * <p>
5369
+ * The recommended edition of the license for the application that runs on the instance.
5370
+ * </p>
5371
+ */
5372
+ licenseEdition?: LicenseEdition | string;
5373
+ /**
5374
+ * @public
5375
+ * <p>
5376
+ * The recommended license type associated with the instance.
5377
+ * </p>
5378
+ */
5379
+ licenseModel?: LicenseModel | string;
5380
+ /**
5381
+ * @public
5382
+ * <p>Describes the savings opportunity for recommendations of a given resource type or for
5383
+ * the recommendation option of an individual resource.</p>
5384
+ * <p>Savings opportunity represents the estimated monthly savings you can achieve by
5385
+ * implementing a given Compute Optimizer recommendation.</p>
5386
+ * <important>
5387
+ * <p>Savings opportunity data requires that you opt in to Cost Explorer, as well as
5388
+ * activate <b>Receive Amazon EC2 resource
5389
+ * recommendations</b> in the Cost Explorer preferences page. That
5390
+ * creates a connection between Cost Explorer and Compute Optimizer. With this
5391
+ * connection, Cost Explorer generates savings estimates considering the price of
5392
+ * existing resources, the price of recommended resources, and historical usage data.
5393
+ * Estimated monthly savings reflects the projected dollar savings associated with each
5394
+ * of the recommendations generated. For more information, see <a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html">Enabling Cost Explorer</a> and <a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html">Optimizing your cost
5395
+ * with Rightsizing Recommendations</a> in the <i>Cost Management User
5396
+ * Guide</i>.</p>
5397
+ * </important>
5398
+ */
5399
+ savingsOpportunity?: SavingsOpportunity;
5400
+ }
5401
+ /**
5402
+ * @public
5403
+ * <p>
5404
+ * Describes a license recommendation for an EC2 instance.
5405
+ * </p>
5406
+ */
5407
+ export interface LicenseRecommendation {
5408
+ /**
5409
+ * @public
5410
+ * <p>
5411
+ * The ARN that identifies the Amazon EC2 instance.
5412
+ * </p>
5413
+ */
5414
+ resourceArn?: string;
5415
+ /**
5416
+ * @public
5417
+ * <p>
5418
+ * The Amazon Web Services account ID of the license.
5419
+ * </p>
5420
+ */
5421
+ accountId?: string;
5422
+ /**
5423
+ * @public
5424
+ * <p>
5425
+ * An object that describes the current configuration of an instance that runs on a license.
5426
+ * </p>
5427
+ */
5428
+ currentLicenseConfiguration?: LicenseConfiguration;
5429
+ /**
5430
+ * @public
5431
+ * <p>
5432
+ * The number of days for which utilization metrics were analyzed for an instance that runs on a license.
5433
+ * </p>
5434
+ */
5435
+ lookbackPeriodInDays?: number;
5436
+ /**
5437
+ * @public
5438
+ * <p>
5439
+ * The timestamp of when the license recommendation was last generated.
5440
+ * </p>
5441
+ */
5442
+ lastRefreshTimestamp?: Date;
5443
+ /**
5444
+ * @public
5445
+ * <p>
5446
+ * The finding classification for an instance that runs on a license.
5447
+ * </p>
5448
+ * <p>Findings include:</p>
5449
+ * <ul>
5450
+ * <li>
5451
+ * <p>
5452
+ * <code>InsufficentMetrics</code> — When Compute Optimizer detects that your CloudWatch
5453
+ * Application Insights isn't enabled or is enabled with insufficient permissions. </p>
5454
+ * </li>
5455
+ * <li>
5456
+ * <p>
5457
+ * <code>NotOptimized</code> — When Compute Optimizer detects that your EC2 infrastructure
5458
+ * isn't using any of the SQL server license features you're paying for, a license is considered
5459
+ * not optimized.</p>
5460
+ * </li>
5461
+ * <li>
5462
+ * <p>
5463
+ * <code>Optimized</code> — When Compute Optimizer detects that all specifications of your
5464
+ * license meet the performance requirements of your workload. </p>
5465
+ * </li>
5466
+ * </ul>
5467
+ */
5468
+ finding?: LicenseFinding | string;
5469
+ /**
5470
+ * @public
5471
+ * <p>
5472
+ * The reason for the finding classification for an instance that runs on a license.
5473
+ * </p>
5474
+ * <p>Finding reason codes include:</p>
5475
+ * <ul>
5476
+ * <li>
5477
+ * <p>
5478
+ * <code>Optimized</code> — All specifications of your
5479
+ * license meet the performance requirements of your workload. </p>
5480
+ * </li>
5481
+ * <li>
5482
+ * <p>
5483
+ * <code>LicenseOverprovisioned</code> — A license is considered over-provisioned when your license can be
5484
+ * downgraded while still meeting the performance requirements of your workload.</p>
5485
+ * </li>
5486
+ * <li>
5487
+ * <p>
5488
+ * <code>InvalidCloudwatchApplicationInsights</code> — CloudWatch
5489
+ * Application Insights isn't configured properly.</p>
5490
+ * </li>
5491
+ * <li>
5492
+ * <p>
5493
+ * <code>CloudwatchApplicationInsightsError</code> — There is a CloudWatch
5494
+ * Application Insights error. </p>
5495
+ * </li>
5496
+ * </ul>
5497
+ */
5498
+ findingReasonCodes?: (LicenseFindingReasonCode | string)[];
5499
+ /**
5500
+ * @public
5501
+ * <p>
5502
+ * An array of objects that describe the license recommendation options.
5503
+ * </p>
5504
+ */
5505
+ licenseRecommendationOptions?: LicenseRecommendationOption[];
5506
+ /**
5507
+ * @public
5508
+ * <p>
5509
+ * A list of tags assigned to an EC2 instance.
5510
+ * </p>
5511
+ */
5512
+ tags?: Tag[];
5513
+ }
5514
+ /**
5515
+ * @public
5516
+ */
5517
+ export interface GetLicenseRecommendationsResponse {
5518
+ /**
5519
+ * @public
5520
+ * <p>
5521
+ * The token to use to advance to the next page of license recommendations.
5522
+ * </p>
5523
+ */
5524
+ nextToken?: string;
5525
+ /**
5526
+ * @public
5527
+ * <p>
5528
+ * An array of objects that describe license recommendations.
5529
+ * </p>
5530
+ */
5531
+ licenseRecommendations?: LicenseRecommendation[];
5532
+ /**
5533
+ * @public
5534
+ * <p>
5535
+ * An array of objects that describe errors of the request.
5536
+ * </p>
5537
+ */
5538
+ errors?: GetRecommendationError[];
5539
+ }
4949
5540
  /**
4950
5541
  * @public
4951
5542
  */
@@ -7,6 +7,7 @@ import { ExportEBSVolumeRecommendationsCommandInput, ExportEBSVolumeRecommendati
7
7
  import { ExportEC2InstanceRecommendationsCommandInput, ExportEC2InstanceRecommendationsCommandOutput } from "../commands/ExportEC2InstanceRecommendationsCommand";
8
8
  import { ExportECSServiceRecommendationsCommandInput, ExportECSServiceRecommendationsCommandOutput } from "../commands/ExportECSServiceRecommendationsCommand";
9
9
  import { ExportLambdaFunctionRecommendationsCommandInput, ExportLambdaFunctionRecommendationsCommandOutput } from "../commands/ExportLambdaFunctionRecommendationsCommand";
10
+ import { ExportLicenseRecommendationsCommandInput, ExportLicenseRecommendationsCommandOutput } from "../commands/ExportLicenseRecommendationsCommand";
10
11
  import { GetAutoScalingGroupRecommendationsCommandInput, GetAutoScalingGroupRecommendationsCommandOutput } from "../commands/GetAutoScalingGroupRecommendationsCommand";
11
12
  import { GetEBSVolumeRecommendationsCommandInput, GetEBSVolumeRecommendationsCommandOutput } from "../commands/GetEBSVolumeRecommendationsCommand";
12
13
  import { GetEC2InstanceRecommendationsCommandInput, GetEC2InstanceRecommendationsCommandOutput } from "../commands/GetEC2InstanceRecommendationsCommand";
@@ -17,6 +18,7 @@ import { GetEffectiveRecommendationPreferencesCommandInput, GetEffectiveRecommen
17
18
  import { GetEnrollmentStatusCommandInput, GetEnrollmentStatusCommandOutput } from "../commands/GetEnrollmentStatusCommand";
18
19
  import { GetEnrollmentStatusesForOrganizationCommandInput, GetEnrollmentStatusesForOrganizationCommandOutput } from "../commands/GetEnrollmentStatusesForOrganizationCommand";
19
20
  import { GetLambdaFunctionRecommendationsCommandInput, GetLambdaFunctionRecommendationsCommandOutput } from "../commands/GetLambdaFunctionRecommendationsCommand";
21
+ import { GetLicenseRecommendationsCommandInput, GetLicenseRecommendationsCommandOutput } from "../commands/GetLicenseRecommendationsCommand";
20
22
  import { GetRecommendationPreferencesCommandInput, GetRecommendationPreferencesCommandOutput } from "../commands/GetRecommendationPreferencesCommand";
21
23
  import { GetRecommendationSummariesCommandInput, GetRecommendationSummariesCommandOutput } from "../commands/GetRecommendationSummariesCommand";
22
24
  import { PutRecommendationPreferencesCommandInput, PutRecommendationPreferencesCommandOutput } from "../commands/PutRecommendationPreferencesCommand";
@@ -49,6 +51,10 @@ export declare const se_ExportECSServiceRecommendationsCommand: (input: ExportEC
49
51
  * serializeAws_json1_0ExportLambdaFunctionRecommendationsCommand
50
52
  */
51
53
  export declare const se_ExportLambdaFunctionRecommendationsCommand: (input: ExportLambdaFunctionRecommendationsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
54
+ /**
55
+ * serializeAws_json1_0ExportLicenseRecommendationsCommand
56
+ */
57
+ export declare const se_ExportLicenseRecommendationsCommand: (input: ExportLicenseRecommendationsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
52
58
  /**
53
59
  * serializeAws_json1_0GetAutoScalingGroupRecommendationsCommand
54
60
  */
@@ -89,6 +95,10 @@ export declare const se_GetEnrollmentStatusesForOrganizationCommand: (input: Get
89
95
  * serializeAws_json1_0GetLambdaFunctionRecommendationsCommand
90
96
  */
91
97
  export declare const se_GetLambdaFunctionRecommendationsCommand: (input: GetLambdaFunctionRecommendationsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
98
+ /**
99
+ * serializeAws_json1_0GetLicenseRecommendationsCommand
100
+ */
101
+ export declare const se_GetLicenseRecommendationsCommand: (input: GetLicenseRecommendationsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
92
102
  /**
93
103
  * serializeAws_json1_0GetRecommendationPreferencesCommand
94
104
  */
@@ -133,6 +143,10 @@ export declare const de_ExportECSServiceRecommendationsCommand: (output: __HttpR
133
143
  * deserializeAws_json1_0ExportLambdaFunctionRecommendationsCommand
134
144
  */
135
145
  export declare const de_ExportLambdaFunctionRecommendationsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ExportLambdaFunctionRecommendationsCommandOutput>;
146
+ /**
147
+ * deserializeAws_json1_0ExportLicenseRecommendationsCommand
148
+ */
149
+ export declare const de_ExportLicenseRecommendationsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ExportLicenseRecommendationsCommandOutput>;
136
150
  /**
137
151
  * deserializeAws_json1_0GetAutoScalingGroupRecommendationsCommand
138
152
  */
@@ -173,6 +187,10 @@ export declare const de_GetEnrollmentStatusesForOrganizationCommand: (output: __
173
187
  * deserializeAws_json1_0GetLambdaFunctionRecommendationsCommand
174
188
  */
175
189
  export declare const de_GetLambdaFunctionRecommendationsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetLambdaFunctionRecommendationsCommandOutput>;
190
+ /**
191
+ * deserializeAws_json1_0GetLicenseRecommendationsCommand
192
+ */
193
+ export declare const de_GetLicenseRecommendationsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetLicenseRecommendationsCommandOutput>;
176
194
  /**
177
195
  * deserializeAws_json1_0GetRecommendationPreferencesCommand
178
196
  */