@aws-sdk/client-cost-optimization-hub 3.458.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 (119) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +268 -0
  3. package/dist-cjs/CostOptimizationHub.js +25 -0
  4. package/dist-cjs/CostOptimizationHubClient.js +43 -0
  5. package/dist-cjs/commands/GetPreferencesCommand.js +51 -0
  6. package/dist-cjs/commands/GetRecommendationCommand.js +51 -0
  7. package/dist-cjs/commands/ListEnrollmentStatusesCommand.js +51 -0
  8. package/dist-cjs/commands/ListRecommendationSummariesCommand.js +51 -0
  9. package/dist-cjs/commands/ListRecommendationsCommand.js +51 -0
  10. package/dist-cjs/commands/UpdateEnrollmentStatusCommand.js +51 -0
  11. package/dist-cjs/commands/UpdatePreferencesCommand.js +51 -0
  12. package/dist-cjs/commands/index.js +10 -0
  13. package/dist-cjs/endpoint/EndpointParameters.js +12 -0
  14. package/dist-cjs/endpoint/endpointResolver.js +12 -0
  15. package/dist-cjs/endpoint/ruleset.js +7 -0
  16. package/dist-cjs/extensionConfiguration.js +2 -0
  17. package/dist-cjs/index.js +12 -0
  18. package/dist-cjs/models/CostOptimizationHubServiceException.js +12 -0
  19. package/dist-cjs/models/index.js +4 -0
  20. package/dist-cjs/models/models_0.js +158 -0
  21. package/dist-cjs/pagination/Interfaces.js +2 -0
  22. package/dist-cjs/pagination/ListEnrollmentStatusesPaginator.js +29 -0
  23. package/dist-cjs/pagination/ListRecommendationSummariesPaginator.js +29 -0
  24. package/dist-cjs/pagination/ListRecommendationsPaginator.js +29 -0
  25. package/dist-cjs/pagination/index.js +7 -0
  26. package/dist-cjs/protocols/Aws_json1_0.js +830 -0
  27. package/dist-cjs/runtimeConfig.browser.js +39 -0
  28. package/dist-cjs/runtimeConfig.js +50 -0
  29. package/dist-cjs/runtimeConfig.native.js +15 -0
  30. package/dist-cjs/runtimeConfig.shared.js +24 -0
  31. package/dist-cjs/runtimeExtensions.js +22 -0
  32. package/dist-es/CostOptimizationHub.js +21 -0
  33. package/dist-es/CostOptimizationHubClient.js +39 -0
  34. package/dist-es/commands/GetPreferencesCommand.js +47 -0
  35. package/dist-es/commands/GetRecommendationCommand.js +47 -0
  36. package/dist-es/commands/ListEnrollmentStatusesCommand.js +47 -0
  37. package/dist-es/commands/ListRecommendationSummariesCommand.js +47 -0
  38. package/dist-es/commands/ListRecommendationsCommand.js +47 -0
  39. package/dist-es/commands/UpdateEnrollmentStatusCommand.js +47 -0
  40. package/dist-es/commands/UpdatePreferencesCommand.js +47 -0
  41. package/dist-es/commands/index.js +7 -0
  42. package/dist-es/endpoint/EndpointParameters.js +8 -0
  43. package/dist-es/endpoint/endpointResolver.js +8 -0
  44. package/dist-es/endpoint/ruleset.js +4 -0
  45. package/dist-es/extensionConfiguration.js +1 -0
  46. package/dist-es/index.js +7 -0
  47. package/dist-es/models/CostOptimizationHubServiceException.js +8 -0
  48. package/dist-es/models/index.js +1 -0
  49. package/dist-es/models/models_0.js +150 -0
  50. package/dist-es/pagination/Interfaces.js +1 -0
  51. package/dist-es/pagination/ListEnrollmentStatusesPaginator.js +25 -0
  52. package/dist-es/pagination/ListRecommendationSummariesPaginator.js +25 -0
  53. package/dist-es/pagination/ListRecommendationsPaginator.js +25 -0
  54. package/dist-es/pagination/index.js +4 -0
  55. package/dist-es/protocols/Aws_json1_0.js +813 -0
  56. package/dist-es/runtimeConfig.browser.js +34 -0
  57. package/dist-es/runtimeConfig.js +45 -0
  58. package/dist-es/runtimeConfig.native.js +11 -0
  59. package/dist-es/runtimeConfig.shared.js +20 -0
  60. package/dist-es/runtimeExtensions.js +18 -0
  61. package/dist-types/CostOptimizationHub.d.ts +66 -0
  62. package/dist-types/CostOptimizationHubClient.d.ts +183 -0
  63. package/dist-types/commands/GetPreferencesCommand.d.ts +89 -0
  64. package/dist-types/commands/GetRecommendationCommand.d.ts +647 -0
  65. package/dist-types/commands/ListEnrollmentStatusesCommand.d.ts +99 -0
  66. package/dist-types/commands/ListRecommendationSummariesCommand.d.ts +138 -0
  67. package/dist-types/commands/ListRecommendationsCommand.d.ts +157 -0
  68. package/dist-types/commands/UpdateEnrollmentStatusCommand.d.ts +94 -0
  69. package/dist-types/commands/UpdatePreferencesCommand.d.ts +91 -0
  70. package/dist-types/commands/index.d.ts +7 -0
  71. package/dist-types/endpoint/EndpointParameters.d.ts +22 -0
  72. package/dist-types/endpoint/endpointResolver.d.ts +5 -0
  73. package/dist-types/endpoint/ruleset.d.ts +2 -0
  74. package/dist-types/extensionConfiguration.d.ts +8 -0
  75. package/dist-types/index.d.ts +22 -0
  76. package/dist-types/models/CostOptimizationHubServiceException.d.ts +13 -0
  77. package/dist-types/models/index.d.ts +1 -0
  78. package/dist-types/models/models_0.d.ts +2141 -0
  79. package/dist-types/pagination/Interfaces.d.ts +8 -0
  80. package/dist-types/pagination/ListEnrollmentStatusesPaginator.d.ts +7 -0
  81. package/dist-types/pagination/ListRecommendationSummariesPaginator.d.ts +7 -0
  82. package/dist-types/pagination/ListRecommendationsPaginator.d.ts +7 -0
  83. package/dist-types/pagination/index.d.ts +4 -0
  84. package/dist-types/protocols/Aws_json1_0.d.ts +65 -0
  85. package/dist-types/runtimeConfig.browser.d.ts +46 -0
  86. package/dist-types/runtimeConfig.d.ts +46 -0
  87. package/dist-types/runtimeConfig.native.d.ts +45 -0
  88. package/dist-types/runtimeConfig.shared.d.ts +19 -0
  89. package/dist-types/runtimeExtensions.d.ts +17 -0
  90. package/dist-types/ts3.4/CostOptimizationHub.d.ts +126 -0
  91. package/dist-types/ts3.4/CostOptimizationHubClient.d.ts +163 -0
  92. package/dist-types/ts3.4/commands/GetPreferencesCommand.d.ts +38 -0
  93. package/dist-types/ts3.4/commands/GetRecommendationCommand.d.ts +39 -0
  94. package/dist-types/ts3.4/commands/ListEnrollmentStatusesCommand.d.ts +42 -0
  95. package/dist-types/ts3.4/commands/ListRecommendationSummariesCommand.d.ts +42 -0
  96. package/dist-types/ts3.4/commands/ListRecommendationsCommand.d.ts +39 -0
  97. package/dist-types/ts3.4/commands/UpdateEnrollmentStatusCommand.d.ts +42 -0
  98. package/dist-types/ts3.4/commands/UpdatePreferencesCommand.d.ts +39 -0
  99. package/dist-types/ts3.4/commands/index.d.ts +7 -0
  100. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +33 -0
  101. package/dist-types/ts3.4/endpoint/endpointResolver.d.ts +8 -0
  102. package/dist-types/ts3.4/endpoint/ruleset.d.ts +2 -0
  103. package/dist-types/ts3.4/extensionConfiguration.d.ts +7 -0
  104. package/dist-types/ts3.4/index.d.ts +10 -0
  105. package/dist-types/ts3.4/models/CostOptimizationHubServiceException.d.ts +8 -0
  106. package/dist-types/ts3.4/models/index.d.ts +1 -0
  107. package/dist-types/ts3.4/models/models_0.d.ts +734 -0
  108. package/dist-types/ts3.4/pagination/Interfaces.d.ts +6 -0
  109. package/dist-types/ts3.4/pagination/ListEnrollmentStatusesPaginator.d.ts +11 -0
  110. package/dist-types/ts3.4/pagination/ListRecommendationSummariesPaginator.d.ts +11 -0
  111. package/dist-types/ts3.4/pagination/ListRecommendationsPaginator.d.ts +11 -0
  112. package/dist-types/ts3.4/pagination/index.d.ts +4 -0
  113. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +89 -0
  114. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +99 -0
  115. package/dist-types/ts3.4/runtimeConfig.d.ts +99 -0
  116. package/dist-types/ts3.4/runtimeConfig.native.d.ts +90 -0
  117. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +21 -0
  118. package/dist-types/ts3.4/runtimeExtensions.d.ts +13 -0
  119. package/package.json +102 -0
