import { ActionStatus, ActionSubType, ActionType, ApprovalModel, AutoAdjustType, BudgetType, ComparisonOperator, Dimension, EventType, ExecutionType, HealthStatusReason, HealthStatusValue, MatchOption, Metric, NotificationState, NotificationType, SubscriptionType, ThresholdType, TimeUnit, } from "./enums"; export interface ActionThreshold { ActionThresholdValue: number | undefined; ActionThresholdType: ThresholdType | undefined; } export interface IamActionDefinition { PolicyArn: string | undefined; Roles?: string[] | undefined; Groups?: string[] | undefined; Users?: string[] | undefined; } export interface ScpActionDefinition { PolicyId: string | undefined; TargetIds: string[] | undefined; } export interface SsmActionDefinition { ActionSubType: ActionSubType | undefined; Region: string | undefined; InstanceIds: string[] | undefined; } export interface Definition { IamActionDefinition?: IamActionDefinition | undefined; ScpActionDefinition?: ScpActionDefinition | undefined; SsmActionDefinition?: SsmActionDefinition | undefined; } export interface Subscriber { SubscriptionType: SubscriptionType | undefined; Address: string | undefined; } export interface Action { ActionId: string | undefined; BudgetName: string | undefined; NotificationType: NotificationType | undefined; ActionType: ActionType | undefined; ActionThreshold: ActionThreshold | undefined; Definition: Definition | undefined; ExecutionRoleArn: string | undefined; ApprovalModel: ApprovalModel | undefined; Status: ActionStatus | undefined; Subscribers: Subscriber[] | undefined; } export interface ActionHistoryDetails { Message: string | undefined; Action: Action | undefined; } export interface ActionHistory { Timestamp: Date | undefined; Status: ActionStatus | undefined; EventType: EventType | undefined; ActionHistoryDetails: ActionHistoryDetails | undefined; } export interface HistoricalOptions { BudgetAdjustmentPeriod: number | undefined; LookBackAvailablePeriods?: number | undefined; } export interface AutoAdjustData { AutoAdjustType: AutoAdjustType | undefined; HistoricalOptions?: HistoricalOptions | undefined; LastAutoAdjustTime?: Date | undefined; } export interface Spend { Amount: string | undefined; Unit: string | undefined; } export interface CalculatedSpend { ActualSpend: Spend | undefined; ForecastedSpend?: Spend | undefined; } export interface CostTypes { IncludeTax?: boolean | undefined; IncludeSubscription?: boolean | undefined; UseBlended?: boolean | undefined; IncludeRefund?: boolean | undefined; IncludeCredit?: boolean | undefined; IncludeUpfront?: boolean | undefined; IncludeRecurring?: boolean | undefined; IncludeOtherSubscription?: boolean | undefined; IncludeSupport?: boolean | undefined; IncludeDiscount?: boolean | undefined; UseAmortized?: boolean | undefined; } export interface CostCategoryValues { Key?: string | undefined; Values?: string[] | undefined; MatchOptions?: MatchOption[] | undefined; } export interface ExpressionDimensionValues { Key: Dimension | undefined; Values: string[] | undefined; MatchOptions?: MatchOption[] | undefined; } export interface TagValues { Key?: string | undefined; Values?: string[] | undefined; MatchOptions?: MatchOption[] | undefined; } export interface HealthStatus { Status?: HealthStatusValue | undefined; StatusReason?: HealthStatusReason | undefined; LastUpdatedTime?: Date | undefined; } export interface TimePeriod { Start?: Date | undefined; End?: Date | undefined; } export interface Notification { NotificationType: NotificationType | undefined; ComparisonOperator: ComparisonOperator | undefined; Threshold: number | undefined; ThresholdType?: ThresholdType | undefined; NotificationState?: NotificationState | undefined; } export interface NotificationWithSubscribers { Notification: Notification | undefined; Subscribers: Subscriber[] | undefined; } export interface ResourceTag { Key: string | undefined; Value: string | undefined; } export interface CreateBudgetResponse {} export interface CreateBudgetActionRequest { AccountId: string | undefined; BudgetName: string | undefined; NotificationType: NotificationType | undefined; ActionType: ActionType | undefined; ActionThreshold: ActionThreshold | undefined; Definition: Definition | undefined; ExecutionRoleArn: string | undefined; ApprovalModel: ApprovalModel | undefined; Subscribers: Subscriber[] | undefined; ResourceTags?: ResourceTag[] | undefined; } export interface CreateBudgetActionResponse { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; } export interface CreateNotificationRequest { AccountId: string | undefined; BudgetName: string | undefined; Notification: Notification | undefined; Subscribers: Subscriber[] | undefined; } export interface CreateNotificationResponse {} export interface CreateSubscriberRequest { AccountId: string | undefined; BudgetName: string | undefined; Notification: Notification | undefined; Subscriber: Subscriber | undefined; } export interface CreateSubscriberResponse {} export interface DeleteBudgetRequest { AccountId: string | undefined; BudgetName: string | undefined; } export interface DeleteBudgetResponse {} export interface DeleteBudgetActionRequest { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; } export interface DeleteBudgetActionResponse { AccountId: string | undefined; BudgetName: string | undefined; Action: Action | undefined; } export interface DeleteNotificationRequest { AccountId: string | undefined; BudgetName: string | undefined; Notification: Notification | undefined; } export interface DeleteNotificationResponse {} export interface DeleteSubscriberRequest { AccountId: string | undefined; BudgetName: string | undefined; Notification: Notification | undefined; Subscriber: Subscriber | undefined; } export interface DeleteSubscriberResponse {} export interface DescribeBudgetRequest { AccountId: string | undefined; BudgetName: string | undefined; ShowFilterExpression?: boolean | undefined; } export interface DescribeBudgetActionRequest { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; } export interface DescribeBudgetActionResponse { AccountId: string | undefined; BudgetName: string | undefined; Action: Action | undefined; } export interface DescribeBudgetActionHistoriesRequest { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; TimePeriod?: TimePeriod | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface DescribeBudgetActionHistoriesResponse { ActionHistories: ActionHistory[] | undefined; NextToken?: string | undefined; } export interface DescribeBudgetActionsForAccountRequest { AccountId: string | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface DescribeBudgetActionsForAccountResponse { Actions: Action[] | undefined; NextToken?: string | undefined; } export interface DescribeBudgetActionsForBudgetRequest { AccountId: string | undefined; BudgetName: string | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface DescribeBudgetActionsForBudgetResponse { Actions: Action[] | undefined; NextToken?: string | undefined; } export interface DescribeBudgetNotificationsForAccountRequest { AccountId: string | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface BudgetNotificationsForAccount { Notifications?: Notification[] | undefined; BudgetName?: string | undefined; } export interface DescribeBudgetNotificationsForAccountResponse { BudgetNotificationsForAccount?: BudgetNotificationsForAccount[] | undefined; NextToken?: string | undefined; } export interface DescribeBudgetPerformanceHistoryRequest { AccountId: string | undefined; BudgetName: string | undefined; TimePeriod?: TimePeriod | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface BudgetedAndActualAmounts { BudgetedAmount?: Spend | undefined; ActualAmount?: Spend | undefined; TimePeriod?: TimePeriod | undefined; } export interface DescribeBudgetsRequest { AccountId: string | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; ShowFilterExpression?: boolean | undefined; } export interface DescribeNotificationsForBudgetRequest { AccountId: string | undefined; BudgetName: string | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface DescribeNotificationsForBudgetResponse { Notifications?: Notification[] | undefined; NextToken?: string | undefined; } export interface DescribeSubscribersForNotificationRequest { AccountId: string | undefined; BudgetName: string | undefined; Notification: Notification | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface DescribeSubscribersForNotificationResponse { Subscribers?: Subscriber[] | undefined; NextToken?: string | undefined; } export interface ExecuteBudgetActionRequest { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; ExecutionType: ExecutionType | undefined; } export interface ExecuteBudgetActionResponse { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; ExecutionType: ExecutionType | undefined; } export interface ListTagsForResourceRequest { ResourceARN: string | undefined; } export interface ListTagsForResourceResponse { ResourceTags?: ResourceTag[] | undefined; } export interface TagResourceRequest { ResourceARN: string | undefined; ResourceTags: ResourceTag[] | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { ResourceARN: string | undefined; ResourceTagKeys: string[] | undefined; } export interface UntagResourceResponse {} export interface UpdateBudgetResponse {} export interface UpdateBudgetActionRequest { AccountId: string | undefined; BudgetName: string | undefined; ActionId: string | undefined; NotificationType?: NotificationType | undefined; ActionThreshold?: ActionThreshold | undefined; Definition?: Definition | undefined; ExecutionRoleArn?: string | undefined; ApprovalModel?: ApprovalModel | undefined; Subscribers?: Subscriber[] | undefined; } export interface UpdateBudgetActionResponse { AccountId: string | undefined; BudgetName: string | undefined; OldAction: Action | undefined; NewAction: Action | undefined; } export interface UpdateNotificationRequest { AccountId: string | undefined; BudgetName: string | undefined; OldNotification: Notification | undefined; NewNotification: Notification | undefined; } export interface UpdateNotificationResponse {} export interface UpdateSubscriberRequest { AccountId: string | undefined; BudgetName: string | undefined; Notification: Notification | undefined; OldSubscriber: Subscriber | undefined; NewSubscriber: Subscriber | undefined; } export interface UpdateSubscriberResponse {} export interface Expression { Or?: Expression[] | undefined; And?: Expression[] | undefined; Not?: Expression | undefined; Dimensions?: ExpressionDimensionValues | undefined; Tags?: TagValues | undefined; CostCategories?: CostCategoryValues | undefined; } export interface Budget { BudgetName: string | undefined; BudgetLimit?: Spend | undefined; PlannedBudgetLimits?: Record | undefined; CostFilters?: Record | undefined; CostTypes?: CostTypes | undefined; TimeUnit: TimeUnit | undefined; TimePeriod?: TimePeriod | undefined; CalculatedSpend?: CalculatedSpend | undefined; BudgetType: BudgetType | undefined; LastUpdatedTime?: Date | undefined; AutoAdjustData?: AutoAdjustData | undefined; FilterExpression?: Expression | undefined; Metrics?: Metric[] | undefined; BillingViewArn?: string | undefined; HealthStatus?: HealthStatus | undefined; } export interface BudgetPerformanceHistory { BudgetName?: string | undefined; BudgetType?: BudgetType | undefined; CostFilters?: Record | undefined; CostTypes?: CostTypes | undefined; TimeUnit?: TimeUnit | undefined; BillingViewArn?: string | undefined; BudgetedAndActualAmountsList?: BudgetedAndActualAmounts[] | undefined; FilterExpression?: Expression | undefined; Metrics?: Metric[] | undefined; } export interface CreateBudgetRequest { AccountId: string | undefined; Budget: Budget | undefined; NotificationsWithSubscribers?: NotificationWithSubscribers[] | undefined; ResourceTags?: ResourceTag[] | undefined; } export interface DescribeBudgetPerformanceHistoryResponse { BudgetPerformanceHistory?: BudgetPerformanceHistory | undefined; NextToken?: string | undefined; } export interface DescribeBudgetResponse { Budget?: Budget | undefined; } export interface UpdateBudgetRequest { AccountId: string | undefined; NewBudget: Budget | undefined; } export interface DescribeBudgetsResponse { Budgets?: Budget[] | undefined; NextToken?: string | undefined; }