aws-sdk-budgets 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,14 +8,19 @@
8
8
  module Aws::Budgets
9
9
  module Types
10
10
 
11
- # AWS Budget model
11
+ # Represents the output of the `CreateBudget` operation. The content
12
+ # consists of the detailed metadata and data file information, and the
13
+ # current status of the `budget`.
14
+ #
15
+ # The ARN pattern for a budget is:
16
+ # `arn:aws:budgetservice::AccountId:budget/budgetName`
12
17
  #
13
18
  # @note When making an API call, you may pass Budget
14
19
  # data as a hash:
15
20
  #
16
21
  # {
17
22
  # budget_name: "BudgetName", # required
18
- # budget_limit: { # required
23
+ # budget_limit: {
19
24
  # amount: "NumericValue", # required
20
25
  # unit: "UnitValue", # required
21
26
  # },
@@ -36,9 +41,9 @@ module Aws::Budgets
36
41
  # use_amortized: false,
37
42
  # },
38
43
  # time_unit: "DAILY", # required, accepts DAILY, MONTHLY, QUARTERLY, ANNUALLY
39
- # time_period: { # required
40
- # start: Time.now, # required
41
- # end: Time.now, # required
44
+ # time_period: {
45
+ # start: Time.now,
46
+ # end: Time.now,
42
47
  # },
43
48
  # calculated_spend: {
44
49
  # actual_spend: { # required
@@ -54,37 +59,59 @@ module Aws::Budgets
54
59
  # }
55
60
  #
56
61
  # @!attribute [rw] budget_name
57
- # A string represents the budget name. No ":" and "\\" character
58
- # is allowed.
62
+ # The name of a budget. Unique within accounts. `:` and `` characters
63
+ # are not allowed in the `BudgetName`.
59
64
  # @return [String]
60
65
  #
61
66
  # @!attribute [rw] budget_limit
62
- # A structure that represents either a cost spend or usage spend.
63
- # Contains an amount and a unit.
67
+ # The total amount of cost, usage, or RI utilization that you want to
68
+ # track with your budget.
69
+ #
70
+ # `BudgetLimit` is required for cost or usage budgets, but optional
71
+ # for RI utilization budgets. RI utilization budgets default to the
72
+ # only valid value for RI utilization budgets, which is `100`.
64
73
  # @return [Types::Spend]
65
74
  #
66
75
  # @!attribute [rw] cost_filters
67
- # A map that represents the cost filters applied to the budget.
76
+ # The cost filters applied to a budget, such as service or region.
68
77
  # @return [Hash<String,Array<String>>]
69
78
  #
70
79
  # @!attribute [rw] cost_types
71
- # This includes the options for getting the cost of a budget.
80
+ # The types of costs included in this budget.
72
81
  # @return [Types::CostTypes]
73
82
  #
74
83
  # @!attribute [rw] time_unit
75
- # The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.
84
+ # The length of time until a budget resets the actual and forecasted
85
+ # spend.
76
86
  # @return [String]
77
87
  #
78
88
  # @!attribute [rw] time_period
79
- # A time period indicating the start date and end date of a budget.
89
+ # The period of time covered by a budget. Has a start date and an end
90
+ # date. The start date must come before the end date. There are no
91
+ # restrictions on the end date.
92
+ #
93
+ # If you created your budget and didn't specify a start date, AWS
94
+ # defaults to the start of your chosen time period (i.e. DAILY,
95
+ # MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your
96
+ # budget on January 24th 2018, chose `DAILY`, and didn't set a start
97
+ # date, AWS set your start date to `01/24/18 00:00 UTC`. If you chose
98
+ # `MONTHLY`, AWS set your start date to `01/01/18 00:00 UTC`. If you
99
+ # didn't specify an end date, AWS set your end date to `06/15/87
100
+ # 00:00 UTC`. The defaults are the same for the AWS Billing and Cost
101
+ # Management console and the API.
102
+ #
103
+ # You can change either date with the `UpdateBudget` operation.
104
+ #
105
+ # After the end date, AWS deletes the budget and all associated
106
+ # notifications and subscribers.
80
107
  # @return [Types::TimePeriod]
81
108
  #
82
109
  # @!attribute [rw] calculated_spend
83
- # A structure that holds the actual and forecasted spend for a budget.
110
+ # The actual and forecasted cost or usage being tracked by a budget.
84
111
  # @return [Types::CalculatedSpend]
85
112
  #
86
113
  # @!attribute [rw] budget_type