@@ -0,0 +1,647 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@smithy/types";
4
+ import { CostOptimizationHubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CostOptimizationHubClient";
5
+ import { GetRecommendationRequest, GetRecommendationResponse } from "../models/models_0";
6
+ /**
7
+ * @public
8
+ */
9
+ export { __MetadataBearer, $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link GetRecommendationCommand}.
14
+ */
15
+ export interface GetRecommendationCommandInput extends GetRecommendationRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link GetRecommendationCommand}.
21
+ */
22
+ export interface GetRecommendationCommandOutput extends GetRecommendationResponse, __MetadataBearer {
23
+ }
24
+ /**
25
+ * @public
26
+ * <p>Returns both the current and recommended resource configuration and the estimated cost
27
+ * impact for a recommendation.</p>
28
+ * <p>The <code>recommendationId</code> is only valid for up to a maximum of 24 hours as
29
+ * recommendations are refreshed daily. To retrieve the <code>recommendationId</code>, use the
30
+ * <code>ListRecommendations</code> API.</p>
31
+ * @example
32
+ * Use a bare-bones client and the command you need to make an API call.
33
+ * ```javascript
34
+ * import { CostOptimizationHubClient, GetRecommendationCommand } from "@aws-sdk/client-cost-optimization-hub"; // ES Modules import
35
+ * // const { CostOptimizationHubClient, GetRecommendationCommand } = require("@aws-sdk/client-cost-optimization-hub"); // CommonJS import
36
+ * const client = new CostOptimizationHubClient(config);
37
+ * const input = { // GetRecommendationRequest
38
+ * recommendationId: "STRING_VALUE", // required
39
+ * };
40
+ * const command = new GetRecommendationCommand(input);
41
+ * const response = await client.send(command);
42
+ * // { // GetRecommendationResponse
43
+ * // recommendationId: "STRING_VALUE",
44
+ * // resourceId: "STRING_VALUE",
45
+ * // resourceArn: "STRING_VALUE",
46
+ * // accountId: "STRING_VALUE",
47
+ * // currencyCode: "STRING_VALUE",
48
+ * // recommendationLookbackPeriodInDays: Number("int"),
49
+ * // costCalculationLookbackPeriodInDays: Number("int"),
50
+ * // estimatedSavingsPercentage: Number("double"),
51
+ * // estimatedSavingsOverCostCalculationLookbackPeriod: Number("double"),
52
+ * // currentResourceType: "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances",
53
+ * // recommendedResourceType: "Ec2Instance" || "LambdaFunction" || "EbsVolume" || "EcsService" || "Ec2AutoScalingGroup" || "Ec2InstanceSavingsPlans" || "ComputeSavingsPlans" || "SageMakerSavingsPlans" || "Ec2ReservedInstances" || "RdsReservedInstances" || "OpenSearchReservedInstances" || "RedshiftReservedInstances" || "ElastiCacheReservedInstances",
54
+ * // region: "STRING_VALUE",
55
+ * // source: "ComputeOptimizer" || "CostExplorer",
56
+ * // lastRefreshTimestamp: new Date("TIMESTAMP"),
57
+ * // estimatedMonthlySavings: Number("double"),
58
+ * // estimatedMonthlyCost: Number("double"),
59
+ * // implementationEffort: "VeryLow" || "Low" || "Medium" || "High" || "VeryHigh",
60
+ * // restartNeeded: true || false,
61
+ * // actionType: "Rightsize" || "Stop" || "Upgrade" || "PurchaseSavingsPlans" || "PurchaseReservedInstances" || "MigrateToGraviton",
62
+ * // rollbackPossible: true || false,
63
+ * // currentResourceDetails: { // ResourceDetails Union: only one key present
64
+ * // lambdaFunction: { // LambdaFunction
65
+ * // configuration: { // LambdaFunctionConfiguration
66
+ * // compute: { // ComputeConfiguration
67
+ * // vCpu: Number("double"),
68
+ * // memorySizeInMB: Number("int"),
69
+ * // architecture: "STRING_VALUE",
70
+ * // platform: "STRING_VALUE",
71
+ * // },
72
+ * // },
73
+ * // costCalculation: { // ResourceCostCalculation
74
+ * // usages: [ // UsageList
75
+ * // { // Usage
76
+ * // usageType: "STRING_VALUE",
77
+ * // usageAmount: Number("double"),
78
+ * // operation: "STRING_VALUE",
79
+ * // productCode: "STRING_VALUE",
80
+ * // unit: "STRING_VALUE",
81
+ * // },
82
+ * // ],
83
+ * // pricing: { // ResourcePricing
84
+ * // estimatedCostBeforeDiscounts: Number("double"),
85
+ * // estimatedNetUnusedAmortizedCommitments: Number("double"),
86
+ * // estimatedDiscounts: { // EstimatedDiscounts
87
+ * // savingsPlansDiscount: Number("double"),
88
+ * // reservedInstancesDiscount: Number("double"),
89
+ * // otherDiscount: Number("double"),
90
+ * // },
91
+ * // estimatedCostAfterDiscounts: Number("double"),
92
+ * // },
93
+ * // },
94
+ * // },
95
+ * // ecsService: { // EcsService
96
+ * // configuration: { // EcsServiceConfiguration
97
+ * // compute: {
98
+ * // vCpu: Number("double"),
99
+ * // memorySizeInMB: Number("int"),
100
+ * // architecture: "STRING_VALUE",
101
+ * // platform: "STRING_VALUE",
102
+ * // },
103
+ * // },
104
+ * // costCalculation: {
105
+ * // usages: [
106
+ * // {
107
+ * // usageType: "STRING_VALUE",
108
+ * // usageAmount: Number("double"),
109
+ * // operation: "STRING_VALUE",
110
+ * // productCode: "STRING_VALUE",
111
+ * // unit: "STRING_VALUE",
112
+ * // },
113
+ * // ],
114
+ * // pricing: {
115
+ * // estimatedCostBeforeDiscounts: Number("double"),
116
+ * // estimatedNetUnusedAmortizedCommitments: Number("double"),
117
+ * // estimatedDiscounts: {
118
+ * // savingsPlansDiscount: Number("double"),
119
+ * // reservedInstancesDiscount: Number("double"),
120
+ * // otherDiscount: Number("double"),
121
+ * // },
122
+ * // estimatedCostAfterDiscounts: Number("double"),
123
+ * // },
124
+ * // },
125
+ * // },
126
+ * // ec2Instance: { // Ec2Instance
127
+ * // configuration: { // Ec2InstanceConfiguration
128
+ * // instance: { // InstanceConfiguration
129
+ * // type: "STRING_VALUE",
130
+ * // },
131
+ * // },
132
+ * // costCalculation: {
133
+ * // usages: [
134
+ * // {
135
+ * // usageType: "STRING_VALUE",
136
+ * // usageAmount: Number("double"),
137
+ * // operation: "STRING_VALUE",
138
+ * // productCode: "STRING_VALUE",
139
+ * // unit: "STRING_VALUE",
140
+ * // },
141
+ * // ],
142
+ * // pricing: {
143
+ * // estimatedCostBeforeDiscounts: Number("double"),
144
+ * // estimatedNetUnusedAmortizedCommitments: Number("double"),
145
+ * // estimatedDiscounts: {
146
+ * // savingsPlansDiscount: Number("double"),
147
+ * // reservedInstancesDiscount: Number("double"),
148
+ * // otherDiscount: Number("double"),
149
+ * // },
150
+ * // estimatedCostAfterDiscounts: Number("double"),
151
+ * // },
152
+ * // },
153
+ * // },
154
+ * // ebsVolume: { // EbsVolume
155
+ * // configuration: { // EbsVolumeConfiguration
156
+ * // storage: { // StorageConfiguration
157
+ * // type: "STRING_VALUE",
158
+ * // sizeInGb: Number("double"),
159
+ * // },
160
+ * // performance: { // BlockStoragePerformanceConfiguration
161
+ * // iops: Number("double"),
162
+ * // throughput: Number("double"),
163
+ * // },
164
+ * // attachmentState: "STRING_VALUE",
165
+ * // },
166
+ * // costCalculation: {
167
+ * // usages: [
168
+ * // {
169
+ * // usageType: "STRING_VALUE",
170
+ * // usageAmount: Number("double"),
171
+ * // operation: "STRING_VALUE",
172
+ * // productCode: "STRING_VALUE",
173
+ * // unit: "STRING_VALUE",
174
+ * // },
175
+ * // ],
176
+ * // pricing: {
177
+ * // estimatedCostBeforeDiscounts: Number("double"),
178
+ * // estimatedNetUnusedAmortizedCommitments: Number("double"),
179
+ * // estimatedDiscounts: {
180
+ * // savingsPlansDiscount: Number("double"),
181
+ * // reservedInstancesDiscount: Number("double"),
182
+ * // otherDiscount: Number("double"),
183
+ * // },
184
+ * // estimatedCostAfterDiscounts: Number("double"),
185
+ * // },
186
+ * // },
187
+ * // },
188
+ * // ec2AutoScalingGroup: { // Ec2AutoScalingGroup
189
+ * // configuration: { // Ec2AutoScalingGroupConfiguration
190
+ * // instance: {
191
+ * // type: "STRING_VALUE",
192
+ * // },
193
+ * // },
194
+ * // costCalculation: {
195
+ * // usages: [
196
+ * // {
197
+ * // usageType: "STRING_VALUE",
198
+ * // usageAmount: Number("double"),
199
+ * // operation: "STRING_VALUE",
200
+ * // productCode: "STRING_VALUE",
201
+ * // unit: "STRING_VALUE",
202
+ * // },
203
+ * // ],
204
+ * // pricing: {
205
+ * // estimatedCostBeforeDiscounts: Number("double"),
206
+ * // estimatedNetUnusedAmortizedCommitments: Number("double"),
207
+ * // estimatedDiscounts: {
208
+ * // savingsPlansDiscount: Number("double"),
209
+ * // reservedInstancesDiscount: Number("double"),
210
+ * // otherDiscount: Number("double"),
211
+ * // },
212
+ * // estimatedCostAfterDiscounts: Number("double"),
213
+ * // },
214
+ * // },
215
+ * // },
216
+ * // ec2ReservedInstances: { // Ec2ReservedInstances
217
+ * // configuration: { // Ec2ReservedInstancesConfiguration
218
+ * // accountScope: "STRING_VALUE",
219
+ * // service: "STRING_VALUE",
220
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
221
+ * // term: "STRING_VALUE",
222
+ * // paymentOption: "STRING_VALUE",
223
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
224
+ * // offeringClass: "STRING_VALUE",
225
+ * // instanceFamily: "STRING_VALUE",
226
+ * // instanceType: "STRING_VALUE",
227
+ * // reservedInstancesRegion: "STRING_VALUE",
228
+ * // currentGeneration: "STRING_VALUE",
229
+ * // platform: "STRING_VALUE",
230
+ * // tenancy: "STRING_VALUE",
231
+ * // sizeFlexEligible: true || false,
232
+ * // upfrontCost: "STRING_VALUE",
233
+ * // monthlyRecurringCost: "STRING_VALUE",
234
+ * // },
235
+ * // costCalculation: { // ReservedInstancesCostCalculation
236
+ * // pricing: { // ReservedInstancesPricing
237
+ * // estimatedOnDemandCost: Number("double"),
238
+ * // monthlyReservationEligibleCost: Number("double"),
239
+ * // savingsPercentage: Number("double"),
240
+ * // estimatedMonthlyAmortizedReservationCost: Number("double"),
241
+ * // },
242
+ * // },
243
+ * // },
244
+ * // rdsReservedInstances: { // RdsReservedInstances
245
+ * // configuration: { // RdsReservedInstancesConfiguration
246
+ * // accountScope: "STRING_VALUE",
247
+ * // service: "STRING_VALUE",
248
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
249
+ * // term: "STRING_VALUE",
250
+ * // paymentOption: "STRING_VALUE",
251
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
252
+ * // instanceFamily: "STRING_VALUE",
253
+ * // instanceType: "STRING_VALUE",
254
+ * // reservedInstancesRegion: "STRING_VALUE",
255
+ * // sizeFlexEligible: true || false,
256
+ * // currentGeneration: "STRING_VALUE",
257
+ * // upfrontCost: "STRING_VALUE",
258
+ * // monthlyRecurringCost: "STRING_VALUE",
259
+ * // licenseModel: "STRING_VALUE",
260
+ * // databaseEdition: "STRING_VALUE",
261
+ * // databaseEngine: "STRING_VALUE",
262
+ * // deploymentOption: "STRING_VALUE",
263
+ * // },
264
+ * // costCalculation: {
265
+ * // pricing: {
266
+ * // estimatedOnDemandCost: Number("double"),
267
+ * // monthlyReservationEligibleCost: Number("double"),
268
+ * // savingsPercentage: Number("double"),
269
+ * // estimatedMonthlyAmortizedReservationCost: Number("double"),
270
+ * // },
271
+ * // },
272
+ * // },
273
+ * // elastiCacheReservedInstances: { // ElastiCacheReservedInstances
274
+ * // configuration: { // ElastiCacheReservedInstancesConfiguration
275
+ * // accountScope: "STRING_VALUE",
276
+ * // service: "STRING_VALUE",
277
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
278
+ * // term: "STRING_VALUE",
279
+ * // paymentOption: "STRING_VALUE",
280
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
281
+ * // instanceFamily: "STRING_VALUE",
282
+ * // instanceType: "STRING_VALUE",
283
+ * // reservedInstancesRegion: "STRING_VALUE",
284
+ * // currentGeneration: "STRING_VALUE",
285
+ * // sizeFlexEligible: true || false,
286
+ * // upfrontCost: "STRING_VALUE",
287
+ * // monthlyRecurringCost: "STRING_VALUE",
288
+ * // },
289
+ * // costCalculation: {
290
+ * // pricing: {
291
+ * // estimatedOnDemandCost: Number("double"),
292
+ * // monthlyReservationEligibleCost: Number("double"),
293
+ * // savingsPercentage: Number("double"),
294
+ * // estimatedMonthlyAmortizedReservationCost: Number("double"),
295
+ * // },
296
+ * // },
297
+ * // },
298
+ * // openSearchReservedInstances: { // OpenSearchReservedInstances
299
+ * // configuration: { // OpenSearchReservedInstancesConfiguration
300
+ * // accountScope: "STRING_VALUE",
301
+ * // service: "STRING_VALUE",
302
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
303
+ * // term: "STRING_VALUE",
304
+ * // paymentOption: "STRING_VALUE",
305
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
306
+ * // instanceType: "STRING_VALUE",
307
+ * // reservedInstancesRegion: "STRING_VALUE",
308
+ * // currentGeneration: "STRING_VALUE",
309
+ * // sizeFlexEligible: true || false,
310
+ * // upfrontCost: "STRING_VALUE",
311
+ * // monthlyRecurringCost: "STRING_VALUE",
312
+ * // },
313
+ * // costCalculation: {
314
+ * // pricing: {
315
+ * // estimatedOnDemandCost: Number("double"),
316
+ * // monthlyReservationEligibleCost: Number("double"),
317
+ * // savingsPercentage: Number("double"),
318
+ * // estimatedMonthlyAmortizedReservationCost: Number("double"),
319
+ * // },
320
+ * // },
321
+ * // },
322
+ * // redshiftReservedInstances: { // RedshiftReservedInstances
323
+ * // configuration: { // RedshiftReservedInstancesConfiguration
324
+ * // accountScope: "STRING_VALUE",
325
+ * // service: "STRING_VALUE",
326
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
327
+ * // term: "STRING_VALUE",
328
+ * // paymentOption: "STRING_VALUE",
329
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
330
+ * // instanceFamily: "STRING_VALUE",
331
+ * // instanceType: "STRING_VALUE",
332
+ * // reservedInstancesRegion: "STRING_VALUE",
333
+ * // sizeFlexEligible: true || false,
334
+ * // currentGeneration: "STRING_VALUE",
335
+ * // upfrontCost: "STRING_VALUE",
336
+ * // monthlyRecurringCost: "STRING_VALUE",
337
+ * // },
338
+ * // costCalculation: {
339
+ * // pricing: {
340
+ * // estimatedOnDemandCost: Number("double"),
341
+ * // monthlyReservationEligibleCost: Number("double"),
342
+ * // savingsPercentage: Number("double"),
343
+ * // estimatedMonthlyAmortizedReservationCost: Number("double"),
344
+ * // },
345
+ * // },
346
+ * // },
347
+ * // ec2InstanceSavingsPlans: { // Ec2InstanceSavingsPlans
348
+ * // configuration: { // Ec2InstanceSavingsPlansConfiguration
349
+ * // accountScope: "STRING_VALUE",
350
+ * // term: "STRING_VALUE",
351
+ * // paymentOption: "STRING_VALUE",
352
+ * // hourlyCommitment: "STRING_VALUE",
353
+ * // instanceFamily: "STRING_VALUE",
354
+ * // savingsPlansRegion: "STRING_VALUE",
355
+ * // },
356
+ * // costCalculation: { // SavingsPlansCostCalculation
357
+ * // pricing: { // SavingsPlansPricing
358
+ * // monthlySavingsPlansEligibleCost: Number("double"),
359
+ * // estimatedMonthlyCommitment: Number("double"),
360
+ * // savingsPercentage: Number("double"),
361
+ * // estimatedOnDemandCost: Number("double"),
362
+ * // },
363
+ * // },
364
+ * // },
365
+ * // computeSavingsPlans: { // ComputeSavingsPlans
366
+ * // configuration: { // ComputeSavingsPlansConfiguration
367
+ * // accountScope: "STRING_VALUE",
368
+ * // term: "STRING_VALUE",
369
+ * // paymentOption: "STRING_VALUE",
370
+ * // hourlyCommitment: "STRING_VALUE",
371
+ * // },
372
+ * // costCalculation: {
373
+ * // pricing: {
374
+ * // monthlySavingsPlansEligibleCost: Number("double"),
375
+ * // estimatedMonthlyCommitment: Number("double"),
376
+ * // savingsPercentage: Number("double"),
377
+ * // estimatedOnDemandCost: Number("double"),
378
+ * // },
379
+ * // },
380
+ * // },
381
+ * // sageMakerSavingsPlans: { // SageMakerSavingsPlans
382
+ * // configuration: { // SageMakerSavingsPlansConfiguration
383
+ * // accountScope: "STRING_VALUE",
384
+ * // term: "STRING_VALUE",
385
+ * // paymentOption: "STRING_VALUE",
386
+ * // hourlyCommitment: "STRING_VALUE",
387
+ * // },
388
+ * // costCalculation: {
389
+ * // pricing: {
390
+ * // monthlySavingsPlansEligibleCost: Number("double"),
391
+ * // estimatedMonthlyCommitment: Number("double"),
392
+ * // savingsPercentage: Number("double"),
393
+ * // estimatedOnDemandCost: Number("double"),
394
+ * // },
395
+ * // },
396
+ * // },
397
+ * // },
398
+ * // recommendedResourceDetails: {// Union: only one key present
399
+ * // lambdaFunction: {
400
+ * // configuration: {
401
+ * // compute: {
402
+ * // vCpu: Number("double"),
403
+ * // memorySizeInMB: Number("int"),
404
+ * // architecture: "STRING_VALUE",
405
+ * // platform: "STRING_VALUE",
406
+ * // },
407
+ * // },
408
+ * // costCalculation: "<ResourceCostCalculation>",
409
+ * // },
410
+ * // ecsService: {
411
+ * // configuration: {
412
+ * // compute: {
413
+ * // vCpu: Number("double"),
414
+ * // memorySizeInMB: Number("int"),
415
+ * // architecture: "STRING_VALUE",
416
+ * // platform: "STRING_VALUE",
417
+ * // },
418
+ * // },
419
+ * // costCalculation: "<ResourceCostCalculation>",
420
+ * // },
421
+ * // ec2Instance: {
422
+ * // configuration: {
423
+ * // instance: {
424
+ * // type: "STRING_VALUE",
425
+ * // },
426
+ * // },
427
+ * // costCalculation: "<ResourceCostCalculation>",
428
+ * // },
429
+ * // ebsVolume: {
430
+ * // configuration: {
431
+ * // storage: {
432
+ * // type: "STRING_VALUE",
433
+ * // sizeInGb: Number("double"),
434
+ * // },
435
+ * // performance: {
436
+ * // iops: Number("double"),
437
+ * // throughput: Number("double"),
438
+ * // },
439
+ * // attachmentState: "STRING_VALUE",
440
+ * // },
441
+ * // costCalculation: "<ResourceCostCalculation>",
442
+ * // },
443
+ * // ec2AutoScalingGroup: {
444
+ * // configuration: {
445
+ * // instance: {
446
+ * // type: "STRING_VALUE",
447
+ * // },
448
+ * // },
449
+ * // costCalculation: "<ResourceCostCalculation>",
450
+ * // },
451
+ * // ec2ReservedInstances: {
452
+ * // configuration: {
453
+ * // accountScope: "STRING_VALUE",
454
+ * // service: "STRING_VALUE",
455
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
456
+ * // term: "STRING_VALUE",
457
+ * // paymentOption: "STRING_VALUE",
458
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
459
+ * // offeringClass: "STRING_VALUE",
460
+ * // instanceFamily: "STRING_VALUE",
461
+ * // instanceType: "STRING_VALUE",
462
+ * // reservedInstancesRegion: "STRING_VALUE",
463
+ * // currentGeneration: "STRING_VALUE",
464
+ * // platform: "STRING_VALUE",
465
+ * // tenancy: "STRING_VALUE",
466
+ * // sizeFlexEligible: true || false,
467
+ * // upfrontCost: "STRING_VALUE",
468
+ * // monthlyRecurringCost: "STRING_VALUE",
469
+ * // },
470
+ * // costCalculation: "<ReservedInstancesCostCalculation>",
471
+ * // },
472
+ * // rdsReservedInstances: {
473
+ * // configuration: {
474
+ * // accountScope: "STRING_VALUE",
475
+ * // service: "STRING_VALUE",
476
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
477
+ * // term: "STRING_VALUE",
478
+ * // paymentOption: "STRING_VALUE",
479
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
480
+ * // instanceFamily: "STRING_VALUE",
481
+ * // instanceType: "STRING_VALUE",
482
+ * // reservedInstancesRegion: "STRING_VALUE",
483
+ * // sizeFlexEligible: true || false,
484
+ * // currentGeneration: "STRING_VALUE",
485
+ * // upfrontCost: "STRING_VALUE",
486
+ * // monthlyRecurringCost: "STRING_VALUE",
487
+ * // licenseModel: "STRING_VALUE",
488
+ * // databaseEdition: "STRING_VALUE",
489
+ * // databaseEngine: "STRING_VALUE",
490
+ * // deploymentOption: "STRING_VALUE",
491
+ * // },
492
+ * // costCalculation: "<ReservedInstancesCostCalculation>",
493
+ * // },
494
+ * // elastiCacheReservedInstances: {
495
+ * // configuration: {
496
+ * // accountScope: "STRING_VALUE",
497
+ * // service: "STRING_VALUE",
498
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
499
+ * // term: "STRING_VALUE",
500
+ * // paymentOption: "STRING_VALUE",
501
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
502
+ * // instanceFamily: "STRING_VALUE",
503
+ * // instanceType: "STRING_VALUE",
504
+ * // reservedInstancesRegion: "STRING_VALUE",
505
+ * // currentGeneration: "STRING_VALUE",
506
+ * // sizeFlexEligible: true || false,
507
+ * // upfrontCost: "STRING_VALUE",
508
+ * // monthlyRecurringCost: "STRING_VALUE",
509
+ * // },
510
+ * // costCalculation: "<ReservedInstancesCostCalculation>",
511
+ * // },
512
+ * // openSearchReservedInstances: {
513
+ * // configuration: {
514
+ * // accountScope: "STRING_VALUE",
515
+ * // service: "STRING_VALUE",
516
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
517
+ * // term: "STRING_VALUE",
518
+ * // paymentOption: "STRING_VALUE",
519
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
520
+ * // instanceType: "STRING_VALUE",
521
+ * // reservedInstancesRegion: "STRING_VALUE",
522
+ * // currentGeneration: "STRING_VALUE",
523
+ * // sizeFlexEligible: true || false,
524
+ * // upfrontCost: "STRING_VALUE",
525
+ * // monthlyRecurringCost: "STRING_VALUE",
526
+ * // },
527
+ * // costCalculation: "<ReservedInstancesCostCalculation>",
528
+ * // },
529
+ * // redshiftReservedInstances: {
530
+ * // configuration: {
531
+ * // accountScope: "STRING_VALUE",
532
+ * // service: "STRING_VALUE",
533
+ * // normalizedUnitsToPurchase: "STRING_VALUE",
534
+ * // term: "STRING_VALUE",
535
+ * // paymentOption: "STRING_VALUE",
536
+ * // numberOfInstancesToPurchase: "STRING_VALUE",
537
+ * // instanceFamily: "STRING_VALUE",
538
+ * // instanceType: "STRING_VALUE",
539
+ * // reservedInstancesRegion: "STRING_VALUE",
540
+ * // sizeFlexEligible: true || false,
541
+ * // currentGeneration: "STRING_VALUE",
542
+ * // upfrontCost: "STRING_VALUE",
543
+ * // monthlyRecurringCost: "STRING_VALUE",
544
+ * // },
545
+ * // costCalculation: "<ReservedInstancesCostCalculation>",
546
+ * // },
547
+ * // ec2InstanceSavingsPlans: {
548
+ * // configuration: {
549
+ * // accountScope: "STRING_VALUE",
550
+ * // term: "STRING_VALUE",
551
+ * // paymentOption: "STRING_VALUE",
552
+ * // hourlyCommitment: "STRING_VALUE",
553
+ * // instanceFamily: "STRING_VALUE",
554
+ * // savingsPlansRegion: "STRING_VALUE",
555
+ * // },
556
+ * // costCalculation: {
557
+ * // pricing: {
558
+ * // monthlySavingsPlansEligibleCost: Number("double"),
559
+ * // estimatedMonthlyCommitment: Number("double"),
560
+ * // savingsPercentage: Number("double"),
561
+ * // estimatedOnDemandCost: Number("double"),
562
+ * // },
563
+ * // },
564
+ * // },
565
+ * // computeSavingsPlans: {
566
+ * // configuration: {
567
+ * // accountScope: "STRING_VALUE",
568
+ * // term: "STRING_VALUE",
569
+ * // paymentOption: "STRING_VALUE",
570
+ * // hourlyCommitment: "STRING_VALUE",
571
+ * // },
572
+ * // costCalculation: {
573
+ * // pricing: {
574
+ * // monthlySavingsPlansEligibleCost: Number("double"),
575
+ * // estimatedMonthlyCommitment: Number("double"),
576
+ * // savingsPercentage: Number("double"),
577
+ * // estimatedOnDemandCost: Number("double"),
578
+ * // },
579
+ * // },
580
+ * // },
581
+ * // sageMakerSavingsPlans: {
582
+ * // configuration: {
583
+ * // accountScope: "STRING_VALUE",
584
+ * // term: "STRING_VALUE",
585
+ * // paymentOption: "STRING_VALUE",
586
+ * // hourlyCommitment: "STRING_VALUE",
587
+ * // },
588
+ * // costCalculation: "<SavingsPlansCostCalculation>",
589
+ * // },
590
+ * // },
591
+ * // tags: [ // TagList
592
+ * // { // Tag
593
+ * // key: "STRING_VALUE",
594
+ * // value: "STRING_VALUE",
595
+ * // },
596
+ * // ],
597
+ * // };
598
+ *
599
+ * ```
600
+ *
601
+ * @param GetRecommendationCommandInput - {@link GetRecommendationCommandInput}
602
+ * @returns {@link GetRecommendationCommandOutput}
603
+ * @see {@link GetRecommendationCommandInput} for command's `input` shape.
604
+ * @see {@link GetRecommendationCommandOutput} for command's `response` shape.
605
+ * @see {@link CostOptimizationHubClientResolvedConfig | config} for CostOptimizationHubClient's `config` shape.
606
+ *
607
+ * @throws {@link AccessDeniedException} (client fault)
608
+ * <p>You are not authorized to use this operation with the given parameters.</p>
609
+ *
610
+ * @throws {@link InternalServerException} (server fault)
611
+ * <p>An error on the server occurred during the processing of your request. Try again
612
+ * later.</p>
613
+ *
614
+ * @throws {@link ResourceNotFoundException} (client fault)
615
+ * <p>The specified Amazon Resource Name (ARN) in the request doesn't exist.</p>
616
+ *
617
+ * @throws {@link ThrottlingException} (client fault)
618
+ * <p>The request was denied due to request throttling.</p>
619
+ *
620
+ * @throws {@link ValidationException} (client fault)
621
+ * <p>The input fails to satisfy the constraints specified by an Amazon Web Services
622
+ * service.</p>
623
+ *
624
+ * @throws {@link CostOptimizationHubServiceException}
625
+ * <p>Base exception class for all service exceptions from CostOptimizationHub service.</p>
626
+ *
627
+ */
628
+ export declare class GetRecommendationCommand extends $Command<GetRecommendationCommandInput, GetRecommendationCommandOutput, CostOptimizationHubClientResolvedConfig> {
629
+ readonly input: GetRecommendationCommandInput;
630
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
631
+ /**
632
+ * @public
633
+ */
634
+ constructor(input: GetRecommendationCommandInput);
635
+ /**
636
+ * @internal
637
+ */
638
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: CostOptimizationHubClientResolvedConfig, options?: __HttpHandlerOptions): Handler<GetRecommendationCommandInput, GetRecommendationCommandOutput>;
639
+ /**
640
+ * @internal
641
+ */
642
+ private serialize;
643
+ /**
644
+ * @internal
645
+ */
646
+ private deserialize;
647
+ }