UNPKG

28.5 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class Budgets extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: Budgets.Types.ClientConfiguration)
13 config: Config & Budgets.Types.ClientConfiguration;
14 /**
15 * Creates a budget and, if included, notifications and subscribers.
16 */
17 createBudget(params: Budgets.Types.CreateBudgetRequest, callback?: (err: AWSError, data: Budgets.Types.CreateBudgetResponse) => void): Request<Budgets.Types.CreateBudgetResponse, AWSError>;
18 /**
19 * Creates a budget and, if included, notifications and subscribers.
20 */
21 createBudget(callback?: (err: AWSError, data: Budgets.Types.CreateBudgetResponse) => void): Request<Budgets.Types.CreateBudgetResponse, AWSError>;
22 /**
23 * Creates a notification. You must create the budget before you create the associated notification.
24 */
25 createNotification(params: Budgets.Types.CreateNotificationRequest, callback?: (err: AWSError, data: Budgets.Types.CreateNotificationResponse) => void): Request<Budgets.Types.CreateNotificationResponse, AWSError>;
26 /**
27 * Creates a notification. You must create the budget before you create the associated notification.
28 */
29 createNotification(callback?: (err: AWSError, data: Budgets.Types.CreateNotificationResponse) => void): Request<Budgets.Types.CreateNotificationResponse, AWSError>;
30 /**
31 * Creates a subscriber. You must create the associated budget and notification before you create the subscriber.
32 */
33 createSubscriber(params: Budgets.Types.CreateSubscriberRequest, callback?: (err: AWSError, data: Budgets.Types.CreateSubscriberResponse) => void): Request<Budgets.Types.CreateSubscriberResponse, AWSError>;
34 /**
35 * Creates a subscriber. You must create the associated budget and notification before you create the subscriber.
36 */
37 createSubscriber(callback?: (err: AWSError, data: Budgets.Types.CreateSubscriberResponse) => void): Request<Budgets.Types.CreateSubscriberResponse, AWSError>;
38 /**
39 * Deletes a budget. You can delete your budget at any time. Deleting a budget also deletes the notifications and subscribers that are associated with that budget.
40 */
41 deleteBudget(params: Budgets.Types.DeleteBudgetRequest, callback?: (err: AWSError, data: Budgets.Types.DeleteBudgetResponse) => void): Request<Budgets.Types.DeleteBudgetResponse, AWSError>;
42 /**
43 * Deletes a budget. You can delete your budget at any time. Deleting a budget also deletes the notifications and subscribers that are associated with that budget.
44 */
45 deleteBudget(callback?: (err: AWSError, data: Budgets.Types.DeleteBudgetResponse) => void): Request<Budgets.Types.DeleteBudgetResponse, AWSError>;
46 /**
47 * Deletes a notification. Deleting a notification also deletes the subscribers that are associated with the notification.
48 */
49 deleteNotification(params: Budgets.Types.DeleteNotificationRequest, callback?: (err: AWSError, data: Budgets.Types.DeleteNotificationResponse) => void): Request<Budgets.Types.DeleteNotificationResponse, AWSError>;
50 /**
51 * Deletes a notification. Deleting a notification also deletes the subscribers that are associated with the notification.
52 */
53 deleteNotification(callback?: (err: AWSError, data: Budgets.Types.DeleteNotificationResponse) => void): Request<Budgets.Types.DeleteNotificationResponse, AWSError>;
54 /**
55 * Deletes a subscriber. Deleting the last subscriber to a notification also deletes the notification.
56 */
57 deleteSubscriber(params: Budgets.Types.DeleteSubscriberRequest, callback?: (err: AWSError, data: Budgets.Types.DeleteSubscriberResponse) => void): Request<Budgets.Types.DeleteSubscriberResponse, AWSError>;
58 /**
59 * Deletes a subscriber. Deleting the last subscriber to a notification also deletes the notification.
60 */
61 deleteSubscriber(callback?: (err: AWSError, data: Budgets.Types.DeleteSubscriberResponse) => void): Request<Budgets.Types.DeleteSubscriberResponse, AWSError>;
62 /**
63 * Describes a budget.
64 */
65 describeBudget(params: Budgets.Types.DescribeBudgetRequest, callback?: (err: AWSError, data: Budgets.Types.DescribeBudgetResponse) => void): Request<Budgets.Types.DescribeBudgetResponse, AWSError>;
66 /**
67 * Describes a budget.
68 */
69 describeBudget(callback?: (err: AWSError, data: Budgets.Types.DescribeBudgetResponse) => void): Request<Budgets.Types.DescribeBudgetResponse, AWSError>;
70 /**
71 * Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.
72 */
73 describeBudgetPerformanceHistory(params: Budgets.Types.DescribeBudgetPerformanceHistoryRequest, callback?: (err: AWSError, data: Budgets.Types.DescribeBudgetPerformanceHistoryResponse) => void): Request<Budgets.Types.DescribeBudgetPerformanceHistoryResponse, AWSError>;
74 /**
75 * Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.
76 */
77 describeBudgetPerformanceHistory(callback?: (err: AWSError, data: Budgets.Types.DescribeBudgetPerformanceHistoryResponse) => void): Request<Budgets.Types.DescribeBudgetPerformanceHistoryResponse, AWSError>;
78 /**
79 * Lists the budgets that are associated with an account.
80 */
81 describeBudgets(params: Budgets.Types.DescribeBudgetsRequest, callback?: (err: AWSError, data: Budgets.Types.DescribeBudgetsResponse) => void): Request<Budgets.Types.DescribeBudgetsResponse, AWSError>;
82 /**
83 * Lists the budgets that are associated with an account.
84 */
85 describeBudgets(callback?: (err: AWSError, data: Budgets.Types.DescribeBudgetsResponse) => void): Request<Budgets.Types.DescribeBudgetsResponse, AWSError>;
86 /**
87 * Lists the notifications that are associated with a budget.
88 */
89 describeNotificationsForBudget(params: Budgets.Types.DescribeNotificationsForBudgetRequest, callback?: (err: AWSError, data: Budgets.Types.DescribeNotificationsForBudgetResponse) => void): Request<Budgets.Types.DescribeNotificationsForBudgetResponse, AWSError>;
90 /**
91 * Lists the notifications that are associated with a budget.
92 */
93 describeNotificationsForBudget(callback?: (err: AWSError, data: Budgets.Types.DescribeNotificationsForBudgetResponse) => void): Request<Budgets.Types.DescribeNotificationsForBudgetResponse, AWSError>;
94 /**
95 * Lists the subscribers that are associated with a notification.
96 */
97 describeSubscribersForNotification(params: Budgets.Types.DescribeSubscribersForNotificationRequest, callback?: (err: AWSError, data: Budgets.Types.DescribeSubscribersForNotificationResponse) => void): Request<Budgets.Types.DescribeSubscribersForNotificationResponse, AWSError>;
98 /**
99 * Lists the subscribers that are associated with a notification.
100 */
101 describeSubscribersForNotification(callback?: (err: AWSError, data: Budgets.Types.DescribeSubscribersForNotificationResponse) => void): Request<Budgets.Types.DescribeSubscribersForNotificationResponse, AWSError>;
102 /**
103 * Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.
104 */
105 updateBudget(params: Budgets.Types.UpdateBudgetRequest, callback?: (err: AWSError, data: Budgets.Types.UpdateBudgetResponse) => void): Request<Budgets.Types.UpdateBudgetResponse, AWSError>;
106 /**
107 * Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.
108 */
109 updateBudget(callback?: (err: AWSError, data: Budgets.Types.UpdateBudgetResponse) => void): Request<Budgets.Types.UpdateBudgetResponse, AWSError>;
110 /**
111 * Updates a notification.
112 */
113 updateNotification(params: Budgets.Types.UpdateNotificationRequest, callback?: (err: AWSError, data: Budgets.Types.UpdateNotificationResponse) => void): Request<Budgets.Types.UpdateNotificationResponse, AWSError>;
114 /**
115 * Updates a notification.
116 */
117 updateNotification(callback?: (err: AWSError, data: Budgets.Types.UpdateNotificationResponse) => void): Request<Budgets.Types.UpdateNotificationResponse, AWSError>;
118 /**
119 * Updates a subscriber.
120 */
121 updateSubscriber(params: Budgets.Types.UpdateSubscriberRequest, callback?: (err: AWSError, data: Budgets.Types.UpdateSubscriberResponse) => void): Request<Budgets.Types.UpdateSubscriberResponse, AWSError>;
122 /**
123 * Updates a subscriber.
124 */
125 updateSubscriber(callback?: (err: AWSError, data: Budgets.Types.UpdateSubscriberResponse) => void): Request<Budgets.Types.UpdateSubscriberResponse, AWSError>;
126}
127declare namespace Budgets {
128 export type AccountId = string;
129 export interface Budget {
130 /**
131 * The name of a budget. The name must be unique within accounts. The : and \ characters aren't allowed in BudgetName.
132 */
133 BudgetName: BudgetName;
134 /**
135 * The total amount of cost, usage, RI utilization, or RI coverage that you want to track with your budget. BudgetLimit is required for cost or usage budgets, but optional for RI utilization or coverage budgets. RI utilization or coverage budgets default to 100, which is the only valid value for RI utilization or coverage budgets.
136 */
137 BudgetLimit?: Spend;
138 /**
139 * The cost filters, such as service or region, that are applied to a budget. AWS Budgets supports the following services as a filter for RI budgets: Amazon Elastic Compute Cloud - Compute Amazon Redshift Amazon Relational Database Service Amazon ElastiCache Amazon Elasticsearch Service
140 */
141 CostFilters?: CostFilters;
142 /**
143 * The types of costs that are included in this COST budget. USAGE, RI_UTILIZATION, and RI_COVERAGE budgets do not have CostTypes.
144 */
145 CostTypes?: CostTypes;
146 /**
147 * The length of time until a budget resets the actual and forecasted spend. DAILY is available only for RI_UTILIZATION and RI_COVERAGE budgets.
148 */
149 TimeUnit: TimeUnit;
150 /**
151 * The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC. If you create your budget and don't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API. You can change either date with the UpdateBudget operation. After the end date, AWS deletes the budget and all associated notifications and subscribers.
152 */
153 TimePeriod?: TimePeriod;
154 /**
155 * The actual and forecasted cost or usage that the budget tracks.
156 */
157 CalculatedSpend?: CalculatedSpend;
158 /**
159 * Whether this budget tracks monetary costs, usage, RI utilization, or RI coverage.
160 */
161 BudgetType: BudgetType;
162 /**
163 * The last time that you updated this budget.
164 */
165 LastUpdatedTime?: GenericTimestamp;
166 }
167 export type BudgetName = string;
168 export interface BudgetPerformanceHistory {
169 BudgetName?: BudgetName;
170 BudgetType?: BudgetType;
171 /**
172 * The history of the cost filters for a budget during the specified time period.
173 */
174 CostFilters?: CostFilters;
175 /**
176 * The history of the cost types for a budget during the specified time period.
177 */
178 CostTypes?: CostTypes;
179 TimeUnit?: TimeUnit;
180 /**
181 * A list of amounts of cost or usage that you created budgets for, compared to your actual costs or usage.
182 */
183 BudgetedAndActualAmountsList?: BudgetedAndActualAmountsList;
184 }
185 export type BudgetType = "USAGE"|"COST"|"RI_UTILIZATION"|"RI_COVERAGE"|string;
186 export interface BudgetedAndActualAmounts {
187 /**
188 * The amount of cost or usage that you created the budget for.
189 */
190 BudgetedAmount?: Spend;
191 /**
192 * Your actual costs or usage for a budget period.
193 */
194 ActualAmount?: Spend;
195 /**
196 * The time period covered by this budget comparison.
197 */
198 TimePeriod?: TimePeriod;
199 }
200 export type BudgetedAndActualAmountsList = BudgetedAndActualAmounts[];
201 export type Budgets = Budget[];
202 export interface CalculatedSpend {
203 /**
204 * The amount of cost, usage, or RI units that you have used.
205 */
206 ActualSpend: Spend;
207 /**
208 * The amount of cost, usage, or RI units that you are forecasted to use.
209 */
210 ForecastedSpend?: Spend;
211 }
212 export type ComparisonOperator = "GREATER_THAN"|"LESS_THAN"|"EQUAL_TO"|string;
213 export type CostFilters = {[key: string]: DimensionValues};
214 export interface CostTypes {
215 /**
216 * Specifies whether a budget includes taxes. The default value is true.
217 */
218 IncludeTax?: NullableBoolean;
219 /**
220 * Specifies whether a budget includes subscriptions. The default value is true.
221 */
222 IncludeSubscription?: NullableBoolean;
223 /**
224 * Specifies whether a budget uses a blended rate. The default value is false.
225 */
226 UseBlended?: NullableBoolean;
227 /**
228 * Specifies whether a budget includes refunds. The default value is true.
229 */
230 IncludeRefund?: NullableBoolean;
231 /**
232 * Specifies whether a budget includes credits. The default value is true.
233 */
234 IncludeCredit?: NullableBoolean;
235 /**
236 * Specifies whether a budget includes upfront RI costs. The default value is true.
237 */
238 IncludeUpfront?: NullableBoolean;
239 /**
240 * Specifies whether a budget includes recurring fees such as monthly RI fees. The default value is true.
241 */
242 IncludeRecurring?: NullableBoolean;
243 /**
244 * Specifies whether a budget includes non-RI subscription costs. The default value is true.
245 */
246 IncludeOtherSubscription?: NullableBoolean;
247 /**
248 * Specifies whether a budget includes support subscription fees. The default value is true.
249 */
250 IncludeSupport?: NullableBoolean;
251 /**
252 * Specifies whether a budget includes discounts. The default value is true.
253 */
254 IncludeDiscount?: NullableBoolean;
255 /**
256 * Specifies whether a budget uses the amortized rate. The default value is false.
257 */
258 UseAmortized?: NullableBoolean;
259 }
260 export interface CreateBudgetRequest {
261 /**
262 * The accountId that is associated with the budget.
263 */
264 AccountId: AccountId;
265 /**
266 * The budget object that you want to create.
267 */
268 Budget: Budget;
269 /**
270 * A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, AWS creates the notifications and subscribers for you.
271 */
272 NotificationsWithSubscribers?: NotificationWithSubscribersList;
273 }
274 export interface CreateBudgetResponse {
275 }
276 export interface CreateNotificationRequest {
277 /**
278 * The accountId that is associated with the budget that you want to create a notification for.
279 */
280 AccountId: AccountId;
281 /**
282 * The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.
283 */
284 BudgetName: BudgetName;
285 /**
286 * The notification that you want to create.
287 */
288 Notification: Notification;
289 /**
290 * A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.
291 */
292 Subscribers: Subscribers;
293 }
294 export interface CreateNotificationResponse {
295 }
296 export interface CreateSubscriberRequest {
297 /**
298 * The accountId that is associated with the budget that you want to create a subscriber for.
299 */
300 AccountId: AccountId;
301 /**
302 * The name of the budget that you want to subscribe to. Budget names must be unique within an account.
303 */
304 BudgetName: BudgetName;
305 /**
306 * The notification that you want to create a subscriber for.
307 */
308 Notification: Notification;
309 /**
310 * The subscriber that you want to associate with a budget notification.
311 */
312 Subscriber: Subscriber;
313 }
314 export interface CreateSubscriberResponse {
315 }
316 export interface DeleteBudgetRequest {
317 /**
318 * The accountId that is associated with the budget that you want to delete.
319 */
320 AccountId: AccountId;
321 /**
322 * The name of the budget that you want to delete.
323 */
324 BudgetName: BudgetName;
325 }
326 export interface DeleteBudgetResponse {
327 }
328 export interface DeleteNotificationRequest {
329 /**
330 * The accountId that is associated with the budget whose notification you want to delete.
331 */
332 AccountId: AccountId;
333 /**
334 * The name of the budget whose notification you want to delete.
335 */
336 BudgetName: BudgetName;
337 /**
338 * The notification that you want to delete.
339 */
340 Notification: Notification;
341 }
342 export interface DeleteNotificationResponse {
343 }
344 export interface DeleteSubscriberRequest {
345 /**
346 * The accountId that is associated with the budget whose subscriber you want to delete.
347 */
348 AccountId: AccountId;
349 /**
350 * The name of the budget whose subscriber you want to delete.
351 */
352 BudgetName: BudgetName;
353 /**
354 * The notification whose subscriber you want to delete.
355 */
356 Notification: Notification;
357 /**
358 * The subscriber that you want to delete.
359 */
360 Subscriber: Subscriber;
361 }
362 export interface DeleteSubscriberResponse {
363 }
364 export interface DescribeBudgetPerformanceHistoryRequest {
365 AccountId: AccountId;
366 BudgetName: BudgetName;
367 /**
368 * Retrieves how often the budget went into an ALARM state for the specified time period.
369 */
370 TimePeriod?: TimePeriod;
371 MaxResults?: MaxResults;
372 NextToken?: GenericString;
373 }
374 export interface DescribeBudgetPerformanceHistoryResponse {
375 /**
376 * The history of how often the budget has gone into an ALARM state. For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.
377 */
378 BudgetPerformanceHistory?: BudgetPerformanceHistory;
379 NextToken?: GenericString;
380 }
381 export interface DescribeBudgetRequest {
382 /**
383 * The accountId that is associated with the budget that you want a description of.
384 */
385 AccountId: AccountId;
386 /**
387 * The name of the budget that you want a description of.
388 */
389 BudgetName: BudgetName;
390 }
391 export interface DescribeBudgetResponse {
392 /**
393 * The description of the budget.
394 */
395 Budget?: Budget;
396 }
397 export interface DescribeBudgetsRequest {
398 /**
399 * The accountId that is associated with the budgets that you want descriptions of.
400 */
401 AccountId: AccountId;
402 /**
403 * An optional integer that represents how many entries a paginated response contains. The maximum is 100.
404 */
405 MaxResults?: MaxResults;
406 /**
407 * The pagination token that you include in your request to indicate the next set of results that you want to retrieve.
408 */
409 NextToken?: GenericString;
410 }
411 export interface DescribeBudgetsResponse {
412 /**
413 * A list of budgets.
414 */
415 Budgets?: Budgets;
416 /**
417 * The pagination token in the service response that indicates the next set of results that you can retrieve.
418 */
419 NextToken?: GenericString;
420 }
421 export interface DescribeNotificationsForBudgetRequest {
422 /**
423 * The accountId that is associated with the budget whose notifications you want descriptions of.
424 */
425 AccountId: AccountId;
426 /**
427 * The name of the budget whose notifications you want descriptions of.
428 */
429 BudgetName: BudgetName;
430 /**
431 * An optional integer that represents how many entries a paginated response contains. The maximum is 100.
432 */
433 MaxResults?: MaxResults;
434 /**
435 * The pagination token that you include in your request to indicate the next set of results that you want to retrieve.
436 */
437 NextToken?: GenericString;
438 }
439 export interface DescribeNotificationsForBudgetResponse {
440 /**
441 * A list of notifications that are associated with a budget.
442 */
443 Notifications?: Notifications;
444 /**
445 * The pagination token in the service response that indicates the next set of results that you can retrieve.
446 */
447 NextToken?: GenericString;
448 }
449 export interface DescribeSubscribersForNotificationRequest {
450 /**
451 * The accountId that is associated with the budget whose subscribers you want descriptions of.
452 */
453 AccountId: AccountId;
454 /**
455 * The name of the budget whose subscribers you want descriptions of.
456 */
457 BudgetName: BudgetName;
458 /**
459 * The notification whose subscribers you want to list.
460 */
461 Notification: Notification;
462 /**
463 * An optional integer that represents how many entries a paginated response contains. The maximum is 100.
464 */
465 MaxResults?: MaxResults;
466 /**
467 * The pagination token that you include in your request to indicate the next set of results that you want to retrieve.
468 */
469 NextToken?: GenericString;
470 }
471 export interface DescribeSubscribersForNotificationResponse {
472 /**
473 * A list of subscribers that are associated with a notification.
474 */
475 Subscribers?: Subscribers;
476 /**
477 * The pagination token in the service response that indicates the next set of results that you can retrieve.
478 */
479 NextToken?: GenericString;
480 }
481 export type DimensionValues = GenericString[];
482 export type GenericString = string;
483 export type GenericTimestamp = Date;
484 export type MaxResults = number;
485 export interface Notification {
486 /**
487 * Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).
488 */
489 NotificationType: NotificationType;
490 /**
491 * The comparison that is used for this notification.
492 */
493 ComparisonOperator: ComparisonOperator;
494 /**
495 * The threshold that is associated with a notification. Thresholds are always a percentage.
496 */
497 Threshold: NotificationThreshold;
498 /**
499 * The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, AWS notifies you when you go over 160 dollars.
500 */
501 ThresholdType?: ThresholdType;
502 /**
503 * Whether this notification is in alarm. If a budget notification is in the ALARM state, you have passed the set threshold for the budget.
504 */
505 NotificationState?: NotificationState;
506 }
507 export type NotificationState = "OK"|"ALARM"|string;
508 export type NotificationThreshold = number;
509 export type NotificationType = "ACTUAL"|"FORECASTED"|string;
510 export interface NotificationWithSubscribers {
511 /**
512 * The notification that is associated with a budget.
513 */
514 Notification: Notification;
515 /**
516 * A list of subscribers who are subscribed to this notification.
517 */
518 Subscribers: Subscribers;
519 }
520 export type NotificationWithSubscribersList = NotificationWithSubscribers[];
521 export type Notifications = Notification[];
522 export type NullableBoolean = boolean;
523 export type NumericValue = string;
524 export interface Spend {
525 /**
526 * The cost or usage amount that is associated with a budget forecast, actual spend, or budget threshold.
527 */
528 Amount: NumericValue;
529 /**
530 * The unit of measurement that is used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.
531 */
532 Unit: UnitValue;
533 }
534 export interface Subscriber {
535 /**
536 * The type of notification that AWS sends to a subscriber.
537 */
538 SubscriptionType: SubscriptionType;
539 /**
540 * The address that AWS sends budget notifications to, either an SNS topic or an email.
541 */
542 Address: SubscriberAddress;
543 }
544 export type SubscriberAddress = string;
545 export type Subscribers = Subscriber[];
546 export type SubscriptionType = "SNS"|"EMAIL"|string;
547 export type ThresholdType = "PERCENTAGE"|"ABSOLUTE_VALUE"|string;
548 export interface TimePeriod {
549 /**
550 * The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API. You can change your start date with the UpdateBudget operation.
551 */
552 Start?: GenericTimestamp;
553 /**
554 * The end date for a budget. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API. After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the UpdateBudget operation.
555 */
556 End?: GenericTimestamp;
557 }
558 export type TimeUnit = "DAILY"|"MONTHLY"|"QUARTERLY"|"ANNUALLY"|string;
559 export type UnitValue = string;
560 export interface UpdateBudgetRequest {
561 /**
562 * The accountId that is associated with the budget that you want to update.
563 */
564 AccountId: AccountId;
565 /**
566 * The budget that you want to update your budget to.
567 */
568 NewBudget: Budget;
569 }
570 export interface UpdateBudgetResponse {
571 }
572 export interface UpdateNotificationRequest {
573 /**
574 * The accountId that is associated with the budget whose notification you want to update.
575 */
576 AccountId: AccountId;
577 /**
578 * The name of the budget whose notification you want to update.
579 */
580 BudgetName: BudgetName;
581 /**
582 * The previous notification that is associated with a budget.
583 */
584 OldNotification: Notification;
585 /**
586 * The updated notification to be associated with a budget.
587 */
588 NewNotification: Notification;
589 }
590 export interface UpdateNotificationResponse {
591 }
592 export interface UpdateSubscriberRequest {
593 /**
594 * The accountId that is associated with the budget whose subscriber you want to update.
595 */
596 AccountId: AccountId;
597 /**
598 * The name of the budget whose subscriber you want to update.
599 */
600 BudgetName: BudgetName;
601 /**
602 * The notification whose subscriber you want to update.
603 */
604 Notification: Notification;
605 /**
606 * The previous subscriber that is associated with a budget notification.
607 */
608 OldSubscriber: Subscriber;
609 /**
610 * The updated subscriber that is associated with a budget notification.
611 */
612 NewSubscriber: Subscriber;
613 }
614 export interface UpdateSubscriberResponse {
615 }
616 /**
617 * 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.
618 */
619 export type apiVersion = "2016-10-20"|"latest"|string;
620 export interface ClientApiVersions {
621 /**
622 * 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.
623 */
624 apiVersion?: apiVersion;
625 }
626 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
627 /**
628 * Contains interfaces for use with the Budgets client.
629 */
630 export import Types = Budgets;
631}
632export = Budgets;