diff --git a/clients/client-cost-optimization-hub/src/commands/GetRecommendationCommand.ts b/clients/client-cost-optimization-hub/src/commands/GetRecommendationCommand.ts index a28819a2fc91..d72189dd0f80 100644 --- a/clients/client-cost-optimization-hub/src/commands/GetRecommendationCommand.ts +++ b/clients/client-cost-optimization-hub/src/commands/GetRecommendationCommand.ts @@ -58,8 +58,8 @@ export interface GetRecommendationCommandOutput extends GetRecommendationRespons * // costCalculationLookbackPeriodInDays: Number("int"), * // estimatedSavingsPercentage: Number("double"), * // estimatedSavingsOverCostCalculationLookbackPeriod: Number("double"), - * // currentResourceType: "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances", - * // recommendedResourceType: "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances", + * // currentResourceType: "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances" || "RdsDbInstanceStorage" || "RdsDbInstance", + * // recommendedResourceType: "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances" || "RdsDbInstanceStorage" || "RdsDbInstance", * // region: "STRING_VALUE", * // source: "ComputeOptimizer" || "CostExplorer", * // lastRefreshTimestamp: new Date("TIMESTAMP"), @@ -403,6 +403,23 @@ export interface GetRecommendationCommandOutput extends GetRecommendationRespons * // }, * // }, * // }, + * // rdsDbInstance: { // RdsDbInstance + * // configuration: { // RdsDbInstanceConfiguration + * // instance: { // DbInstanceConfiguration + * // dbInstanceClass: "STRING_VALUE", + * // }, + * // }, + * // costCalculation: "", + * // }, + * // rdsDbInstanceStorage: { // RdsDbInstanceStorage + * // configuration: { // RdsDbInstanceStorageConfiguration + * // storageType: "STRING_VALUE", + * // allocatedStorageInGb: Number("double"), + * // iops: Number("double"), + * // storageThroughput: Number("double"), + * // }, + * // costCalculation: "", + * // }, * // }, * // recommendedResourceDetails: {// Union: only one key present * // lambdaFunction: { @@ -596,6 +613,23 @@ export interface GetRecommendationCommandOutput extends GetRecommendationRespons * // }, * // costCalculation: "", * // }, + * // rdsDbInstance: { + * // configuration: { + * // instance: { + * // dbInstanceClass: "STRING_VALUE", + * // }, + * // }, + * // costCalculation: "", + * // }, + * // rdsDbInstanceStorage: { + * // configuration: { + * // storageType: "STRING_VALUE", + * // allocatedStorageInGb: Number("double"), + * // iops: Number("double"), + * // storageThroughput: Number("double"), + * // }, + * // costCalculation: "", + * // }, * // }, * // tags: [ // TagList * // { // Tag diff --git a/clients/client-cost-optimization-hub/src/commands/ListRecommendationSummariesCommand.ts b/clients/client-cost-optimization-hub/src/commands/ListRecommendationSummariesCommand.ts index b082cd138cae..700ce1828778 100644 --- a/clients/client-cost-optimization-hub/src/commands/ListRecommendationSummariesCommand.ts +++ b/clients/client-cost-optimization-hub/src/commands/ListRecommendationSummariesCommand.ts @@ -60,7 +60,7 @@ export interface ListRecommendationSummariesCommandOutput * "STRING_VALUE", * ], * resourceTypes: [ // ResourceTypeList - * "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances", + * "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances" || "RdsDbInstanceStorage" || "RdsDbInstance", * ], * actionTypes: [ // ActionTypeList * "Rightsize" || "Stop" || "Upgrade" || "PurchaseSavingsPlans" || "PurchaseReservedInstances" || "MigrateToGraviton", diff --git a/clients/client-cost-optimization-hub/src/commands/ListRecommendationsCommand.ts b/clients/client-cost-optimization-hub/src/commands/ListRecommendationsCommand.ts index 4160b1094229..e79567e62a04 100644 --- a/clients/client-cost-optimization-hub/src/commands/ListRecommendationsCommand.ts +++ b/clients/client-cost-optimization-hub/src/commands/ListRecommendationsCommand.ts @@ -53,7 +53,7 @@ export interface ListRecommendationsCommandOutput extends ListRecommendationsRes * "STRING_VALUE", * ], * resourceTypes: [ // ResourceTypeList - * "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances", + * "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances" || "RdsDbInstanceStorage" || "RdsDbInstance", * ], * actionTypes: [ // ActionTypeList * "Rightsize" || "Stop" || "Upgrade" || "PurchaseSavingsPlans" || "PurchaseReservedInstances" || "MigrateToGraviton", diff --git a/clients/client-cost-optimization-hub/src/models/models_0.ts b/clients/client-cost-optimization-hub/src/models/models_0.ts index 6f719c09611d..bb8167a31ade 100644 --- a/clients/client-cost-optimization-hub/src/models/models_0.ts +++ b/clients/client-cost-optimization-hub/src/models/models_0.ts @@ -1136,6 +1136,97 @@ export interface OpenSearchReservedInstances { costCalculation?: ReservedInstancesCostCalculation; } +/** + *

