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