87
- # The type of a budget. It should be COST, USAGE, or RI\_UTILIZATION.
114
+ # Whether this budget tracks monetary costs, usage, or RI utilization.
88
115
  # @return [String]
89
116
  #
90
117
  class Budget < Struct.new(
@@ -99,7 +126,14 @@ module Aws::Budgets
99
126
  include Aws::Structure
100
127
  end
101
128
 
102
- # A structure that holds the actual and forecasted spend for a budget.
129
+ # The spend objects associated with this budget. The `actualSpend`
130
+ # tracks how much you've used, cost, usage, or RI units, and the
131
+ # `forecastedSpend` tracks how much you are predicted to spend if your
132
+ # current usage remains steady.
133
+ #
134
+ # For example, if it is the 20th of the month and you have spent `50`
135
+ # dollars on Amazon EC2, your `actualSpend` is `50 USD`, and your
136
+ # `forecastedSpend` is `75 USD`.
103
137
  #
104
138
  # @note When making an API call, you may pass CalculatedSpend
105
139
  # data as a hash:
@@ -116,13 +150,12 @@ module Aws::Budgets
116
150
  # }
117
151
  #
118
152
  # @!attribute [rw] actual_spend
119
- # A structure that represents either a cost spend or usage spend.
120
- # Contains an amount and a unit.
153
+ # The amount of cost, usage, or RI units that you have used.
121
154
  # @return [Types::Spend]
122
155
  #
123
156
  # @!attribute [rw] forecasted_spend
124
- # A structure that represents either a cost spend or usage spend.
125
- # Contains an amount and a unit.
157
+ # The amount of cost, usage, or RI units that you are forecasted to
158
+ # use.
126
159
  # @return [Types::Spend]
127
160
  #
128
161
  class CalculatedSpend < Struct.new(
@@ -131,7 +164,7 @@ module Aws::Budgets
131
164
  include Aws::Structure
132
165
  end
133
166
 
134
- # This includes the options for getting the cost of a budget.
167
+ # The types of cost included in a budget, such as tax and subscriptions.
135
168
  #
136
169
  # @note When making an API call, you may pass CostTypes
137
170
  # data as a hash:
@@ -151,50 +184,70 @@ module Aws::Budgets
151
184
  # }
152
185
  #
153
186
  # @!attribute [rw] include_tax
154
- # A boolean value whether to include tax in the cost budget.
187
+ # Specifies whether a budget includes taxes.
188
+ #
189
+ # The default value is `true`.
155
190
  # @return [Boolean]
156
191
  #
157
192
  # @!attribute [rw] include_subscription
158
- # A boolean value whether to include subscriptions in the cost budget.
193
+ # Specifies whether a budget includes subscriptions.
194
+ #
195
+ # The default value is `true`.
159
196
  # @return [Boolean]
160
197
  #
161
198
  # @!attribute [rw] use_blended
162
- # A boolean value whether to use blended costs in the cost budget.
199
+ # Specifies whether a budget uses blended rate.
200
+ #
201
+ # The default value is `false`.
163
202
  # @return [Boolean]
164
203
  #
165
204
  # @!attribute [rw] include_refund
166
- # A boolean value whether to include refunds in the cost budget.
205
+ # Specifies whether a budget includes refunds.
206
+ #
207
+ # The default value is `true`.
167
208
  # @return [Boolean]
168
209
  #
169
210
  # @!attribute [rw] include_credit
170
- # A boolean value whether to include credits in the cost budget.
211
+ # Specifies whether a budget includes credits.
212
+ #
213
+ # The default value is `true`.
171
214
  # @return [Boolean]
172
215
  #
173
216
  # @!attribute [rw] include_upfront
174
- # A boolean value whether to include upfront costs in the cost budget.
217
+ # Specifies whether a budget includes upfront RI costs.
218
+ #
219
+ # The default value is `true`.
175
220
  # @return [Boolean]
176
221
  #
177
222
  # @!attribute [rw] include_recurring
178
- # A boolean value whether to include recurring costs in the cost
179
- # budget.
223
+ # Specifies whether a budget includes recurring fees such as monthly
224
+ # RI fees.
225
+ #
226
+ # The default value is `true`.
180
227
  # @return [Boolean]
181
228
  #
182
229
  # @!attribute [rw] include_other_subscription
183
- # A boolean value whether to include other subscription costs in the
184
- # cost budget.
230
+ # Specifies whether a budget includes non-RI subscription costs.
231
+ #
232
+ # The default value is `true`.
185
233
  # @return [Boolean]
186
234
  #
187
235
  # @!attribute [rw] include_support
188
- # A boolean value whether to include support costs in the cost budget.
236
+ # Specifies whether a budget includes support subscription fees.
237
+ #
238
+ # The default value is `true`.
189
239
  # @return [Boolean]
190
240
  #
191
241
  # @!attribute [rw] include_discount
192
- # A boolean value whether to include discounts in the cost budget.
242
+ # Specifies whether a budget includes discounts.
243
+ #
244
+ # The default value is `true`.
193
245
  # @return [Boolean]
194
246
  #
195
247
  # @!attribute [rw] use_amortized
196
- # A boolean value whether to include amortized costs in the cost
197
- # budget.
248
+ # Specifies whether a budget uses the amortized rate.
249
+ #
250
+ # The default value is `false`.
198
251
  # @return [Boolean]
199
252
  #
200
253
  class CostTypes < Struct.new(
@@ -221,7 +274,7 @@ module Aws::Budgets
221
274
  # account_id: "AccountId", # required
222
275
  # budget: { # required
223
276
  # budget_name: "BudgetName", # required
224
- # budget_limit: { # required
277
+ # budget_limit: {
225
278
  # amount: "NumericValue", # required
226
279
  # unit: "UnitValue", # required
227
280
  # },
@@ -242,9 +295,9 @@ module Aws::Budgets
242
295
  # use_amortized: false,
243
296
  # },
244
297
  # time_unit: "DAILY", # required, accepts DAILY, MONTHLY, QUARTERLY, ANNUALLY
245
- # time_period: { # required
246
- # start: Time.now, # required
247
- # end: Time.now, # required
298
+ # time_period: {
299
+ # start: Time.now,
300
+ # end: Time.now,
248
301
  # },
249
302
  # calculated_spend: {
250
303
  # actual_spend: { # required
@@ -277,15 +330,19 @@ module Aws::Budgets
277
330
  # }
278
331
  #
279
332
  # @!attribute [rw] account_id
280
- # Account Id of the customer. It should be a 12 digit number.
333
+ # The `accountId` that is associated with the budget.
281
334
  # @return [String]
282
335
  #
283
336
  # @!attribute [rw] budget
284
- # AWS Budget model
337
+ # The budget object that you want to create.
285
338
  # @return [Types::Budget]
286
339
  #
287
340
  # @!attribute [rw] notifications_with_subscribers
288
- # A list of Notifications, each with a list of subscribers.
341
+ # A notification that you want to associate with a budget. A budget
342
+ # can have up to five notifications, and each notification can have
343
+ # one SNS subscriber and up to ten email subscribers. If you include
344
+ # notifications and subscribers in your `CreateBudget` call, AWS
345
+ # creates the notifications and subscribers for you.
289
346
  # @return [Array<Types::NotificationWithSubscribers>]
290
347
  #
291
348
  class CreateBudgetRequest < Struct.new(
@@ -322,21 +379,23 @@ module Aws::Budgets
322
379
  # }
323
380
  #
324
381
  # @!attribute [rw] account_id
325
- # Account Id of the customer. It should be a 12 digit number.
382
+ # The `accountId` that is associated with the budget that you want to
383
+ # create a notification for.
326
384
  # @return [String]
327
385
  #
328
386
  # @!attribute [rw] budget_name
329
- # A string represents the budget name. No ":" and "\\" character
330
- # is allowed.
387
+ # The name of the budget that you want AWS to notified you about.
388
+ # Budget names must be unique within an account.
331
389
  # @return [String]
332
390
  #
333
391
  # @!attribute [rw] notification
334
- # Notification model. Each budget may contain multiple notifications
335
- # with different settings.
392
+ # The notification that you want to create.
336
393
  # @return [Types::Notification]
337
394
  #
338
395
  # @!attribute [rw] subscribers
339
- # A list of subscribers.
396
+ # A list of subscribers that you want to associate with the
397
+ # notification. Each notification can have one SNS subscriber and up
398
+ # to ten email subscribers.
340
399
  # @return [Array<Types::Subscriber>]
341
400
  #
342
401
  class CreateNotificationRequest < Struct.new(
@@ -372,22 +431,22 @@ module Aws::Budgets
372
431
  # }
373
432
  #
374
433
  # @!attribute [rw] account_id
375
- # Account Id of the customer. It should be a 12 digit number.
434
+ # The `accountId` associated with the budget that you want to create a
435
+ # subscriber for.
376
436
  # @return [String]
377
437
  #
378
438
  # @!attribute [rw] budget_name
379
- # A string represents the budget name. No ":" and "\\" character
380
- # is allowed.
439
+ # The name of the budget that you want to subscribe to. Budget names
440
+ # must be unique within an account.
381
441
  # @return [String]
382
442
  #
383
443
  # @!attribute [rw] notification
384
- # Notification model. Each budget may contain multiple notifications
385
- # with different settings.
444
+ # The notification that you want to create a subscriber for.
386
445
  # @return [Types::Notification]
387
446
  #
388
447
  # @!attribute [rw] subscriber
389
- # Subscriber model. Each notification may contain multiple subscribers
390
- # with different addresses.
448
+ # The subscriber that you want to associate with a budget
449
+ # notification.
391
450
  # @return [Types::Subscriber]
392
451
  #
393
452
  class CreateSubscriberRequest < Struct.new(
@@ -413,12 +472,12 @@ module Aws::Budgets
413
472
  # }
414
473
  #
415
474
  # @!attribute [rw] account_id
416
- # Account Id of the customer. It should be a 12 digit number.
475
+ # The `accountId` that is associated with the budget that you want to
476
+ # delete.
417
477
  # @return [String]
418
478
  #
419
479
  # @!attribute [rw] budget_name
420
- # A string represents the budget name. No ":" and "\\" character
421
- # is allowed.
480
+ # The name of the budget that you want to delete.
422
481
  # @return [String]
423
482
  #
424
483
  class DeleteBudgetRequest < Struct.new(
@@ -448,17 +507,16 @@ module Aws::Budgets
448
507
  # }
449
508
  #
450
509
  # @!attribute [rw] account_id
451
- # Account Id of the customer. It should be a 12 digit number.
510
+ # The `accountId` that is associated with the budget whose
511
+ # notification you want to delete.
452
512
  # @return [String]
453
513
  #
454
514
  # @!attribute [rw] budget_name
455
- # A string represents the budget name. No ":" and "\\" character
456
- # is allowed.
515
+ # The name of the budget whose notification you want to delete.
457
516
  # @return [String]
458
517
  #
459
518
  # @!attribute [rw] notification
460
- # Notification model. Each budget may contain multiple notifications
461
- # with different settings.
519
+ # The notification that you want to delete.
462
520
  # @return [Types::Notification]
463
521
  #
464
522
  class DeleteNotificationRequest < Struct.new(
@@ -493,22 +551,20 @@ module Aws::Budgets
493
551
  # }
494
552
  #
495
553
  # @!attribute [rw] account_id
496
- # Account Id of the customer. It should be a 12 digit number.
554
+ # The `accountId` that is associated with the budget whose subscriber
555
+ # you want to delete.
497
556
  # @return [String]
498
557
  #
499
558
  # @!attribute [rw] budget_name
500
- # A string represents the budget name. No ":" and "\\" character
501
- # is allowed.
559
+ # The name of the budget whose subscriber you want to delete.
502
560
  # @return [String]
503
561
  #
504
562
  # @!attribute [rw] notification
505
- # Notification model. Each budget may contain multiple notifications
506
- # with different settings.
563
+ # The notification whose subscriber you want to delete.
507
564
  # @return [Types::Notification]
508
565
  #
509
566
  # @!attribute [rw] subscriber
510
- # Subscriber model. Each notification may contain multiple subscribers
511
- # with different addresses.
567
+ # The subscriber that you want to delete.
512
568
  # @return [Types::Subscriber]
513
569
  #
514
570
  class DeleteSubscriberRequest < Struct.new(
@@ -534,12 +590,12 @@ module Aws::Budgets
534
590
  # }
535
591
  #
536
592
  # @!attribute [rw] account_id
537
- # Account Id of the customer. It should be a 12 digit number.
593
+ # The `accountId` that is associated with the budget that you want a
594
+ # description of.
538
595
  # @return [String]
539
596
  #
540
597
  # @!attribute [rw] budget_name
541
- # A string represents the budget name. No ":" and "\\" character
542
- # is allowed.
598
+ # The name of the budget that you want a description of.
543
599
  # @return [String]
544
600
  #
545
601
  class DescribeBudgetRequest < Struct.new(
@@ -551,7 +607,7 @@ module Aws::Budgets
551
607
  # Response of DescribeBudget
552
608
  #
553
609
  # @!attribute [rw] budget
554
- # AWS Budget model
610
+ # The description of the budget.
555
611
  # @return [Types::Budget]
556
612
  #
557
613
  class DescribeBudgetResponse < Struct.new(
@@ -571,16 +627,18 @@ module Aws::Budgets
571
627
  # }
572
628
  #
573
629
  # @!attribute [rw] account_id
574
- # Account Id of the customer. It should be a 12 digit number.
630
+ # The `accountId` that is associated with the budgets that you want
631
+ # descriptions of.
575
632
  # @return [String]
576
633
  #
577
634
  # @!attribute [rw] max_results
578
- # An integer to represent how many entries a paginated response
579
- # contains. Maximum is set to 100.
635
+ # Optional integer. Specifies the maximum number of results to return
636
+ # in response.
580
637
  # @return [Integer]
581
638
  #
582
639
  # @!attribute [rw] next_token
583
- # A generic String.
640
+ # The pagination token that indicates the next set of results to
641
+ # retrieve.
584
642
  # @return [String]
585
643
  #
586
644
  class DescribeBudgetsRequest < Struct.new(
@@ -593,11 +651,12 @@ module Aws::Budgets
593
651
  # Response of DescribeBudgets
594
652
  #
595
653
  # @!attribute [rw] budgets
596
- # A list of budgets
654
+ # A list of budgets.
597
655
  # @return [Array<Types::Budget>]
598
656
  #
599
657
  # @!attribute [rw] next_token
600
- # A generic String.
658
+ # The pagination token that indicates the next set of results that you
659
+ # can retrieve.
601
660
  # @return [String]
602
661
  #
603
662
  class DescribeBudgetsResponse < Struct.new(
@@ -619,21 +678,22 @@ module Aws::Budgets
619
678
  # }
620
679
  #
621
680
  # @!attribute [rw] account_id
622
- # Account Id of the customer. It should be a 12 digit number.
681
+ # The `accountId` that is associated with the budget whose
682
+ # notifications you want descriptions of.
623
683
  # @return [String]
624
684
  #
625
685
  # @!attribute [rw] budget_name
626
- # A string represents the budget name. No ":" and "\\" character
627
- # is allowed.
686
+ # The name of the budget whose notifications you want descriptions of.
628
687
  # @return [String]
629
688
  #
630
689
  # @!attribute [rw] max_results
631
- # An integer to represent how many entries a paginated response
632
- # contains. Maximum is set to 100.
690
+ # Optional integer. Specifies the maximum number of results to return
691
+ # in response.
633
692
  # @return [Integer]
634
693
  #
635
694
  # @!attribute [rw] next_token
636
- # A generic String.
695
+ # The pagination token that indicates the next set of results to
696
+ # retrieve.
637
697
  # @return [String]
638
698
  #
639
699
  class DescribeNotificationsForBudgetRequest < Struct.new(
@@ -647,11 +707,12 @@ module Aws::Budgets
647
707
  # Response of GetNotificationsForBudget
648
708
  #
649
709
  # @!attribute [rw] notifications
650
- # A list of notifications.
710
+ # A list of notifications associated with a budget.
651
711
  # @return [Array<Types::Notification>]
652
712
  #
653
713
  # @!attribute [rw] next_token
654
- # A generic String.
714
+ # The pagination token that indicates the next set of results that you
715
+ # can retrieve.
655
716
  # @return [String]
656
717
  #
657
718
  class DescribeNotificationsForBudgetResponse < Struct.new(
@@ -679,26 +740,26 @@ module Aws::Budgets
679
740
  # }
680
741
  #
681
742
  # @!attribute [rw] account_id
682
- # Account Id of the customer. It should be a 12 digit number.
743
+ # The `accountId` that is associated with the budget whose subscribers
744
+ # you want descriptions of.
683
745
  # @return [String]
684
746
  #
685
747
  # @!attribute [rw] budget_name
686
- # A string represents the budget name. No ":" and "\\" character
687
- # is allowed.
748
+ # The name of the budget whose subscribers you want descriptions of.
688
749
  # @return [String]
689
750
  #
690
751
  # @!attribute [rw] notification
691
- # Notification model. Each budget may contain multiple notifications
692
- # with different settings.
752
+ # The notification whose subscribers you want to list.
693
753
  # @return [Types::Notification]
694
754
  #
695
755
  # @!attribute [rw] max_results
696
- # An integer to represent how many entries a paginated response
697
- # contains. Maximum is set to 100.
756
+ # Optional integer. Specifies the maximum number of results to return
757
+ # in response.
698
758
  # @return [Integer]
699
759
  #
700
760
  # @!attribute [rw] next_token
701
- # A generic String.
761
+ # The pagination token that indicates the next set of results to
762
+ # retrieve.
702
763
  # @return [String]
703
764
  #
704
765
  class DescribeSubscribersForNotificationRequest < Struct.new(
@@ -713,11 +774,12 @@ module Aws::Budgets
713
774
  # Response of DescribeSubscribersForNotification
714
775
  #
715
776
  # @!attribute [rw] subscribers
716
- # A list of subscribers.
777
+ # A list of subscribers associated with a notification.
717
778
  # @return [Array<Types::Subscriber>]
718
779
  #
719
780
  # @!attribute [rw] next_token
720
- # A generic String.
781
+ # The pagination token that indicates the next set of results that you
782
+ # can retrieve.
721
783
  # @return [String]
722
784
  #
723
785
  class DescribeSubscribersForNotificationResponse < Struct.new(
@@ -726,8 +788,22 @@ module Aws::Budgets
726
788
  include Aws::Structure
727
789
  end
728
790
 
729
- # Notification model. Each budget may contain multiple notifications
730
- # with different settings.
791
+ # A notification associated with a budget. A budget can have up to five
792
+ # notifications.
793
+ #
794
+ # Each notification must have at least one subscriber. A notification
795
+ # can have one SNS subscriber and up to ten email subscribers, for a
796
+ # total of 11 subscribers.
797
+ #
798
+ # For example, if you have a budget for 200 dollars and you want to be
799
+ # notified when you go over 160 dollars, create a notification with the
800
+ # following parameters:
801
+ #
802
+ # * A notificationType of `ACTUAL`
803
+ #
804
+ # * A comparisonOperator of `GREATER_THAN`
805
+ #
806
+ # * A notification threshold of `80`
731
807
  #
732
808
  # @note When making an API call, you may pass Notification
733
809
  # data as a hash:
@@ -740,22 +816,24 @@ module Aws::Budgets
740
816
  # }
741
817
  #
742
818
  # @!attribute [rw] notification_type
743
- # The type of a notification. It should be ACTUAL or FORECASTED.
819
+ # Whether the notification is for how much you have spent (`ACTUAL`)
820
+ # or for how much you are forecasted to spend (`FORECASTED`).
744
821
  # @return [String]
745
822
  #
746
823
  # @!attribute [rw] comparison_operator
747
- # The comparison operator of a notification. Currently we support less
748
- # than, equal to and greater than.
824
+ # The comparison used for this notification.
749
825
  # @return [String]
750
826
  #
751
827
  # @!attribute [rw] threshold
752
- # The threshold of a notification. It should be a number between 0 and
753
- # 1,000,000,000.
828
+ # The threshold associated with a notification. Thresholds are always
829
+ # a percentage.
754
830
  # @return [Float]
755
831
  #
756
832
  # @!attribute [rw] threshold_type
757
- # The type of threshold for a notification. It can be PERCENTAGE or
758
- # ABSOLUTE\_VALUE.
833
+ # The type of threshold for a notification. For `ACTUAL` thresholds,
834
+ # AWS notifies you when you go over the threshold, and for
835
+ # `FORECASTED` thresholds AWS notifies you when you are forecasted to
836
+ # go over the threshold.
759
837
  # @return [String]
760
838
  #
761
839
  class Notification < Struct.new(
@@ -766,8 +844,9 @@ module Aws::Budgets
766
844
  include Aws::Structure
767
845
  end
768
846
 
769
- # A structure to relate notification and a list of subscribers who
770
- # belong to the notification.
847
+ # A notification with subscribers. A notification can have one SNS
848
+ # subscriber and up to ten email subscribers, for a total of 11
849
+ # subscribers.
771
850
  #
772
851
  # @note When making an API call, you may pass NotificationWithSubscribers
773
852
  # data as a hash:
@@ -788,12 +867,11 @@ module Aws::Budgets
788
867
  # }
789
868
  #
790
869
  # @!attribute [rw] notification
791
- # Notification model. Each budget may contain multiple notifications
792
- # with different settings.
870
+ # The notification associated with a budget.
793
871
  # @return [Types::Notification]
794
872
  #
795
873
  # @!attribute [rw] subscribers
796
- # A list of subscribers.
874
+ # A list of subscribers who are subscribed to this notification.
797
875
  # @return [Array<Types::Subscriber>]
798
876
  #
799
877
  class NotificationWithSubscribers < Struct.new(
@@ -802,8 +880,14 @@ module Aws::Budgets
802
880
  include Aws::Structure
803
881
  end
804
882
 
805
- # A structure that represents either a cost spend or usage spend.
806
- # Contains an amount and a unit.
883
+ # The amount of cost or usage being measured for a budget.
884
+ #
885
+ # For example, a `Spend` for `3 GB` of S3 usage would have the following
886
+ # parameters:
887
+ #
888
+ # * An `Amount` of `3`
889
+ #
890
+ # * A `unit` of `GB`
807
891
  #
808
892
  # @note When making an API call, you may pass Spend
809
893
  # data as a hash:
@@ -814,12 +898,13 @@ module Aws::Budgets
814
898
  # }
815
899
  #
816
900
  # @!attribute [rw] amount
817
- # A string to represent NumericValue.
901
+ # The cost or usage amount associated with a budget forecast, actual
902
+ # spend, or budget threshold.
818
903
  # @return [String]
819
904
  #
820
905
  # @!attribute [rw] unit
821
- # A string to represent budget spend unit. It should be not null and
822
- # not empty.
906
+ # The unit of measurement used for the budget forecast, actual spend,
907
+ # or budget threshold, such as dollars or GB.
823
908
  # @return [String]
824
909
  #
825
910
  class Spend < Struct.new(
@@ -828,8 +913,15 @@ module Aws::Budgets
828
913
  include Aws::Structure
829
914
  end
830
915
 
831
- # Subscriber model. Each notification may contain multiple subscribers
832
- # with different addresses.
916
+ # The subscriber to a budget notification. The subscriber consists of a
917
+ # subscription type and either an Amazon Simple Notification Service
918
+ # topic or an email address.
919
+ #
920
+ # For example, an email subscriber would have the following parameters:
921
+ #
922
+ # * A `subscriptionType` of `EMAIL`
923
+ #
924
+ # * An `address` of `example@example.com`
833
925
  #
834
926
  # @note When making an API call, you may pass Subscriber
835
927
  # data as a hash:
@@ -840,11 +932,12 @@ module Aws::Budgets
840
932
  # }
841
933
  #
842
934
  # @!attribute [rw] subscription_type
843
- # The subscription type of the subscriber. It can be SMS or EMAIL.
935
+ # The type of notification that AWS sends to a subscriber.
844
936
  # @return [String]
845
937
  #
846
938
  # @!attribute [rw] address
847
- # String containing email or sns topic for the subscriber address.
939
+ # The address that AWS sends budget notifications to, either an SNS
940
+ # topic or an email.
848
941
  # @return [String]
849
942
  #
850
943
  class Subscriber < Struct.new(
@@ -853,22 +946,39 @@ module Aws::Budgets
853
946
  include Aws::Structure
854
947
  end
855
948
 
856
- # A time period indicating the start date and end date of a budget.
949
+ # The period of time covered by a budget. Has a start date and an end
950
+ # date. The start date must come before the end date. There are no
951
+ # restrictions on the end date.
857
952
  #
858
953
  # @note When making an API call, you may pass TimePeriod
859
954
  # data as a hash:
860
955
  #
861
956
  # {
862
- # start: Time.now, # required
863
- # end: Time.now, # required
957
+ # start: Time.now,
958
+ # end: Time.now,
864
959
  # }
865
960
  #
866
961
  # @!attribute [rw] start
867
- # A generic timestamp. In Java it is transformed to a Date object.
962
+ # The start date for a budget. If you created your budget and didn't
963
+ # specify a start date, AWS defaults to the start of your chosen time
964
+ # period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if
965
+ # you created your budget on January 24th 2018, chose `DAILY`, and
966
+ # didn't set a start date, AWS set your start date to `01/24/18 00:00
967
+ # UTC`. If you chose `MONTHLY`, AWS set your start date to `01/01/18
968
+ # 00:00 UTC`. The defaults are the same for the AWS Billing and Cost
969
+ # Management console and the API.
970
+ #
971
+ # You can change your start date with the `UpdateBudget` operation.
868
972
  # @return [Time]
869
973
  #
870
974
  # @!attribute [rw] end
871
- # A generic timestamp. In Java it is transformed to a Date object.
975
+ # The end date for a budget. If you didn't specify an end date, AWS
976
+ # set your end date to `06/15/87 00:00 UTC`. The defaults are the same
977
+ # for the AWS Billing and Cost Management console and the API.
978
+ #
979
+ # After the end date, AWS deletes the budget and all associated
980
+ # notifications and subscribers. You can change your end date with the
981
+ # `UpdateBudget` operation.
872
982
  # @return [Time]
873
983
  #
874
984
  class TimePeriod < Struct.new(
@@ -886,7 +996,7 @@ module Aws::Budgets
886
996
  # account_id: "AccountId", # required
887
997
  # new_budget: { # required
888
998
  # budget_name: "BudgetName", # required
889
- # budget_limit: { # required
999
+ # budget_limit: {
890
1000
  # amount: "NumericValue", # required
891
1001
  # unit: "UnitValue", # required
892
1002
  # },
@@ -907,9 +1017,9 @@ module Aws::Budgets
907
1017
  # use_amortized: false,
908
1018
  # },
909
1019
  # time_unit: "DAILY", # required, accepts DAILY, MONTHLY, QUARTERLY, ANNUALLY
910
- # time_period: { # required
911
- # start: Time.now, # required
912
- # end: Time.now, # required
1020
+ # time_period: {
1021
+ # start: Time.now,
1022
+ # end: Time.now,
913
1023
  # },
914
1024
  # calculated_spend: {
915
1025
  # actual_spend: { # required
@@ -926,11 +1036,12 @@ module Aws::Budgets
926
1036
  # }
927
1037
  #
928
1038
  # @!attribute [rw] account_id
929
- # Account Id of the customer. It should be a 12 digit number.
1039
+ # The `accountId` that is associated with the budget that you want to
1040
+ # update.
930
1041
  # @return [String]
931
1042
  #
932
1043
  # @!attribute [rw] new_budget
933
- # AWS Budget model
1044
+ # The budget that you want to update your budget to.
934
1045
  # @return [Types::Budget]
935
1046
  #
936
1047
  class UpdateBudgetRequest < Struct.new(
@@ -966,22 +1077,20 @@ module Aws::Budgets
966
1077
  # }
967
1078
  #
968
1079
  # @!attribute [rw] account_id
969
- # Account Id of the customer. It should be a 12 digit number.
1080
+ # The `accountId` that is associated with the budget whose
1081
+ # notification you want to update.
970
1082
  # @return [String]
971
1083
  #
972
1084
  # @!attribute [rw] budget_name
973
- # A string represents the budget name. No ":" and "\\" character
974
- # is allowed.
1085
+ # The name of the budget whose notification you want to update.
975
1086
  # @return [String]
976
1087
  #
977
1088
  # @!attribute [rw] old_notification
978
- # Notification model. Each budget may contain multiple notifications
979
- # with different settings.
1089
+ # The previous notification associated with a budget.
980
1090
  # @return [Types::Notification]
981
1091
  #
982
1092
  # @!attribute [rw] new_notification
983
- # Notification model. Each budget may contain multiple notifications
984
- # with different settings.
1093
+ # The updated notification to be associated with a budget.
985
1094
  # @return [Types::Notification]
986
1095
  #
987
1096
  class UpdateNotificationRequest < Struct.new(
@@ -1021,27 +1130,24 @@ module Aws::Budgets
1021
1130
  # }
1022
1131
  #
1023
1132
  # @!attribute [rw] account_id
1024
- # Account Id of the customer. It should be a 12 digit number.
1133
+ # The `accountId` that is associated with the budget whose subscriber
1134
+ # you want to update.
1025
1135
  # @return [String]
1026
1136
  #
1027
1137
  # @!attribute [rw] budget_name
1028
- # A string represents the budget name. No ":" and "\\" character
1029
- # is allowed.
1138
+ # The name of the budget whose subscriber you want to update.
1030
1139
  # @return [String]
1031
1140
  #
1032
1141
  # @!attribute [rw] notification
1033
- # Notification model. Each budget may contain multiple notifications
1034
- # with different settings.
1142
+ # The notification whose subscriber you want to update.
1035
1143
  # @return [Types::Notification]
1036
1144
  #
1037
1145
  # @!attribute [rw] old_subscriber
1038
- # Subscriber model. Each notification may contain multiple subscribers
1039
- # with different addresses.
1146
+ # The previous subscriber associated with a budget notification.
1040
1147
  # @return [Types::Subscriber]
1041
1148
  #
1042
1149
  # @!attribute [rw] new_subscriber
1043
- # Subscriber model. Each notification may contain multiple subscribers
1044
- # with different addresses.
1150
+ # The updated subscriber associated with a budget notification.
1045
1151
  # @return [Types::Subscriber]
1046
1152
  #
1047
1153
  class UpdateSubscriberRequest < Struct.new(