The DB instance configuration used for recommendations.

+ * @public + */ +export interface DbInstanceConfiguration { + /** + *

The DB instance class of the DB instance.

+ * @public + */ + dbInstanceClass?: string; +} + +/** + *

The Amazon RDS DB instance configuration used for recommendations.

+ * @public + */ +export interface RdsDbInstanceConfiguration { + /** + *

Details about the instance configuration.

+ * @public + */ + instance?: DbInstanceConfiguration; +} + +/** + *

Contains the details of an Amazon RDS DB instance.

+ * @public + */ +export interface RdsDbInstance { + /** + *

The Amazon RDS DB instance configuration used for recommendations.

+ * @public + */ + configuration?: RdsDbInstanceConfiguration; + + /** + *

Cost impact of the resource recommendation.

+ * @public + */ + costCalculation?: ResourceCostCalculation; +} + +/** + *

The Amazon RDS DB instance storage configuration used for recommendations.

+ * @public + */ +export interface RdsDbInstanceStorageConfiguration { + /** + *

The storage type to associate with the DB instance.

+ * @public + */ + storageType?: string; + + /** + *

The new amount of storage in GB to allocate for the DB instance.

+ * @public + */ + allocatedStorageInGb?: number; + + /** + *

The amount of Provisioned IOPS (input/output operations per second) to be initially + * allocated for the DB instance.

+ * @public + */ + iops?: number; + + /** + *

The storage throughput for the DB instance.

+ * @public + */ + storageThroughput?: number; +} + +/** + *

Contains the details of an Amazon RDS DB instance storage.

+ * @public + */ +export interface RdsDbInstanceStorage { + /** + *

The Amazon RDS DB instance storage configuration used for recommendations.

+ * @public + */ + configuration?: RdsDbInstanceStorageConfiguration; + + /** + *

Cost impact of the resource recommendation.

+ * @public + */ + costCalculation?: ResourceCostCalculation; +} + /** *

The RDS reserved instances configuration used for recommendations.

* @public @@ -1430,6 +1521,8 @@ export type ResourceDetails = | ResourceDetails.ElastiCacheReservedInstancesMember | ResourceDetails.LambdaFunctionMember | ResourceDetails.OpenSearchReservedInstancesMember + | ResourceDetails.RdsDbInstanceMember + | ResourceDetails.RdsDbInstanceStorageMember | ResourceDetails.RdsReservedInstancesMember | ResourceDetails.RedshiftReservedInstancesMember | ResourceDetails.SageMakerSavingsPlansMember @@ -1457,6 +1550,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1478,6 +1573,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1499,6 +1596,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1520,6 +1619,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1541,6 +1642,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1562,6 +1665,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1583,6 +1688,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1604,6 +1711,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1625,6 +1734,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1646,6 +1757,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1667,6 +1780,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans: Ec2InstanceSavingsPlans; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1688,6 +1803,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans: ComputeSavingsPlans; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown?: never; } @@ -1709,6 +1826,54 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans: SageMakerSavingsPlans; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; + $unknown?: never; + } + + /** + *

The DB instance recommendation details.

+ * @public + */ + export interface RdsDbInstanceMember { + lambdaFunction?: never; + ecsService?: never; + ec2Instance?: never; + ebsVolume?: never; + ec2AutoScalingGroup?: never; + ec2ReservedInstances?: never; + rdsReservedInstances?: never; + elastiCacheReservedInstances?: never; + openSearchReservedInstances?: never; + redshiftReservedInstances?: never; + ec2InstanceSavingsPlans?: never; + computeSavingsPlans?: never; + sageMakerSavingsPlans?: never; + rdsDbInstance: RdsDbInstance; + rdsDbInstanceStorage?: never; + $unknown?: never; + } + + /** + *

The DB instance storage recommendation details.

+ * @public + */ + export interface RdsDbInstanceStorageMember { + lambdaFunction?: never; + ecsService?: never; + ec2Instance?: never; + ebsVolume?: never; + ec2AutoScalingGroup?: never; + ec2ReservedInstances?: never; + rdsReservedInstances?: never; + elastiCacheReservedInstances?: never; + openSearchReservedInstances?: never; + redshiftReservedInstances?: never; + ec2InstanceSavingsPlans?: never; + computeSavingsPlans?: never; + sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage: RdsDbInstanceStorage; $unknown?: never; } @@ -1729,6 +1894,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans?: never; computeSavingsPlans?: never; sageMakerSavingsPlans?: never; + rdsDbInstance?: never; + rdsDbInstanceStorage?: never; $unknown: [string, any]; } @@ -1746,6 +1913,8 @@ export namespace ResourceDetails { ec2InstanceSavingsPlans: (value: Ec2InstanceSavingsPlans) => T; computeSavingsPlans: (value: ComputeSavingsPlans) => T; sageMakerSavingsPlans: (value: SageMakerSavingsPlans) => T; + rdsDbInstance: (value: RdsDbInstance) => T; + rdsDbInstanceStorage: (value: RdsDbInstanceStorage) => T; _: (name: string, value: any) => T; } @@ -1767,6 +1936,8 @@ export namespace ResourceDetails { return visitor.ec2InstanceSavingsPlans(value.ec2InstanceSavingsPlans); if (value.computeSavingsPlans !== undefined) return visitor.computeSavingsPlans(value.computeSavingsPlans); if (value.sageMakerSavingsPlans !== undefined) return visitor.sageMakerSavingsPlans(value.sageMakerSavingsPlans); + if (value.rdsDbInstance !== undefined) return visitor.rdsDbInstance(value.rdsDbInstance); + if (value.rdsDbInstanceStorage !== undefined) return visitor.rdsDbInstanceStorage(value.rdsDbInstanceStorage); return visitor._(value.$unknown[0], value.$unknown[1]); }; } @@ -1786,6 +1957,8 @@ export const ResourceType = { ELASTI_CACHE_RESERVED_INSTANCES: "ElastiCacheReservedInstances", LAMBDA_FUNCTION: "LambdaFunction", OPEN_SEARCH_RESERVED_INSTANCES: "OpenSearchReservedInstances", + RDS_DB_INSTANCE: "RdsDbInstance", + RDS_DB_INSTANCE_STORAGE: "RdsDbInstanceStorage", RDS_RESERVED_INSTANCES: "RdsReservedInstances", REDSHIFT_RESERVED_INSTANCES: "RedshiftReservedInstances", SAGE_MAKER_SAVINGS_PLANS: "SageMakerSavingsPlans", @@ -1943,7 +2116,7 @@ export interface GetRecommendationResponse { estimatedMonthlySavings?: number; /** - *

The estimated monthly cost of the recommendation.

+ *

The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

* @public */ estimatedMonthlyCost?: number; @@ -2274,7 +2447,7 @@ export interface Recommendation { estimatedSavingsPercentage?: number; /** - *

The estimated monthly cost for the recommendation.

+ *

The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

* @public */ estimatedMonthlyCost?: number; diff --git a/clients/client-cost-optimization-hub/src/protocols/Aws_json1_0.ts b/clients/client-cost-optimization-hub/src/protocols/Aws_json1_0.ts index 2950834b7d85..b93e4a365bf3 100644 --- a/clients/client-cost-optimization-hub/src/protocols/Aws_json1_0.ts +++ b/clients/client-cost-optimization-hub/src/protocols/Aws_json1_0.ts @@ -80,6 +80,9 @@ import { ListRecommendationSummariesResponse, OpenSearchReservedInstances, OrderBy, + RdsDbInstance, + RdsDbInstanceStorage, + RdsDbInstanceStorageConfiguration, RdsReservedInstances, Recommendation, RecommendationSummary, @@ -544,6 +547,8 @@ const de_ComputeSavingsPlans = (output: any, context: __SerdeContext): ComputeSa // de_ComputeSavingsPlansConfiguration omitted. +// de_DbInstanceConfiguration omitted. + /** * deserializeAws_json1_0EbsVolume */ @@ -760,6 +765,43 @@ const de_OpenSearchReservedInstances = (output: any, context: __SerdeContext): O // de_OpenSearchReservedInstancesConfiguration omitted. +/** + * deserializeAws_json1_0RdsDbInstance + */ +const de_RdsDbInstance = (output: any, context: __SerdeContext): RdsDbInstance => { + return take(output, { + configuration: _json, + costCalculation: (_: any) => de_ResourceCostCalculation(_, context), + }) as any; +}; + +// de_RdsDbInstanceConfiguration omitted. + +/** + * deserializeAws_json1_0RdsDbInstanceStorage + */ +const de_RdsDbInstanceStorage = (output: any, context: __SerdeContext): RdsDbInstanceStorage => { + return take(output, { + configuration: (_: any) => de_RdsDbInstanceStorageConfiguration(_, context), + costCalculation: (_: any) => de_ResourceCostCalculation(_, context), + }) as any; +}; + +/** + * deserializeAws_json1_0RdsDbInstanceStorageConfiguration + */ +const de_RdsDbInstanceStorageConfiguration = ( + output: any, + context: __SerdeContext +): RdsDbInstanceStorageConfiguration => { + return take(output, { + allocatedStorageInGb: __limitedParseDouble, + iops: __limitedParseDouble, + storageThroughput: __limitedParseDouble, + storageType: __expectString, + }) as any; +}; + /** * deserializeAws_json1_0RdsReservedInstances */ @@ -936,6 +978,16 @@ const de_ResourceDetails = (output: any, context: __SerdeContext): ResourceDetai openSearchReservedInstances: de_OpenSearchReservedInstances(output.openSearchReservedInstances, context), }; } + if (output.rdsDbInstance != null) { + return { + rdsDbInstance: de_RdsDbInstance(output.rdsDbInstance, context), + }; + } + if (output.rdsDbInstanceStorage != null) { + return { + rdsDbInstanceStorage: de_RdsDbInstanceStorage(output.rdsDbInstanceStorage, context), + }; + } if (output.rdsReservedInstances != null) { return { rdsReservedInstances: de_RdsReservedInstances(output.rdsReservedInstances, context), diff --git a/codegen/sdk-codegen/aws-models/cost-optimization-hub.json b/codegen/sdk-codegen/aws-models/cost-optimization-hub.json index 851f1ca0ab50..53d322bf1609 100644 --- a/codegen/sdk-codegen/aws-models/cost-optimization-hub.json +++ b/codegen/sdk-codegen/aws-models/cost-optimization-hub.json @@ -936,6 +936,20 @@ "com.amazonaws.costoptimizationhub#Datetime": { "type": "timestamp" }, + "com.amazonaws.costoptimizationhub#DbInstanceConfiguration": { + "type": "structure", + "members": { + "dbInstanceClass": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The DB instance class of the DB instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The DB instance configuration used for recommendations.

" + } + }, "com.amazonaws.costoptimizationhub#EbsVolume": { "type": "structure", "members": { @@ -1690,7 +1704,7 @@ "estimatedMonthlyCost": { "target": "smithy.api#Double", "traits": { - "smithy.api#documentation": "

The estimated monthly cost of the recommendation.

" + "smithy.api#documentation": "

The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

" } }, "implementationEffort": { @@ -2307,6 +2321,88 @@ "smithy.api#documentation": "

Defines how rows will be sorted in the response.

" } }, + "com.amazonaws.costoptimizationhub#RdsDbInstance": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#RdsDbInstanceConfiguration", + "traits": { + "smithy.api#documentation": "

The Amazon RDS DB instance configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation" + } + }, + "traits": { + "smithy.api#documentation": "

Contains the details of an Amazon RDS DB instance.

", + "smithy.api#tags": ["rds"] + } + }, + "com.amazonaws.costoptimizationhub#RdsDbInstanceConfiguration": { + "type": "structure", + "members": { + "instance": { + "target": "com.amazonaws.costoptimizationhub#DbInstanceConfiguration", + "traits": { + "smithy.api#documentation": "

Details about the instance configuration.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon RDS DB instance configuration used for recommendations.

" + } + }, + "com.amazonaws.costoptimizationhub#RdsDbInstanceStorage": { + "type": "structure", + "members": { + "configuration": { + "target": "com.amazonaws.costoptimizationhub#RdsDbInstanceStorageConfiguration", + "traits": { + "smithy.api#documentation": "

The Amazon RDS DB instance storage configuration used for recommendations.

" + } + }, + "costCalculation": { + "target": "com.amazonaws.costoptimizationhub#ResourceCostCalculation" + } + }, + "traits": { + "smithy.api#documentation": "

Contains the details of an Amazon RDS DB instance storage.

", + "smithy.api#tags": ["rds"] + } + }, + "com.amazonaws.costoptimizationhub#RdsDbInstanceStorageConfiguration": { + "type": "structure", + "members": { + "storageType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The storage type to associate with the DB instance.

" + } + }, + "allocatedStorageInGb": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The new amount of storage in GB to allocate for the DB instance.

" + } + }, + "iops": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The amount of Provisioned IOPS (input/output operations per second) to be initially\n allocated for the DB instance.

" + } + }, + "storageThroughput": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The storage throughput for the DB instance.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon RDS DB instance storage configuration used for recommendations.

" + } + }, "com.amazonaws.costoptimizationhub#RdsReservedInstances": { "type": "structure", "members": { @@ -2497,7 +2593,7 @@ "estimatedMonthlyCost": { "target": "smithy.api#Double", "traits": { - "smithy.api#documentation": "

The estimated monthly cost for the recommendation.

" + "smithy.api#documentation": "

The estimated monthly cost of the current resource. For Reserved Instances and Savings Plans, it refers to the cost for eligible usage.

" } }, "currencyCode": { @@ -2897,6 +2993,20 @@ "traits": { "smithy.api#documentation": "

The SageMaker Savings Plans recommendation details.

" } + }, + "rdsDbInstance": { + "target": "com.amazonaws.costoptimizationhub#RdsDbInstance", + "traits": { + "smithy.api#documentation": "

The DB instance recommendation details.

", + "smithy.api#tags": ["rds"] + } + }, + "rdsDbInstanceStorage": { + "target": "com.amazonaws.costoptimizationhub#RdsDbInstanceStorage", + "traits": { + "smithy.api#documentation": "

The DB instance storage recommendation details.

", + "smithy.api#tags": ["rds"] + } } }, "traits": { @@ -3050,6 +3160,20 @@ "traits": { "smithy.api#enumValue": "ElastiCacheReservedInstances" } + }, + "RDS_DB_INSTANCE_STORAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RdsDbInstanceStorage", + "smithy.api#tags": ["rds"] + } + }, + "RDS_DB_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RdsDbInstance", + "smithy.api#tags": ["rds"] + } } } },