import { CurrencyCode, SavingsPlanOfferingFilterAttribute, SavingsPlanOfferingPropertyKey, SavingsPlanPaymentOption, SavingsPlanProductType, SavingsPlanRateFilterAttribute, SavingsPlanRateFilterName, SavingsPlanRatePropertyKey, SavingsPlanRateServiceCode, SavingsPlanRateUnit, SavingsPlansFilterName, SavingsPlanState, SavingsPlanType, } from "./enums"; export interface CreateSavingsPlanRequest { savingsPlanOfferingId: string | undefined; commitment: string | undefined; upfrontPaymentAmount?: string | undefined; purchaseTime?: Date | undefined; clientToken?: string | undefined; tags?: Record | undefined; } export interface CreateSavingsPlanResponse { savingsPlanId?: string | undefined; } export interface DeleteQueuedSavingsPlanRequest { savingsPlanId: string | undefined; } export interface DeleteQueuedSavingsPlanResponse {} export interface SavingsPlanRateFilter { name?: SavingsPlanRateFilterName | undefined; values?: string[] | undefined; } export interface DescribeSavingsPlanRatesRequest { savingsPlanId: string | undefined; filters?: SavingsPlanRateFilter[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface SavingsPlanRateProperty { name?: SavingsPlanRatePropertyKey | undefined; value?: string | undefined; } export interface SavingsPlanRate { rate?: string | undefined; currency?: CurrencyCode | undefined; unit?: SavingsPlanRateUnit | undefined; productType?: SavingsPlanProductType | undefined; serviceCode?: SavingsPlanRateServiceCode | undefined; usageType?: string | undefined; operation?: string | undefined; properties?: SavingsPlanRateProperty[] | undefined; } export interface DescribeSavingsPlanRatesResponse { savingsPlanId?: string | undefined; searchResults?: SavingsPlanRate[] | undefined; nextToken?: string | undefined; } export interface SavingsPlanFilter { name?: SavingsPlansFilterName | undefined; values?: string[] | undefined; } export interface DescribeSavingsPlansRequest { savingsPlanArns?: string[] | undefined; savingsPlanIds?: string[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; states?: SavingsPlanState[] | undefined; filters?: SavingsPlanFilter[] | undefined; } export interface SavingsPlan { offeringId?: string | undefined; savingsPlanId?: string | undefined; savingsPlanArn?: string | undefined; description?: string | undefined; start?: string | undefined; end?: string | undefined; state?: SavingsPlanState | undefined; region?: string | undefined; ec2InstanceFamily?: string | undefined; savingsPlanType?: SavingsPlanType | undefined; paymentOption?: SavingsPlanPaymentOption | undefined; productTypes?: SavingsPlanProductType[] | undefined; currency?: CurrencyCode | undefined; commitment?: string | undefined; upfrontPaymentAmount?: string | undefined; recurringPaymentAmount?: string | undefined; termDurationInSeconds?: number | undefined; tags?: Record | undefined; returnableUntil?: string | undefined; } export interface DescribeSavingsPlansResponse { savingsPlans?: SavingsPlan[] | undefined; nextToken?: string | undefined; } export interface SavingsPlanOfferingRateFilterElement { name?: SavingsPlanRateFilterAttribute | undefined; values?: string[] | undefined; } export interface DescribeSavingsPlansOfferingRatesRequest { savingsPlanOfferingIds?: string[] | undefined; savingsPlanPaymentOptions?: SavingsPlanPaymentOption[] | undefined; savingsPlanTypes?: SavingsPlanType[] | undefined; products?: SavingsPlanProductType[] | undefined; serviceCodes?: SavingsPlanRateServiceCode[] | undefined; usageTypes?: string[] | undefined; operations?: string[] | undefined; filters?: SavingsPlanOfferingRateFilterElement[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface SavingsPlanOfferingRateProperty { name?: string | undefined; value?: string | undefined; } export interface ParentSavingsPlanOffering { offeringId?: string | undefined; paymentOption?: SavingsPlanPaymentOption | undefined; planType?: SavingsPlanType | undefined; durationSeconds?: number | undefined; currency?: CurrencyCode | undefined; planDescription?: string | undefined; } export interface SavingsPlanOfferingRate { savingsPlanOffering?: ParentSavingsPlanOffering | undefined; rate?: string | undefined; unit?: SavingsPlanRateUnit | undefined; productType?: SavingsPlanProductType | undefined; serviceCode?: SavingsPlanRateServiceCode | undefined; usageType?: string | undefined; operation?: string | undefined; properties?: SavingsPlanOfferingRateProperty[] | undefined; } export interface DescribeSavingsPlansOfferingRatesResponse { searchResults?: SavingsPlanOfferingRate[] | undefined; nextToken?: string | undefined; } export interface SavingsPlanOfferingFilterElement { name?: SavingsPlanOfferingFilterAttribute | undefined; values?: string[] | undefined; } export interface DescribeSavingsPlansOfferingsRequest { offeringIds?: string[] | undefined; paymentOptions?: SavingsPlanPaymentOption[] | undefined; productType?: SavingsPlanProductType | undefined; planTypes?: SavingsPlanType[] | undefined; durations?: number[] | undefined; currencies?: CurrencyCode[] | undefined; descriptions?: string[] | undefined; serviceCodes?: string[] | undefined; usageTypes?: string[] | undefined; operations?: string[] | undefined; filters?: SavingsPlanOfferingFilterElement[] | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface SavingsPlanOfferingProperty { name?: SavingsPlanOfferingPropertyKey | undefined; value?: string | undefined; } export interface SavingsPlanOffering { offeringId?: string | undefined; productTypes?: SavingsPlanProductType[] | undefined; planType?: SavingsPlanType | undefined; description?: string | undefined; paymentOption?: SavingsPlanPaymentOption | undefined; durationSeconds?: number | undefined; currency?: CurrencyCode | undefined; serviceCode?: string | undefined; usageType?: string | undefined; operation?: string | undefined; properties?: SavingsPlanOfferingProperty[] | undefined; } export interface DescribeSavingsPlansOfferingsResponse { searchResults?: SavingsPlanOffering[] | undefined; nextToken?: string | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags?: Record | undefined; } export interface ReturnSavingsPlanRequest { savingsPlanId: string | undefined; clientToken?: string | undefined; } export interface ReturnSavingsPlanResponse { savingsPlanId?: string | undefined; } export interface TagResourceRequest { resourceArn: string | undefined; tags: Record | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {}