savingsplans.d.ts 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745
  1. import {Request} from '../lib/request';
  2. import {Response} from '../lib/response';
  3. import {AWSError} from '../lib/error';
  4. import {Service} from '../lib/service';
  5. import {ServiceConfigurationOptions} from '../lib/service';
  6. import {ConfigBase as Config} from '../lib/config-base';
  7. interface Blob {}
  8. declare class SavingsPlans extends Service {
  9. /**
  10. * Constructs a service object. This object has one method for each API operation.
  11. */
  12. constructor(options?: SavingsPlans.Types.ClientConfiguration)
  13. config: Config & SavingsPlans.Types.ClientConfiguration;
  14. /**
  15. * Creates a Savings Plan.
  16. */
  17. createSavingsPlan(params: SavingsPlans.Types.CreateSavingsPlanRequest, callback?: (err: AWSError, data: SavingsPlans.Types.CreateSavingsPlanResponse) => void): Request<SavingsPlans.Types.CreateSavingsPlanResponse, AWSError>;
  18. /**
  19. * Creates a Savings Plan.
  20. */
  21. createSavingsPlan(callback?: (err: AWSError, data: SavingsPlans.Types.CreateSavingsPlanResponse) => void): Request<SavingsPlans.Types.CreateSavingsPlanResponse, AWSError>;
  22. /**
  23. * Deletes the queued purchase for the specified Savings Plan.
  24. */
  25. deleteQueuedSavingsPlan(params: SavingsPlans.Types.DeleteQueuedSavingsPlanRequest, callback?: (err: AWSError, data: SavingsPlans.Types.DeleteQueuedSavingsPlanResponse) => void): Request<SavingsPlans.Types.DeleteQueuedSavingsPlanResponse, AWSError>;
  26. /**
  27. * Deletes the queued purchase for the specified Savings Plan.
  28. */
  29. deleteQueuedSavingsPlan(callback?: (err: AWSError, data: SavingsPlans.Types.DeleteQueuedSavingsPlanResponse) => void): Request<SavingsPlans.Types.DeleteQueuedSavingsPlanResponse, AWSError>;
  30. /**
  31. * Describes the rates for the specified Savings Plan.
  32. */
  33. describeSavingsPlanRates(params: SavingsPlans.Types.DescribeSavingsPlanRatesRequest, callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlanRatesResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlanRatesResponse, AWSError>;
  34. /**
  35. * Describes the rates for the specified Savings Plan.
  36. */
  37. describeSavingsPlanRates(callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlanRatesResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlanRatesResponse, AWSError>;
  38. /**
  39. * Describes the specified Savings Plans.
  40. */
  41. describeSavingsPlans(params: SavingsPlans.Types.DescribeSavingsPlansRequest, callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlansResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlansResponse, AWSError>;
  42. /**
  43. * Describes the specified Savings Plans.
  44. */
  45. describeSavingsPlans(callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlansResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlansResponse, AWSError>;
  46. /**
  47. * Describes the offering rates for the specified Savings Plans.
  48. */
  49. describeSavingsPlansOfferingRates(params: SavingsPlans.Types.DescribeSavingsPlansOfferingRatesRequest, callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlansOfferingRatesResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlansOfferingRatesResponse, AWSError>;
  50. /**
  51. * Describes the offering rates for the specified Savings Plans.
  52. */
  53. describeSavingsPlansOfferingRates(callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlansOfferingRatesResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlansOfferingRatesResponse, AWSError>;
  54. /**
  55. * Describes the offerings for the specified Savings Plans.
  56. */
  57. describeSavingsPlansOfferings(params: SavingsPlans.Types.DescribeSavingsPlansOfferingsRequest, callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlansOfferingsResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlansOfferingsResponse, AWSError>;
  58. /**
  59. * Describes the offerings for the specified Savings Plans.
  60. */
  61. describeSavingsPlansOfferings(callback?: (err: AWSError, data: SavingsPlans.Types.DescribeSavingsPlansOfferingsResponse) => void): Request<SavingsPlans.Types.DescribeSavingsPlansOfferingsResponse, AWSError>;
  62. /**
  63. * Lists the tags for the specified resource.
  64. */
  65. listTagsForResource(params: SavingsPlans.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: SavingsPlans.Types.ListTagsForResourceResponse) => void): Request<SavingsPlans.Types.ListTagsForResourceResponse, AWSError>;
  66. /**
  67. * Lists the tags for the specified resource.
  68. */
  69. listTagsForResource(callback?: (err: AWSError, data: SavingsPlans.Types.ListTagsForResourceResponse) => void): Request<SavingsPlans.Types.ListTagsForResourceResponse, AWSError>;
  70. /**
  71. * Returns the specified Savings Plan.
  72. */
  73. returnSavingsPlan(params: SavingsPlans.Types.ReturnSavingsPlanRequest, callback?: (err: AWSError, data: SavingsPlans.Types.ReturnSavingsPlanResponse) => void): Request<SavingsPlans.Types.ReturnSavingsPlanResponse, AWSError>;
  74. /**
  75. * Returns the specified Savings Plan.
  76. */
  77. returnSavingsPlan(callback?: (err: AWSError, data: SavingsPlans.Types.ReturnSavingsPlanResponse) => void): Request<SavingsPlans.Types.ReturnSavingsPlanResponse, AWSError>;
  78. /**
  79. * Adds the specified tags to the specified resource.
  80. */
  81. tagResource(params: SavingsPlans.Types.TagResourceRequest, callback?: (err: AWSError, data: SavingsPlans.Types.TagResourceResponse) => void): Request<SavingsPlans.Types.TagResourceResponse, AWSError>;
  82. /**
  83. * Adds the specified tags to the specified resource.
  84. */
  85. tagResource(callback?: (err: AWSError, data: SavingsPlans.Types.TagResourceResponse) => void): Request<SavingsPlans.Types.TagResourceResponse, AWSError>;
  86. /**
  87. * Removes the specified tags from the specified resource.
  88. */
  89. untagResource(params: SavingsPlans.Types.UntagResourceRequest, callback?: (err: AWSError, data: SavingsPlans.Types.UntagResourceResponse) => void): Request<SavingsPlans.Types.UntagResourceResponse, AWSError>;
  90. /**
  91. * Removes the specified tags from the specified resource.
  92. */
  93. untagResource(callback?: (err: AWSError, data: SavingsPlans.Types.UntagResourceResponse) => void): Request<SavingsPlans.Types.UntagResourceResponse, AWSError>;
  94. }
  95. declare namespace SavingsPlans {
  96. export type Amount = string;
  97. export type ClientToken = string;
  98. export interface CreateSavingsPlanRequest {
  99. /**
  100. * The ID of the offering.
  101. */
  102. savingsPlanOfferingId: SavingsPlanOfferingId;
  103. /**
  104. * The hourly commitment, in the same currency of the savingsPlanOfferingId. This is a value between 0.001 and 1 million. You cannot specify more than five digits after the decimal point.
  105. */
  106. commitment: Amount;
  107. /**
  108. * The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is only supported if the payment option is Partial Upfront.
  109. */
  110. upfrontPaymentAmount?: Amount;
  111. /**
  112. * The purchase time of the Savings Plan in UTC format (YYYY-MM-DDTHH:MM:SSZ).
  113. */
  114. purchaseTime?: DateTime;
  115. /**
  116. * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
  117. */
  118. clientToken?: ClientToken;
  119. /**
  120. * One or more tags.
  121. */
  122. tags?: TagMap;
  123. }
  124. export interface CreateSavingsPlanResponse {
  125. /**
  126. * The ID of the Savings Plan.
  127. */
  128. savingsPlanId?: SavingsPlanId;
  129. }
  130. export type CurrencyCode = "CNY"|"USD"|string;
  131. export type CurrencyList = CurrencyCode[];
  132. export type DateTime = Date;
  133. export interface DeleteQueuedSavingsPlanRequest {
  134. /**
  135. * The ID of the Savings Plan.
  136. */
  137. savingsPlanId: SavingsPlanId;
  138. }
  139. export interface DeleteQueuedSavingsPlanResponse {
  140. }
  141. export interface DescribeSavingsPlanRatesRequest {
  142. /**
  143. * The ID of the Savings Plan.
  144. */
  145. savingsPlanId: SavingsPlanId;
  146. /**
  147. * The filters.
  148. */
  149. filters?: SavingsPlanRateFilterList;
  150. /**
  151. * The token for the next page of results.
  152. */
  153. nextToken?: PaginationToken;
  154. /**
  155. * The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
  156. */
  157. maxResults?: MaxResults;
  158. }
  159. export interface DescribeSavingsPlanRatesResponse {
  160. /**
  161. * The ID of the Savings Plan.
  162. */
  163. savingsPlanId?: SavingsPlanId;
  164. /**
  165. * Information about the Savings Plan rates.
  166. */
  167. searchResults?: SavingsPlanRateList;
  168. /**
  169. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  170. */
  171. nextToken?: PaginationToken;
  172. }
  173. export interface DescribeSavingsPlansOfferingRatesRequest {
  174. /**
  175. * The IDs of the offerings.
  176. */
  177. savingsPlanOfferingIds?: UUIDs;
  178. /**
  179. * The payment options.
  180. */
  181. savingsPlanPaymentOptions?: SavingsPlanPaymentOptionList;
  182. /**
  183. * The plan types.
  184. */
  185. savingsPlanTypes?: SavingsPlanTypeList;
  186. /**
  187. * The Amazon Web Services products.
  188. */
  189. products?: SavingsPlanProductTypeList;
  190. /**
  191. * The services.
  192. */
  193. serviceCodes?: SavingsPlanRateServiceCodeList;
  194. /**
  195. * The usage details of the line item in the billing report.
  196. */
  197. usageTypes?: SavingsPlanRateUsageTypeList;
  198. /**
  199. * The specific Amazon Web Services operation for the line item in the billing report.
  200. */
  201. operations?: SavingsPlanRateOperationList;
  202. /**
  203. * The filters.
  204. */
  205. filters?: SavingsPlanOfferingRateFiltersList;
  206. /**
  207. * The token for the next page of results.
  208. */
  209. nextToken?: PaginationToken;
  210. /**
  211. * The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
  212. */
  213. maxResults?: PageSize;
  214. }
  215. export interface DescribeSavingsPlansOfferingRatesResponse {
  216. /**
  217. * Information about the Savings Plans offering rates.
  218. */
  219. searchResults?: SavingsPlanOfferingRatesList;
  220. /**
  221. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  222. */
  223. nextToken?: PaginationToken;
  224. }
  225. export interface DescribeSavingsPlansOfferingsRequest {
  226. /**
  227. * The IDs of the offerings.
  228. */
  229. offeringIds?: UUIDs;
  230. /**
  231. * The payment options.
  232. */
  233. paymentOptions?: SavingsPlanPaymentOptionList;
  234. /**
  235. * The product type.
  236. */
  237. productType?: SavingsPlanProductType;
  238. /**
  239. * The plan types.
  240. */
  241. planTypes?: SavingsPlanTypeList;
  242. /**
  243. * The duration, in seconds.
  244. */
  245. durations?: DurationsList;
  246. /**
  247. * The currencies.
  248. */
  249. currencies?: CurrencyList;
  250. /**
  251. * The descriptions.
  252. */
  253. descriptions?: SavingsPlanDescriptionsList;
  254. /**
  255. * The services.
  256. */
  257. serviceCodes?: SavingsPlanServiceCodeList;
  258. /**
  259. * The usage details of the line item in the billing report.
  260. */
  261. usageTypes?: SavingsPlanUsageTypeList;
  262. /**
  263. * The specific Amazon Web Services operation for the line item in the billing report.
  264. */
  265. operations?: SavingsPlanOperationList;
  266. /**
  267. * The filters.
  268. */
  269. filters?: SavingsPlanOfferingFiltersList;
  270. /**
  271. * The token for the next page of results.
  272. */
  273. nextToken?: PaginationToken;
  274. /**
  275. * The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
  276. */
  277. maxResults?: PageSize;
  278. }
  279. export interface DescribeSavingsPlansOfferingsResponse {
  280. /**
  281. * Information about the Savings Plans offerings.
  282. */
  283. searchResults?: SavingsPlanOfferingsList;
  284. /**
  285. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  286. */
  287. nextToken?: PaginationToken;
  288. }
  289. export interface DescribeSavingsPlansRequest {
  290. /**
  291. * The Amazon Resource Names (ARN) of the Savings Plans.
  292. */
  293. savingsPlanArns?: SavingsPlanArnList;
  294. /**
  295. * The IDs of the Savings Plans.
  296. */
  297. savingsPlanIds?: SavingsPlanIdList;
  298. /**
  299. * The token for the next page of results.
  300. */
  301. nextToken?: PaginationToken;
  302. /**
  303. * The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.
  304. */
  305. maxResults?: MaxResults;
  306. /**
  307. * The current states of the Savings Plans.
  308. */
  309. states?: SavingsPlanStateList;
  310. /**
  311. * The filters.
  312. */
  313. filters?: SavingsPlanFilterList;
  314. }
  315. export interface DescribeSavingsPlansResponse {
  316. /**
  317. * Information about the Savings Plans.
  318. */
  319. savingsPlans?: SavingsPlanList;
  320. /**
  321. * The token to use to retrieve the next page of results. This value is null when there are no more results to return.
  322. */
  323. nextToken?: PaginationToken;
  324. }
  325. export type DurationsList = SavingsPlansDuration[];
  326. export type EC2InstanceFamily = string;
  327. export type FilterValuesList = JsonSafeFilterValueString[];
  328. export type JsonSafeFilterValueString = string;
  329. export type ListOfStrings = String[];
  330. export interface ListTagsForResourceRequest {
  331. /**
  332. * The Amazon Resource Name (ARN) of the resource.
  333. */
  334. resourceArn: SavingsPlanArn;
  335. }
  336. export interface ListTagsForResourceResponse {
  337. /**
  338. * Information about the tags.
  339. */
  340. tags?: TagMap;
  341. }
  342. export type MaxResults = number;
  343. export type PageSize = number;
  344. export type PaginationToken = string;
  345. export interface ParentSavingsPlanOffering {
  346. /**
  347. * The ID of the offering.
  348. */
  349. offeringId?: UUID;
  350. /**
  351. * The payment option.
  352. */
  353. paymentOption?: SavingsPlanPaymentOption;
  354. /**
  355. * The plan type.
  356. */
  357. planType?: SavingsPlanType;
  358. /**
  359. * The duration, in seconds.
  360. */
  361. durationSeconds?: SavingsPlansDuration;
  362. /**
  363. * The currency.
  364. */
  365. currency?: CurrencyCode;
  366. /**
  367. * The description.
  368. */
  369. planDescription?: SavingsPlanDescription;
  370. }
  371. export type Region = string;
  372. export interface ReturnSavingsPlanRequest {
  373. /**
  374. * The ID of the Savings Plan.
  375. */
  376. savingsPlanId: SavingsPlanId;
  377. /**
  378. * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
  379. */
  380. clientToken?: ClientToken;
  381. }
  382. export interface ReturnSavingsPlanResponse {
  383. /**
  384. * The ID of the Savings Plan.
  385. */
  386. savingsPlanId?: SavingsPlanId;
  387. }
  388. export interface SavingsPlan {
  389. /**
  390. * The ID of the offering.
  391. */
  392. offeringId?: SavingsPlanOfferingId;
  393. /**
  394. * The ID of the Savings Plan.
  395. */
  396. savingsPlanId?: SavingsPlanId;
  397. /**
  398. * The Amazon Resource Name (ARN) of the Savings Plan.
  399. */
  400. savingsPlanArn?: SavingsPlanArn;
  401. /**
  402. * The description.
  403. */
  404. description?: String;
  405. /**
  406. * The start time.
  407. */
  408. start?: String;
  409. /**
  410. * The end time.
  411. */
  412. end?: String;
  413. /**
  414. * The current state.
  415. */
  416. state?: SavingsPlanState;
  417. /**
  418. * The Amazon Web Services Region.
  419. */
  420. region?: Region;
  421. /**
  422. * The EC2 instance family.
  423. */
  424. ec2InstanceFamily?: EC2InstanceFamily;
  425. /**
  426. * The plan type.
  427. */
  428. savingsPlanType?: SavingsPlanType;
  429. /**
  430. * The payment option.
  431. */
  432. paymentOption?: SavingsPlanPaymentOption;
  433. /**
  434. * The product types.
  435. */
  436. productTypes?: SavingsPlanProductTypeList;
  437. /**
  438. * The currency.
  439. */
  440. currency?: CurrencyCode;
  441. /**
  442. * The hourly commitment amount in the specified currency.
  443. */
  444. commitment?: Amount;
  445. /**
  446. * The up-front payment amount.
  447. */
  448. upfrontPaymentAmount?: Amount;
  449. /**
  450. * The recurring payment amount.
  451. */
  452. recurringPaymentAmount?: Amount;
  453. /**
  454. * The duration of the term, in seconds.
  455. */
  456. termDurationInSeconds?: TermDurationInSeconds;
  457. /**
  458. * One or more tags.
  459. */
  460. tags?: TagMap;
  461. /**
  462. * The time until when a return for the Savings Plan can be requested. If the Savings Plan is not returnable, the field reflects the Savings Plan start time.
  463. */
  464. returnableUntil?: String;
  465. }
  466. export type SavingsPlanArn = string;
  467. export type SavingsPlanArnList = SavingsPlanArn[];
  468. export type SavingsPlanDescription = string;
  469. export type SavingsPlanDescriptionsList = SavingsPlanDescription[];
  470. export interface SavingsPlanFilter {
  471. /**
  472. * The filter name.
  473. */
  474. name?: SavingsPlansFilterName;
  475. /**
  476. * The filter value.
  477. */
  478. values?: ListOfStrings;
  479. }
  480. export type SavingsPlanFilterList = SavingsPlanFilter[];
  481. export type SavingsPlanId = string;
  482. export type SavingsPlanIdList = SavingsPlanId[];
  483. export type SavingsPlanList = SavingsPlan[];
  484. export interface SavingsPlanOffering {
  485. /**
  486. * The ID of the offering.
  487. */
  488. offeringId?: UUID;
  489. /**
  490. * The product type.
  491. */
  492. productTypes?: SavingsPlanProductTypeList;
  493. /**
  494. * The plan type.
  495. */
  496. planType?: SavingsPlanType;
  497. /**
  498. * The description.
  499. */
  500. description?: SavingsPlanDescription;
  501. /**
  502. * The payment option.
  503. */
  504. paymentOption?: SavingsPlanPaymentOption;
  505. /**
  506. * The duration, in seconds.
  507. */
  508. durationSeconds?: SavingsPlansDuration;
  509. /**
  510. * The currency.
  511. */
  512. currency?: CurrencyCode;
  513. /**
  514. * The service.
  515. */
  516. serviceCode?: SavingsPlanServiceCode;
  517. /**
  518. * The usage details of the line item in the billing report.
  519. */
  520. usageType?: SavingsPlanUsageType;
  521. /**
  522. * The specific Amazon Web Services operation for the line item in the billing report.
  523. */
  524. operation?: SavingsPlanOperation;
  525. /**
  526. * The properties.
  527. */
  528. properties?: SavingsPlanOfferingPropertyList;
  529. }
  530. export type SavingsPlanOfferingFilterAttribute = "region"|"instanceFamily"|string;
  531. export interface SavingsPlanOfferingFilterElement {
  532. /**
  533. * The filter name.
  534. */
  535. name?: SavingsPlanOfferingFilterAttribute;
  536. /**
  537. * The filter values.
  538. */
  539. values?: FilterValuesList;
  540. }
  541. export type SavingsPlanOfferingFiltersList = SavingsPlanOfferingFilterElement[];
  542. export type SavingsPlanOfferingId = string;
  543. export interface SavingsPlanOfferingProperty {
  544. /**
  545. * The property name.
  546. */
  547. name?: SavingsPlanOfferingPropertyKey;
  548. /**
  549. * The property value.
  550. */
  551. value?: JsonSafeFilterValueString;
  552. }
  553. export type SavingsPlanOfferingPropertyKey = "region"|"instanceFamily"|string;
  554. export type SavingsPlanOfferingPropertyList = SavingsPlanOfferingProperty[];
  555. export interface SavingsPlanOfferingRate {
  556. /**
  557. * The Savings Plan offering.
  558. */
  559. savingsPlanOffering?: ParentSavingsPlanOffering;
  560. /**
  561. * The Savings Plan rate.
  562. */
  563. rate?: SavingsPlanRatePricePerUnit;
  564. /**
  565. * The unit.
  566. */
  567. unit?: SavingsPlanRateUnit;
  568. /**
  569. * The product type.
  570. */
  571. productType?: SavingsPlanProductType;
  572. /**
  573. * The service.
  574. */
  575. serviceCode?: SavingsPlanRateServiceCode;
  576. /**
  577. * The usage details of the line item in the billing report.
  578. */
  579. usageType?: SavingsPlanRateUsageType;
  580. /**
  581. * The specific Amazon Web Services operation for the line item in the billing report.
  582. */
  583. operation?: SavingsPlanRateOperation;
  584. /**
  585. * The properties.
  586. */
  587. properties?: SavingsPlanOfferingRatePropertyList;
  588. }
  589. export interface SavingsPlanOfferingRateFilterElement {
  590. /**
  591. * The filter name.
  592. */
  593. name?: SavingsPlanRateFilterAttribute;
  594. /**
  595. * The filter values.
  596. */
  597. values?: FilterValuesList;
  598. }
  599. export type SavingsPlanOfferingRateFiltersList = SavingsPlanOfferingRateFilterElement[];
  600. export interface SavingsPlanOfferingRateProperty {
  601. /**
  602. * The property name.
  603. */
  604. name?: JsonSafeFilterValueString;
  605. /**
  606. * The property value.
  607. */
  608. value?: JsonSafeFilterValueString;
  609. }
  610. export type SavingsPlanOfferingRatePropertyList = SavingsPlanOfferingRateProperty[];
  611. export type SavingsPlanOfferingRatesList = SavingsPlanOfferingRate[];
  612. export type SavingsPlanOfferingsList = SavingsPlanOffering[];
  613. export type SavingsPlanOperation = string;
  614. export type SavingsPlanOperationList = SavingsPlanOperation[];
  615. export type SavingsPlanPaymentOption = "All Upfront"|"Partial Upfront"|"No Upfront"|string;
  616. export type SavingsPlanPaymentOptionList = SavingsPlanPaymentOption[];
  617. export type SavingsPlanProductType = "EC2"|"Fargate"|"Lambda"|"SageMaker"|string;
  618. export type SavingsPlanProductTypeList = SavingsPlanProductType[];
  619. export interface SavingsPlanRate {
  620. /**
  621. * The rate.
  622. */
  623. rate?: Amount;
  624. /**
  625. * The currency.
  626. */
  627. currency?: CurrencyCode;
  628. /**
  629. * The unit.
  630. */
  631. unit?: SavingsPlanRateUnit;
  632. /**
  633. * The product type.
  634. */
  635. productType?: SavingsPlanProductType;
  636. /**
  637. * The service.
  638. */
  639. serviceCode?: SavingsPlanRateServiceCode;
  640. /**
  641. * The usage details of the line item in the billing report.
  642. */
  643. usageType?: SavingsPlanRateUsageType;
  644. /**
  645. * The specific Amazon Web Services operation for the line item in the billing report.
  646. */
  647. operation?: SavingsPlanRateOperation;
  648. /**
  649. * The properties.
  650. */
  651. properties?: SavingsPlanRatePropertyList;
  652. }
  653. export interface SavingsPlanRateFilter {
  654. /**
  655. * The filter name.
  656. */
  657. name?: SavingsPlanRateFilterName;
  658. /**
  659. * The filter values.
  660. */
  661. values?: ListOfStrings;
  662. }
  663. export type SavingsPlanRateFilterAttribute = "region"|"instanceFamily"|"instanceType"|"productDescription"|"tenancy"|"productId"|string;
  664. export type SavingsPlanRateFilterList = SavingsPlanRateFilter[];
  665. export type SavingsPlanRateFilterName = "region"|"instanceType"|"productDescription"|"tenancy"|"productType"|"serviceCode"|"usageType"|"operation"|string;
  666. export type SavingsPlanRateList = SavingsPlanRate[];
  667. export type SavingsPlanRateOperation = string;
  668. export type SavingsPlanRateOperationList = SavingsPlanRateOperation[];
  669. export type SavingsPlanRatePricePerUnit = string;
  670. export interface SavingsPlanRateProperty {
  671. /**
  672. * The property name.
  673. */
  674. name?: SavingsPlanRatePropertyKey;
  675. /**
  676. * The property value.
  677. */
  678. value?: JsonSafeFilterValueString;
  679. }
  680. export type SavingsPlanRatePropertyKey = "region"|"instanceType"|"instanceFamily"|"productDescription"|"tenancy"|string;
  681. export type SavingsPlanRatePropertyList = SavingsPlanRateProperty[];
  682. export type SavingsPlanRateServiceCode = "AmazonEC2"|"AmazonECS"|"AmazonEKS"|"AWSLambda"|"AmazonSageMaker"|string;
  683. export type SavingsPlanRateServiceCodeList = SavingsPlanRateServiceCode[];
  684. export type SavingsPlanRateUnit = "Hrs"|"Lambda-GB-Second"|"Request"|string;
  685. export type SavingsPlanRateUsageType = string;
  686. export type SavingsPlanRateUsageTypeList = SavingsPlanRateUsageType[];
  687. export type SavingsPlanServiceCode = string;
  688. export type SavingsPlanServiceCodeList = SavingsPlanServiceCode[];
  689. export type SavingsPlanState = "payment-pending"|"payment-failed"|"active"|"retired"|"queued"|"queued-deleted"|"pending-return"|"returned"|string;
  690. export type SavingsPlanStateList = SavingsPlanState[];
  691. export type SavingsPlanType = "Compute"|"EC2Instance"|"SageMaker"|string;
  692. export type SavingsPlanTypeList = SavingsPlanType[];
  693. export type SavingsPlanUsageType = string;
  694. export type SavingsPlanUsageTypeList = SavingsPlanUsageType[];
  695. export type SavingsPlansDuration = number;
  696. export type SavingsPlansFilterName = "region"|"ec2-instance-family"|"commitment"|"upfront"|"term"|"savings-plan-type"|"payment-option"|"start"|"end"|string;
  697. export type String = string;
  698. export type TagKey = string;
  699. export type TagKeyList = TagKey[];
  700. export type TagMap = {[key: string]: TagValue};
  701. export interface TagResourceRequest {
  702. /**
  703. * The Amazon Resource Name (ARN) of the resource.
  704. */
  705. resourceArn: SavingsPlanArn;
  706. /**
  707. * One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
  708. */
  709. tags: TagMap;
  710. }
  711. export interface TagResourceResponse {
  712. }
  713. export type TagValue = string;
  714. export type TermDurationInSeconds = number;
  715. export type UUID = string;
  716. export type UUIDs = UUID[];
  717. export interface UntagResourceRequest {
  718. /**
  719. * The Amazon Resource Name (ARN) of the resource.
  720. */
  721. resourceArn: SavingsPlanArn;
  722. /**
  723. * The tag keys.
  724. */
  725. tagKeys: TagKeyList;
  726. }
  727. export interface UntagResourceResponse {
  728. }
  729. /**
  730. * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
  731. */
  732. export type apiVersion = "2019-06-28"|"latest"|string;
  733. export interface ClientApiVersions {
  734. /**
  735. * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
  736. */
  737. apiVersion?: apiVersion;
  738. }
  739. export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
  740. /**
  741. * Contains interfaces for use with the SavingsPlans client.
  742. */
  743. export import Types = SavingsPlans;
  744. }
  745. export = SavingsPlans;