aws-sdk-budgets 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,879 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Budgets
10
+ module Types
11
+
12
+ # AWS Budget model
13
+ # @note When making an API call, pass Budget
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # budget_name: "BudgetName", # required
18
+ # budget_limit: { # required
19
+ # amount: "NumericValue", # required
20
+ # unit: "GenericString", # required
21
+ # },
22
+ # cost_filters: {
23
+ # "GenericString" => ["GenericString"],
24
+ # },
25
+ # cost_types: { # required
26
+ # include_tax: false, # required
27
+ # include_subscription: false, # required
28
+ # use_blended: false, # required
29
+ # },
30
+ # time_unit: "MONTHLY", # required, accepts MONTHLY, QUARTERLY, ANNUALLY
31
+ # time_period: { # required
32
+ # start: Time.now, # required
33
+ # end: Time.now, # required
34
+ # },
35
+ # calculated_spend: {
36
+ # actual_spend: { # required
37
+ # amount: "NumericValue", # required
38
+ # unit: "GenericString", # required
39
+ # },
40
+ # forecasted_spend: {
41
+ # amount: "NumericValue", # required
42
+ # unit: "GenericString", # required
43
+ # },
44
+ # },
45
+ # budget_type: "USAGE", # required, accepts USAGE, COST
46
+ # }
47
+ # @!attribute [rw] budget_name
48
+ # A string represents the budget name. No ":" character is allowed.
49
+ # @return [String]
50
+ #
51
+ # @!attribute [rw] budget_limit
52
+ # A structure represent either a cost spend or usage spend. Contains
53
+ # an amount and a unit.
54
+ # @return [Types::Spend]
55
+ #
56
+ # @!attribute [rw] cost_filters
57
+ # A map represents the cost filters applied to the budget.
58
+ # @return [Hash<String,Array<String>>]
59
+ #
60
+ # @!attribute [rw] cost_types
61
+ # This includes the options for getting the cost of a budget.
62
+ # @return [Types::CostTypes]
63
+ #
64
+ # @!attribute [rw] time_unit
65
+ # The time unit of the budget. e.g. weekly, monthly, etc.
66
+ # @return [String]
67
+ #
68
+ # @!attribute [rw] time_period
69
+ # A time period indicated the start date and end date of a budget.
70
+ # @return [Types::TimePeriod]
71
+ #
72
+ # @!attribute [rw] calculated_spend
73
+ # A structure holds the actual and forecasted spend for a budget.
74
+ # @return [Types::CalculatedSpend]
75
+ #
76
+ # @!attribute [rw] budget_type
77
+ # The type of a budget. Can be COST or USAGE.
78
+ # @return [String]
79
+ class Budget < Struct.new(
80
+ :budget_name,
81
+ :budget_limit,
82
+ :cost_filters,
83
+ :cost_types,
84
+ :time_unit,
85
+ :time_period,
86
+ :calculated_spend,
87
+ :budget_type)
88
+ include Aws::Structure
89
+ end
90
+
91
+ # A structure holds the actual and forecasted spend for a budget.
92
+ # @note When making an API call, pass CalculatedSpend
93
+ # data as a hash:
94
+ #
95
+ # {
96
+ # actual_spend: { # required
97
+ # amount: "NumericValue", # required
98
+ # unit: "GenericString", # required
99
+ # },
100
+ # forecasted_spend: {
101
+ # amount: "NumericValue", # required
102
+ # unit: "GenericString", # required
103
+ # },
104
+ # }
105
+ # @!attribute [rw] actual_spend
106
+ # A structure represent either a cost spend or usage spend. Contains
107
+ # an amount and a unit.
108
+ # @return [Types::Spend]
109
+ #
110
+ # @!attribute [rw] forecasted_spend
111
+ # A structure represent either a cost spend or usage spend. Contains
112
+ # an amount and a unit.
113
+ # @return [Types::Spend]
114
+ class CalculatedSpend < Struct.new(
115
+ :actual_spend,
116
+ :forecasted_spend)
117
+ include Aws::Structure
118
+ end
119
+
120
+ # This includes the options for getting the cost of a budget.
121
+ # @note When making an API call, pass CostTypes
122
+ # data as a hash:
123
+ #
124
+ # {
125
+ # include_tax: false, # required
126
+ # include_subscription: false, # required
127
+ # use_blended: false, # required
128
+ # }
129
+ # @!attribute [rw] include_tax
130
+ # A generic boolean value.
131
+ # @return [Boolean]
132
+ #
133
+ # @!attribute [rw] include_subscription
134
+ # A generic boolean value.
135
+ # @return [Boolean]
136
+ #
137
+ # @!attribute [rw] use_blended
138
+ # A generic boolean value.
139
+ # @return [Boolean]
140
+ class CostTypes < Struct.new(
141
+ :include_tax,
142
+ :include_subscription,
143
+ :use_blended)
144
+ include Aws::Structure
145
+ end
146
+
147
+ # Request of CreateBudget
148
+ # @note When making an API call, pass CreateBudgetRequest
149
+ # data as a hash:
150
+ #
151
+ # {
152
+ # account_id: "AccountId", # required
153
+ # budget: { # required
154
+ # budget_name: "BudgetName", # required
155
+ # budget_limit: { # required
156
+ # amount: "NumericValue", # required
157
+ # unit: "GenericString", # required
158
+ # },
159
+ # cost_filters: {
160
+ # "GenericString" => ["GenericString"],
161
+ # },
162
+ # cost_types: { # required
163
+ # include_tax: false, # required
164
+ # include_subscription: false, # required
165
+ # use_blended: false, # required
166
+ # },
167
+ # time_unit: "MONTHLY", # required, accepts MONTHLY, QUARTERLY, ANNUALLY
168
+ # time_period: { # required
169
+ # start: Time.now, # required
170
+ # end: Time.now, # required
171
+ # },
172
+ # calculated_spend: {
173
+ # actual_spend: { # required
174
+ # amount: "NumericValue", # required
175
+ # unit: "GenericString", # required
176
+ # },
177
+ # forecasted_spend: {
178
+ # amount: "NumericValue", # required
179
+ # unit: "GenericString", # required
180
+ # },
181
+ # },
182
+ # budget_type: "USAGE", # required, accepts USAGE, COST
183
+ # },
184
+ # notifications_with_subscribers: [
185
+ # {
186
+ # notification: { # required
187
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
188
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
189
+ # threshold: 1.0, # required
190
+ # },
191
+ # subscribers: [ # required
192
+ # {
193
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
194
+ # address: "GenericString", # required
195
+ # },
196
+ # ],
197
+ # },
198
+ # ],
199
+ # }
200
+ # @!attribute [rw] account_id
201
+ # Account Id of the customer. It should be a 12 digit number.
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] budget
205
+ # AWS Budget model
206
+ # @return [Types::Budget]
207
+ #
208
+ # @!attribute [rw] notifications_with_subscribers
209
+ # A list of Notifications, each with a list of subscribers.
210
+ # @return [Array<Types::NotificationWithSubscribers>]
211
+ class CreateBudgetRequest < Struct.new(
212
+ :account_id,
213
+ :budget,
214
+ :notifications_with_subscribers)
215
+ include Aws::Structure
216
+ end
217
+
218
+ # Response of CreateBudget
219
+ class CreateBudgetResponse < Aws::EmptyStructure; end
220
+
221
+ # Request of CreateNotification
222
+ # @note When making an API call, pass CreateNotificationRequest
223
+ # data as a hash:
224
+ #
225
+ # {
226
+ # account_id: "AccountId", # required
227
+ # budget_name: "BudgetName", # required
228
+ # notification: { # required
229
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
230
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
231
+ # threshold: 1.0, # required
232
+ # },
233
+ # subscribers: [ # required
234
+ # {
235
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
236
+ # address: "GenericString", # required
237
+ # },
238
+ # ],
239
+ # }
240
+ # @!attribute [rw] account_id
241
+ # Account Id of the customer. It should be a 12 digit number.
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] budget_name
245
+ # A string represents the budget name. No ":" character is allowed.
246
+ # @return [String]
247
+ #
248
+ # @!attribute [rw] notification
249
+ # Notification model. Each budget may contain multiple notifications
250
+ # with different settings.
251
+ # @return [Types::Notification]
252
+ #
253
+ # @!attribute [rw] subscribers
254
+ # A list of subscribers.
255
+ # @return [Array<Types::Subscriber>]
256
+ class CreateNotificationRequest < Struct.new(
257
+ :account_id,
258
+ :budget_name,
259
+ :notification,
260
+ :subscribers)
261
+ include Aws::Structure
262
+ end
263
+
264
+ # Response of CreateNotification
265
+ class CreateNotificationResponse < Aws::EmptyStructure; end
266
+
267
+ # Request of CreateSubscriber
268
+ # @note When making an API call, pass CreateSubscriberRequest
269
+ # data as a hash:
270
+ #
271
+ # {
272
+ # account_id: "AccountId", # required
273
+ # budget_name: "BudgetName", # required
274
+ # notification: { # required
275
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
276
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
277
+ # threshold: 1.0, # required
278
+ # },
279
+ # subscriber: { # required
280
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
281
+ # address: "GenericString", # required
282
+ # },
283
+ # }
284
+ # @!attribute [rw] account_id
285
+ # Account Id of the customer. It should be a 12 digit number.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] budget_name
289
+ # A string represents the budget name. No ":" character is allowed.
290
+ # @return [String]
291
+ #
292
+ # @!attribute [rw] notification
293
+ # Notification model. Each budget may contain multiple notifications
294
+ # with different settings.
295
+ # @return [Types::Notification]
296
+ #
297
+ # @!attribute [rw] subscriber
298
+ # Subscriber model. Each notification may contain multiple subscribers
299
+ # with different addresses.
300
+ # @return [Types::Subscriber]
301
+ class CreateSubscriberRequest < Struct.new(
302
+ :account_id,
303
+ :budget_name,
304
+ :notification,
305
+ :subscriber)
306
+ include Aws::Structure
307
+ end
308
+
309
+ # Response of CreateSubscriber
310
+ class CreateSubscriberResponse < Aws::EmptyStructure; end
311
+
312
+ # Request of DeleteBudget
313
+ # @note When making an API call, pass DeleteBudgetRequest
314
+ # data as a hash:
315
+ #
316
+ # {
317
+ # account_id: "AccountId", # required
318
+ # budget_name: "BudgetName", # required
319
+ # }
320
+ # @!attribute [rw] account_id
321
+ # Account Id of the customer. It should be a 12 digit number.
322
+ # @return [String]
323
+ #
324
+ # @!attribute [rw] budget_name
325
+ # A string represents the budget name. No ":" character is allowed.
326
+ # @return [String]
327
+ class DeleteBudgetRequest < Struct.new(
328
+ :account_id,
329
+ :budget_name)
330
+ include Aws::Structure
331
+ end
332
+
333
+ # Response of DeleteBudget
334
+ class DeleteBudgetResponse < Aws::EmptyStructure; end
335
+
336
+ # Request of DeleteNotification
337
+ # @note When making an API call, pass DeleteNotificationRequest
338
+ # data as a hash:
339
+ #
340
+ # {
341
+ # account_id: "AccountId", # required
342
+ # budget_name: "BudgetName", # required
343
+ # notification: { # required
344
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
345
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
346
+ # threshold: 1.0, # required
347
+ # },
348
+ # }
349
+ # @!attribute [rw] account_id
350
+ # Account Id of the customer. It should be a 12 digit number.
351
+ # @return [String]
352
+ #
353
+ # @!attribute [rw] budget_name
354
+ # A string represents the budget name. No ":" character is allowed.
355
+ # @return [String]
356
+ #
357
+ # @!attribute [rw] notification
358
+ # Notification model. Each budget may contain multiple notifications
359
+ # with different settings.
360
+ # @return [Types::Notification]
361
+ class DeleteNotificationRequest < Struct.new(
362
+ :account_id,
363
+ :budget_name,
364
+ :notification)
365
+ include Aws::Structure
366
+ end
367
+
368
+ # Response of DeleteNotification
369
+ class DeleteNotificationResponse < Aws::EmptyStructure; end
370
+
371
+ # Request of DeleteSubscriber
372
+ # @note When making an API call, pass DeleteSubscriberRequest
373
+ # data as a hash:
374
+ #
375
+ # {
376
+ # account_id: "AccountId", # required
377
+ # budget_name: "BudgetName", # required
378
+ # notification: { # required
379
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
380
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
381
+ # threshold: 1.0, # required
382
+ # },
383
+ # subscriber: { # required
384
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
385
+ # address: "GenericString", # required
386
+ # },
387
+ # }
388
+ # @!attribute [rw] account_id
389
+ # Account Id of the customer. It should be a 12 digit number.
390
+ # @return [String]
391
+ #
392
+ # @!attribute [rw] budget_name
393
+ # A string represents the budget name. No ":" character is allowed.
394
+ # @return [String]
395
+ #
396
+ # @!attribute [rw] notification
397
+ # Notification model. Each budget may contain multiple notifications
398
+ # with different settings.
399
+ # @return [Types::Notification]
400
+ #
401
+ # @!attribute [rw] subscriber
402
+ # Subscriber model. Each notification may contain multiple subscribers
403
+ # with different addresses.
404
+ # @return [Types::Subscriber]
405
+ class DeleteSubscriberRequest < Struct.new(
406
+ :account_id,
407
+ :budget_name,
408
+ :notification,
409
+ :subscriber)
410
+ include Aws::Structure
411
+ end
412
+
413
+ # Response of DeleteSubscriber
414
+ class DeleteSubscriberResponse < Aws::EmptyStructure; end
415
+
416
+ # Request of DescribeBudget
417
+ # @note When making an API call, pass DescribeBudgetRequest
418
+ # data as a hash:
419
+ #
420
+ # {
421
+ # account_id: "AccountId", # required
422
+ # budget_name: "BudgetName", # required
423
+ # }
424
+ # @!attribute [rw] account_id
425
+ # Account Id of the customer. It should be a 12 digit number.
426
+ # @return [String]
427
+ #
428
+ # @!attribute [rw] budget_name
429
+ # A string represents the budget name. No ":" character is allowed.
430
+ # @return [String]
431
+ class DescribeBudgetRequest < Struct.new(
432
+ :account_id,
433
+ :budget_name)
434
+ include Aws::Structure
435
+ end
436
+
437
+ # Response of DescribeBudget
438
+ # @!attribute [rw] budget
439
+ # AWS Budget model
440
+ # @return [Types::Budget]
441
+ class DescribeBudgetResponse < Struct.new(
442
+ :budget)
443
+ include Aws::Structure
444
+ end
445
+
446
+ # Request of DescribeBudgets
447
+ # @note When making an API call, pass DescribeBudgetsRequest
448
+ # data as a hash:
449
+ #
450
+ # {
451
+ # account_id: "AccountId", # required
452
+ # max_results: 1,
453
+ # next_token: "GenericString",
454
+ # }
455
+ # @!attribute [rw] account_id
456
+ # Account Id of the customer. It should be a 12 digit number.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] max_results
460
+ # An integer to represent how many entries should a pagianted response
461
+ # contains. Maxium is set to 100.
462
+ # @return [Integer]
463
+ #
464
+ # @!attribute [rw] next_token
465
+ # A generic String.
466
+ # @return [String]
467
+ class DescribeBudgetsRequest < Struct.new(
468
+ :account_id,
469
+ :max_results,
470
+ :next_token)
471
+ include Aws::Structure
472
+ end
473
+
474
+ # Response of DescribeBudgets
475
+ # @!attribute [rw] budgets
476
+ # A list of budgets
477
+ # @return [Array<Types::Budget>]
478
+ #
479
+ # @!attribute [rw] next_token
480
+ # A generic String.
481
+ # @return [String]
482
+ class DescribeBudgetsResponse < Struct.new(
483
+ :budgets,
484
+ :next_token)
485
+ include Aws::Structure
486
+ end
487
+
488
+ # Request of DescribeNotificationsForBudget
489
+ # @note When making an API call, pass DescribeNotificationsForBudgetRequest
490
+ # data as a hash:
491
+ #
492
+ # {
493
+ # account_id: "AccountId", # required
494
+ # budget_name: "BudgetName", # required
495
+ # max_results: 1,
496
+ # next_token: "GenericString",
497
+ # }
498
+ # @!attribute [rw] account_id
499
+ # Account Id of the customer. It should be a 12 digit number.
500
+ # @return [String]
501
+ #
502
+ # @!attribute [rw] budget_name
503
+ # A string represents the budget name. No ":" character is allowed.
504
+ # @return [String]
505
+ #
506
+ # @!attribute [rw] max_results
507
+ # An integer to represent how many entries should a pagianted response
508
+ # contains. Maxium is set to 100.
509
+ # @return [Integer]
510
+ #
511
+ # @!attribute [rw] next_token
512
+ # A generic String.
513
+ # @return [String]
514
+ class DescribeNotificationsForBudgetRequest < Struct.new(
515
+ :account_id,
516
+ :budget_name,
517
+ :max_results,
518
+ :next_token)
519
+ include Aws::Structure
520
+ end
521
+
522
+ # Response of GetNotificationsForBudget
523
+ # @!attribute [rw] notifications
524
+ # A list of notifications.
525
+ # @return [Array<Types::Notification>]
526
+ #
527
+ # @!attribute [rw] next_token
528
+ # A generic String.
529
+ # @return [String]
530
+ class DescribeNotificationsForBudgetResponse < Struct.new(
531
+ :notifications,
532
+ :next_token)
533
+ include Aws::Structure
534
+ end
535
+
536
+ # Request of DescribeSubscribersForNotification
537
+ # @note When making an API call, pass DescribeSubscribersForNotificationRequest
538
+ # data as a hash:
539
+ #
540
+ # {
541
+ # account_id: "AccountId", # required
542
+ # budget_name: "BudgetName", # required
543
+ # notification: { # required
544
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
545
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
546
+ # threshold: 1.0, # required
547
+ # },
548
+ # max_results: 1,
549
+ # next_token: "GenericString",
550
+ # }
551
+ # @!attribute [rw] account_id
552
+ # Account Id of the customer. It should be a 12 digit number.
553
+ # @return [String]
554
+ #
555
+ # @!attribute [rw] budget_name
556
+ # A string represents the budget name. No ":" character is allowed.
557
+ # @return [String]
558
+ #
559
+ # @!attribute [rw] notification
560
+ # Notification model. Each budget may contain multiple notifications
561
+ # with different settings.
562
+ # @return [Types::Notification]
563
+ #
564
+ # @!attribute [rw] max_results
565
+ # An integer to represent how many entries should a pagianted response
566
+ # contains. Maxium is set to 100.
567
+ # @return [Integer]
568
+ #
569
+ # @!attribute [rw] next_token
570
+ # A generic String.
571
+ # @return [String]
572
+ class DescribeSubscribersForNotificationRequest < Struct.new(
573
+ :account_id,
574
+ :budget_name,
575
+ :notification,
576
+ :max_results,
577
+ :next_token)
578
+ include Aws::Structure
579
+ end
580
+
581
+ # Response of DescribeSubscribersForNotification
582
+ # @!attribute [rw] subscribers
583
+ # A list of subscribers.
584
+ # @return [Array<Types::Subscriber>]
585
+ #
586
+ # @!attribute [rw] next_token
587
+ # A generic String.
588
+ # @return [String]
589
+ class DescribeSubscribersForNotificationResponse < Struct.new(
590
+ :subscribers,
591
+ :next_token)
592
+ include Aws::Structure
593
+ end
594
+
595
+ # Notification model. Each budget may contain multiple notifications
596
+ # with different settings.
597
+ # @note When making an API call, pass Notification
598
+ # data as a hash:
599
+ #
600
+ # {
601
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
602
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
603
+ # threshold: 1.0, # required
604
+ # }
605
+ # @!attribute [rw] notification_type
606
+ # The type of a notification. It should be ACTUAL or FORECASTED.
607
+ # @return [String]
608
+ #
609
+ # @!attribute [rw] comparison_operator
610
+ # The comparison operator of a notification. Currently we support less
611
+ # than, equal to and greater than.
612
+ # @return [String]
613
+ #
614
+ # @!attribute [rw] threshold
615
+ # The threshold of the a notification. It should be a number between 0
616
+ # and 100.
617
+ # @return [Float]
618
+ class Notification < Struct.new(
619
+ :notification_type,
620
+ :comparison_operator,
621
+ :threshold)
622
+ include Aws::Structure
623
+ end
624
+
625
+ # A structure to relate notification and a list of subscribers who
626
+ # belong to the notification.
627
+ # @note When making an API call, pass NotificationWithSubscribers
628
+ # data as a hash:
629
+ #
630
+ # {
631
+ # notification: { # required
632
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
633
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
634
+ # threshold: 1.0, # required
635
+ # },
636
+ # subscribers: [ # required
637
+ # {
638
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
639
+ # address: "GenericString", # required
640
+ # },
641
+ # ],
642
+ # }
643
+ # @!attribute [rw] notification
644
+ # Notification model. Each budget may contain multiple notifications
645
+ # with different settings.
646
+ # @return [Types::Notification]
647
+ #
648
+ # @!attribute [rw] subscribers
649
+ # A list of subscribers.
650
+ # @return [Array<Types::Subscriber>]
651
+ class NotificationWithSubscribers < Struct.new(
652
+ :notification,
653
+ :subscribers)
654
+ include Aws::Structure
655
+ end
656
+
657
+ # A structure represent either a cost spend or usage spend. Contains an
658
+ # amount and a unit.
659
+ # @note When making an API call, pass Spend
660
+ # data as a hash:
661
+ #
662
+ # {
663
+ # amount: "NumericValue", # required
664
+ # unit: "GenericString", # required
665
+ # }
666
+ # @!attribute [rw] amount
667
+ # A string to represent NumericValue.
668
+ # @return [String]
669
+ #
670
+ # @!attribute [rw] unit
671
+ # A generic String.
672
+ # @return [String]
673
+ class Spend < Struct.new(
674
+ :amount,
675
+ :unit)
676
+ include Aws::Structure
677
+ end
678
+
679
+ # Subscriber model. Each notification may contain multiple subscribers
680
+ # with different addresses.
681
+ # @note When making an API call, pass Subscriber
682
+ # data as a hash:
683
+ #
684
+ # {
685
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
686
+ # address: "GenericString", # required
687
+ # }
688
+ # @!attribute [rw] subscription_type
689
+ # The subscription type of the subscriber. It can be SMS or EMAIL.
690
+ # @return [String]
691
+ #
692
+ # @!attribute [rw] address
693
+ # A generic String.
694
+ # @return [String]
695
+ class Subscriber < Struct.new(
696
+ :subscription_type,
697
+ :address)
698
+ include Aws::Structure
699
+ end
700
+
701
+ # A time period indicated the start date and end date of a budget.
702
+ # @note When making an API call, pass TimePeriod
703
+ # data as a hash:
704
+ #
705
+ # {
706
+ # start: Time.now, # required
707
+ # end: Time.now, # required
708
+ # }
709
+ # @!attribute [rw] start
710
+ # A generic timestamp. In Java it is transformed to a Date object.
711
+ # @return [Time]
712
+ #
713
+ # @!attribute [rw] end
714
+ # A generic timestamp. In Java it is transformed to a Date object.
715
+ # @return [Time]
716
+ class TimePeriod < Struct.new(
717
+ :start,
718
+ :end)
719
+ include Aws::Structure
720
+ end
721
+
722
+ # Request of UpdateBudget
723
+ # @note When making an API call, pass UpdateBudgetRequest
724
+ # data as a hash:
725
+ #
726
+ # {
727
+ # account_id: "AccountId", # required
728
+ # new_budget: { # required
729
+ # budget_name: "BudgetName", # required
730
+ # budget_limit: { # required
731
+ # amount: "NumericValue", # required
732
+ # unit: "GenericString", # required
733
+ # },
734
+ # cost_filters: {
735
+ # "GenericString" => ["GenericString"],
736
+ # },
737
+ # cost_types: { # required
738
+ # include_tax: false, # required
739
+ # include_subscription: false, # required
740
+ # use_blended: false, # required
741
+ # },
742
+ # time_unit: "MONTHLY", # required, accepts MONTHLY, QUARTERLY, ANNUALLY
743
+ # time_period: { # required
744
+ # start: Time.now, # required
745
+ # end: Time.now, # required
746
+ # },
747
+ # calculated_spend: {
748
+ # actual_spend: { # required
749
+ # amount: "NumericValue", # required
750
+ # unit: "GenericString", # required
751
+ # },
752
+ # forecasted_spend: {
753
+ # amount: "NumericValue", # required
754
+ # unit: "GenericString", # required
755
+ # },
756
+ # },
757
+ # budget_type: "USAGE", # required, accepts USAGE, COST
758
+ # },
759
+ # }
760
+ # @!attribute [rw] account_id
761
+ # Account Id of the customer. It should be a 12 digit number.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] new_budget
765
+ # AWS Budget model
766
+ # @return [Types::Budget]
767
+ class UpdateBudgetRequest < Struct.new(
768
+ :account_id,
769
+ :new_budget)
770
+ include Aws::Structure
771
+ end
772
+
773
+ # Response of UpdateBudget
774
+ class UpdateBudgetResponse < Aws::EmptyStructure; end
775
+
776
+ # Request of UpdateNotification
777
+ # @note When making an API call, pass UpdateNotificationRequest
778
+ # data as a hash:
779
+ #
780
+ # {
781
+ # account_id: "AccountId", # required
782
+ # budget_name: "BudgetName", # required
783
+ # old_notification: { # required
784
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
785
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
786
+ # threshold: 1.0, # required
787
+ # },
788
+ # new_notification: { # required
789
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
790
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
791
+ # threshold: 1.0, # required
792
+ # },
793
+ # }
794
+ # @!attribute [rw] account_id
795
+ # Account Id of the customer. It should be a 12 digit number.
796
+ # @return [String]
797
+ #
798
+ # @!attribute [rw] budget_name
799
+ # A string represents the budget name. No ":" character is allowed.
800
+ # @return [String]
801
+ #
802
+ # @!attribute [rw] old_notification
803
+ # Notification model. Each budget may contain multiple notifications
804
+ # with different settings.
805
+ # @return [Types::Notification]
806
+ #
807
+ # @!attribute [rw] new_notification
808
+ # Notification model. Each budget may contain multiple notifications
809
+ # with different settings.
810
+ # @return [Types::Notification]
811
+ class UpdateNotificationRequest < Struct.new(
812
+ :account_id,
813
+ :budget_name,
814
+ :old_notification,
815
+ :new_notification)
816
+ include Aws::Structure
817
+ end
818
+
819
+ # Response of UpdateNotification
820
+ class UpdateNotificationResponse < Aws::EmptyStructure; end
821
+
822
+ # Request of UpdateSubscriber
823
+ # @note When making an API call, pass UpdateSubscriberRequest
824
+ # data as a hash:
825
+ #
826
+ # {
827
+ # account_id: "AccountId", # required
828
+ # budget_name: "BudgetName", # required
829
+ # notification: { # required
830
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
831
+ # comparison_operator: "GREATER_THAN", # required, accepts GREATER_THAN, LESS_THAN, EQUAL_TO
832
+ # threshold: 1.0, # required
833
+ # },
834
+ # old_subscriber: { # required
835
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
836
+ # address: "GenericString", # required
837
+ # },
838
+ # new_subscriber: { # required
839
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
840
+ # address: "GenericString", # required
841
+ # },
842
+ # }
843
+ # @!attribute [rw] account_id
844
+ # Account Id of the customer. It should be a 12 digit number.
845
+ # @return [String]
846
+ #
847
+ # @!attribute [rw] budget_name
848
+ # A string represents the budget name. No ":" character is allowed.
849
+ # @return [String]
850
+ #
851
+ # @!attribute [rw] notification
852
+ # Notification model. Each budget may contain multiple notifications
853
+ # with different settings.
854
+ # @return [Types::Notification]
855
+ #
856
+ # @!attribute [rw] old_subscriber
857
+ # Subscriber model. Each notification may contain multiple subscribers
858
+ # with different addresses.
859
+ # @return [Types::Subscriber]
860
+ #
861
+ # @!attribute [rw] new_subscriber
862
+ # Subscriber model. Each notification may contain multiple subscribers
863
+ # with different addresses.
864
+ # @return [Types::Subscriber]
865
+ class UpdateSubscriberRequest < Struct.new(
866
+ :account_id,
867
+ :budget_name,
868
+ :notification,
869
+ :old_subscriber,
870
+ :new_subscriber)
871
+ include Aws::Structure
872
+ end
873
+
874
+ # Response of UpdateSubscriber
875
+ class UpdateSubscriberResponse < Aws::EmptyStructure; end
876
+
877
+ end
878
+ end
879
+ end