aws-sdk-budgets 1.0.0.rc1 → 1.0.0.rc2

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