aws-sdk-budgets 1.44.0 → 1.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff8c53adfec8f21e752184b94bd3365fd690dd38446cd1946089374d0e70d98d
4
- data.tar.gz: bf4e9d728e19606666d133c84ff3eb5c7ff585cdf6b57f0717e695e4103c45ea
3
+ metadata.gz: f36cfe3de3777c81f79195c250b4ae2530699a8674f2f5f913446b72a4615b84
4
+ data.tar.gz: 1224f8ea9b2fe9c7548e5078badc960524b1e69ac4b363571efedd185e19208e
5
5
  SHA512:
6
- metadata.gz: a6b03e241de500d60509b14c30b8ac07a67921f1b8ddaefb3f255c8038cd2e422b53172a995e1397da97366df29478415e4062d099ae92375a962fb0553ade2b
7
- data.tar.gz: d728d9e4fec7dfc0b21632cac9c53a2a4d7887475816eb187ef0b0a355616bccdc6a734e55d812b6a3bfc9b0be7f56e263f6bfdb061860f727706e3e6928ca4a
6
+ metadata.gz: 8bd29b188b7b6c39e0db0efea003303a19ee98e7c9405ede27cf3593778af17cc6f3cd54c9ec4bcfdc30c7fdb3bb995a9905a04c4845847cf80333332b27b7e0
7
+ data.tar.gz: 1b3ba4844cfaafca9e43b59681e2fa86aeeff582a3cf2931d98dd66898d10657926d48122c827c93df4ca1226861b6e512c5909b2122e8bb9880a1823505037b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.48.0 (2022-02-18)
5
+ ------------------
6
+
7
+ * Feature - This change introduces DescribeBudgetNotificationsForAccount API which returns budget notifications for the specified account
8
+
9
+ 1.47.0 (2022-02-16)
10
+ ------------------
11
+
12
+ * Feature - Adds support for auto-adjusting budgets, a new budget method alongside fixed and planned. Auto-adjusting budgets introduces new metadata to configure a budget limit baseline using a historical lookback average or current period forecast.
13
+
14
+ 1.46.0 (2022-02-03)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.45.0 (2021-12-21)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.44.0 (2021-11-30)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.44.0
1
+ 1.48.0
@@ -27,6 +27,8 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
31
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
32
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
33
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
34
 
@@ -73,6 +75,8 @@ module Aws::Budgets
73
75
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
76
  add_plugin(Aws::Plugins::TransferEncoding)
75
77
  add_plugin(Aws::Plugins::HttpChecksum)
78
+ add_plugin(Aws::Plugins::DefaultsMode)
79
+ add_plugin(Aws::Plugins::RecursionDetection)
76
80
  add_plugin(Aws::Plugins::SignatureV4)
77
81
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
78
82
 
@@ -175,6 +179,10 @@ module Aws::Budgets
175
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
180
  # a clock skew correction and retry requests with skewed client clocks.
177
181
  #
182
+ # @option options [String] :defaults_mode ("legacy")
183
+ # See {Aws::DefaultsModeConfiguration} for a list of the
184
+ # accepted modes and the configuration defaults that are included.
185
+ #
178
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
187
  # Set to true to disable SDK automatically adding host prefix
180
188
  # to default service endpoint when available.
@@ -307,7 +315,7 @@ module Aws::Budgets
307
315
  # seconds to wait when opening a HTTP session before raising a
308
316
  # `Timeout::Error`.
309
317
  #
310
- # @option options [Integer] :http_read_timeout (60) The default
318
+ # @option options [Float] :http_read_timeout (60) The default
311
319
  # number of seconds to wait for response data. This value can
312
320
  # safely be set per-request on the session.
313
321
  #
@@ -323,6 +331,9 @@ module Aws::Budgets
323
331
  # disables this behaviour. This value can safely be set per
324
332
  # request on the session.
325
333
  #
334
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
335
+ # in seconds.
336
+ #
326
337
  # @option options [Boolean] :http_wire_trace (false) When `true`,
327
338
  # HTTP debug output will be sent to the `:logger`.
328
339
  #
@@ -369,8 +380,8 @@ module Aws::Budgets
369
380
  # A notification that you want to associate with a budget. A budget can
370
381
  # have up to five notifications, and each notification can have one SNS
371
382
  # subscriber and up to 10 email subscribers. If you include
372
- # notifications and subscribers in your `CreateBudget` call, AWS creates
373
- # the notifications and subscribers for you.
383
+ # notifications and subscribers in your `CreateBudget` call, Amazon Web
384
+ # Services creates the notifications and subscribers for you.
374
385
  #
375
386
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
376
387
  #
@@ -423,6 +434,14 @@ module Aws::Budgets
423
434
  # },
424
435
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
425
436
  # last_updated_time: Time.now,
437
+ # auto_adjust_data: {
438
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
439
+ # historical_options: {
440
+ # budget_adjustment_period: 1, # required
441
+ # look_back_available_periods: 1,
442
+ # },
443
+ # last_auto_adjust_time: Time.now,
444
+ # },
426
445
  # },
427
446
  # notifications_with_subscribers: [
428
447
  # {
@@ -453,7 +472,7 @@ module Aws::Budgets
453
472
  # Creates a budget action.
454
473
  #
455
474
  # @option params [required, String] :account_id
456
- # The account ID of the user. It should be a 12-digit number.
475
+ # The account ID of the user. It's a 12-digit number.
457
476
  #
458
477
  # @option params [required, String] :budget_name
459
478
  # A string that represents the budget name. The ":" and "\\"
@@ -548,8 +567,8 @@ module Aws::Budgets
548
567
  # create a notification for.
549
568
  #
550
569
  # @option params [required, String] :budget_name
551
- # The name of the budget that you want AWS to notify you about. Budget
552
- # names must be unique within an account.
570
+ # The name of the budget that you want Amazon Web Services to notify you
571
+ # about. Budget names must be unique within an account.
553
572
  #
554
573
  # @option params [required, Types::Notification] :notification
555
574
  # The notification that you want to create.
@@ -663,7 +682,7 @@ module Aws::Budgets
663
682
  # Deletes a budget action.
664
683
  #
665
684
  # @option params [required, String] :account_id
666
- # The account ID of the user. It should be a 12-digit number.
685
+ # The account ID of the user. It's a 12-digit number.
667
686
  #
668
687
  # @option params [required, String] :budget_name
669
688
  # A string that represents the budget name. The ":" and "\\"
@@ -866,6 +885,10 @@ module Aws::Budgets
866
885
  # resp.budget.calculated_spend.forecasted_spend.unit #=> String
867
886
  # resp.budget.budget_type #=> String, one of "USAGE", "COST", "RI_UTILIZATION", "RI_COVERAGE", "SAVINGS_PLANS_UTILIZATION", "SAVINGS_PLANS_COVERAGE"
868
887
  # resp.budget.last_updated_time #=> Time
888
+ # resp.budget.auto_adjust_data.auto_adjust_type #=> String, one of "HISTORICAL", "FORECAST"
889
+ # resp.budget.auto_adjust_data.historical_options.budget_adjustment_period #=> Integer
890
+ # resp.budget.auto_adjust_data.historical_options.look_back_available_periods #=> Integer
891
+ # resp.budget.auto_adjust_data.last_auto_adjust_time #=> Time
869
892
  #
870
893
  # @overload describe_budget(params = {})
871
894
  # @param [Hash] params ({})
@@ -877,7 +900,7 @@ module Aws::Budgets
877
900
  # Describes a budget action detail.
878
901
  #
879
902
  # @option params [required, String] :account_id
880
- # The account ID of the user. It should be a 12-digit number.
903
+ # The account ID of the user. It's a 12-digit number.
881
904
  #
882
905
  # @option params [required, String] :budget_name
883
906
  # A string that represents the budget name. The ":" and "\\"
@@ -942,7 +965,7 @@ module Aws::Budgets
942
965
  # Describes a budget action history detail.
943
966
  #
944
967
  # @option params [required, String] :account_id
945
- # The account ID of the user. It should be a 12-digit number.
968
+ # The account ID of the user. It's a 12-digit number.
946
969
  #
947
970
  # @option params [required, String] :budget_name
948
971
  # A string that represents the budget name. The ":" and "\\"
@@ -953,7 +976,7 @@ module Aws::Budgets
953
976
  # action.
954
977
  #
955
978
  # @option params [Types::TimePeriod] :time_period
956
- # The period of time that is covered by a budget. The period has a start
979
+ # The period of time that's covered by a budget. The period has a start
957
980
  # date and an end date. The start date must come before the end date.
958
981
  # There are no restrictions on the end date.
959
982
  #
@@ -1030,7 +1053,7 @@ module Aws::Budgets
1030
1053
  # Describes all of the budget actions for an account.
1031
1054
  #
1032
1055
  # @option params [required, String] :account_id
1033
- # The account ID of the user. It should be a 12-digit number.
1056
+ # The account ID of the user. It's a 12-digit number.
1034
1057
  #
1035
1058
  # @option params [Integer] :max_results
1036
1059
  # An integer that represents how many entries a paginated response
@@ -1095,7 +1118,7 @@ module Aws::Budgets
1095
1118
  # Describes all of the budget actions for a budget.
1096
1119
  #
1097
1120
  # @option params [required, String] :account_id
1098
- # The account ID of the user. It should be a 12-digit number.
1121
+ # The account ID of the user. It's a 12-digit number.
1099
1122
  #
1100
1123
  # @option params [required, String] :budget_name
1101
1124
  # A string that represents the budget name. The ":" and "\\"
@@ -1162,11 +1185,58 @@ module Aws::Budgets
1162
1185
  req.send_request(options)
1163
1186
  end
1164
1187
 
1188
+ # Lists the budget names and notifications that are associated with an
1189
+ # account.
1190
+ #
1191
+ # @option params [required, String] :account_id
1192
+ # The account ID of the user. It's a 12-digit number.
1193
+ #
1194
+ # @option params [Integer] :max_results
1195
+ # An integer that shows how many budget name entries a paginated
1196
+ # response contains.
1197
+ #
1198
+ # @option params [String] :next_token
1199
+ # A generic string.
1200
+ #
1201
+ # @return [Types::DescribeBudgetNotificationsForAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1202
+ #
1203
+ # * {Types::DescribeBudgetNotificationsForAccountResponse#budget_notifications_for_account #budget_notifications_for_account} => Array<Types::BudgetNotificationsForAccount>
1204
+ # * {Types::DescribeBudgetNotificationsForAccountResponse#next_token #next_token} => String
1205
+ #
1206
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1207
+ #
1208
+ # @example Request syntax with placeholder values
1209
+ #
1210
+ # resp = client.describe_budget_notifications_for_account({
1211
+ # account_id: "AccountId", # required
1212
+ # max_results: 1,
1213
+ # next_token: "GenericString",
1214
+ # })
1215
+ #
1216
+ # @example Response structure
1217
+ #
1218
+ # resp.budget_notifications_for_account #=> Array
1219
+ # resp.budget_notifications_for_account[0].notifications #=> Array
1220
+ # resp.budget_notifications_for_account[0].notifications[0].notification_type #=> String, one of "ACTUAL", "FORECASTED"
1221
+ # resp.budget_notifications_for_account[0].notifications[0].comparison_operator #=> String, one of "GREATER_THAN", "LESS_THAN", "EQUAL_TO"
1222
+ # resp.budget_notifications_for_account[0].notifications[0].threshold #=> Float
1223
+ # resp.budget_notifications_for_account[0].notifications[0].threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
1224
+ # resp.budget_notifications_for_account[0].notifications[0].notification_state #=> String, one of "OK", "ALARM"
1225
+ # resp.budget_notifications_for_account[0].budget_name #=> String
1226
+ # resp.next_token #=> String
1227
+ #
1228
+ # @overload describe_budget_notifications_for_account(params = {})
1229
+ # @param [Hash] params ({})
1230
+ def describe_budget_notifications_for_account(params = {}, options = {})
1231
+ req = build_request(:describe_budget_notifications_for_account, params)
1232
+ req.send_request(options)
1233
+ end
1234
+
1165
1235
  # Describes the history for `DAILY`, `MONTHLY`, and `QUARTERLY` budgets.
1166
1236
  # Budget history isn't available for `ANNUAL` budgets.
1167
1237
  #
1168
1238
  # @option params [required, String] :account_id
1169
- # The account ID of the user. It should be a 12-digit number.
1239
+ # The account ID of the user. It's a 12-digit number.
1170
1240
  #
1171
1241
  # @option params [required, String] :budget_name
1172
1242
  # A string that represents the budget name. The ":" and "\\"
@@ -1306,6 +1376,10 @@ module Aws::Budgets
1306
1376
  # resp.budgets[0].calculated_spend.forecasted_spend.unit #=> String
1307
1377
  # resp.budgets[0].budget_type #=> String, one of "USAGE", "COST", "RI_UTILIZATION", "RI_COVERAGE", "SAVINGS_PLANS_UTILIZATION", "SAVINGS_PLANS_COVERAGE"
1308
1378
  # resp.budgets[0].last_updated_time #=> Time
1379
+ # resp.budgets[0].auto_adjust_data.auto_adjust_type #=> String, one of "HISTORICAL", "FORECAST"
1380
+ # resp.budgets[0].auto_adjust_data.historical_options.budget_adjustment_period #=> Integer
1381
+ # resp.budgets[0].auto_adjust_data.historical_options.look_back_available_periods #=> Integer
1382
+ # resp.budgets[0].auto_adjust_data.last_auto_adjust_time #=> Time
1309
1383
  # resp.next_token #=> String
1310
1384
  #
1311
1385
  # @overload describe_budgets(params = {})
@@ -1425,7 +1499,7 @@ module Aws::Budgets
1425
1499
  # Executes a budget action.
1426
1500
  #
1427
1501
  # @option params [required, String] :account_id
1428
- # The account ID of the user. It should be a 12-digit number.
1502
+ # The account ID of the user. It's a 12-digit number.
1429
1503
  #
1430
1504
  # @option params [required, String] :budget_name
1431
1505
  # A string that represents the budget name. The ":" and "\\"
@@ -1470,8 +1544,8 @@ module Aws::Budgets
1470
1544
 
1471
1545
  # Updates a budget. You can change every part of a budget except for the
1472
1546
  # `budgetName` and the `calculatedSpend`. When you modify a budget, the
1473
- # `calculatedSpend` drops to zero until AWS has new usage data to use
1474
- # for forecasting.
1547
+ # `calculatedSpend` drops to zero until Amazon Web Services has new
1548
+ # usage data to use for forecasting.
1475
1549
  #
1476
1550
  # Only one of `BudgetLimit` or `PlannedBudgetLimits` can be present in
1477
1551
  # the syntax at one time. Use the syntax that matches your case. The
@@ -1540,6 +1614,14 @@ module Aws::Budgets
1540
1614
  # },
1541
1615
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
1542
1616
  # last_updated_time: Time.now,
1617
+ # auto_adjust_data: {
1618
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
1619
+ # historical_options: {
1620
+ # budget_adjustment_period: 1, # required
1621
+ # look_back_available_periods: 1,
1622
+ # },
1623
+ # last_auto_adjust_time: Time.now,
1624
+ # },
1543
1625
  # },
1544
1626
  # })
1545
1627
  #
@@ -1553,7 +1635,7 @@ module Aws::Budgets
1553
1635
  # Updates a budget action.
1554
1636
  #
1555
1637
  # @option params [required, String] :account_id
1556
- # The account ID of the user. It should be a 12-digit number.
1638
+ # The account ID of the user. It's a 12-digit number.
1557
1639
  #
1558
1640
  # @option params [required, String] :budget_name
1559
1641
  # A string that represents the budget name. The ":" and "\\"
@@ -1798,7 +1880,7 @@ module Aws::Budgets
1798
1880
  params: params,
1799
1881
  config: config)
1800
1882
  context[:gem_name] = 'aws-sdk-budgets'
1801
- context[:gem_version] = '1.44.0'
1883
+ context[:gem_version] = '1.48.0'
1802
1884
  Seahorse::Client::Request.new(handlers, context)
1803
1885
  end
1804
1886
 
@@ -25,9 +25,14 @@ module Aws::Budgets
25
25
  ActionThreshold = Shapes::StructureShape.new(name: 'ActionThreshold')
26
26
  ActionType = Shapes::StringShape.new(name: 'ActionType')
27
27
  Actions = Shapes::ListShape.new(name: 'Actions')
28
+ AdjustmentPeriod = Shapes::IntegerShape.new(name: 'AdjustmentPeriod')
28
29
  ApprovalModel = Shapes::StringShape.new(name: 'ApprovalModel')
30
+ AutoAdjustData = Shapes::StructureShape.new(name: 'AutoAdjustData')
31
+ AutoAdjustType = Shapes::StringShape.new(name: 'AutoAdjustType')
29
32
  Budget = Shapes::StructureShape.new(name: 'Budget')
30
33
  BudgetName = Shapes::StringShape.new(name: 'BudgetName')
34
+ BudgetNotificationsForAccount = Shapes::StructureShape.new(name: 'BudgetNotificationsForAccount')
35
+ BudgetNotificationsForAccountList = Shapes::ListShape.new(name: 'BudgetNotificationsForAccountList')
31
36
  BudgetPerformanceHistory = Shapes::StructureShape.new(name: 'BudgetPerformanceHistory')
32
37
  BudgetType = Shapes::StringShape.new(name: 'BudgetType')
33
38
  BudgetedAndActualAmounts = Shapes::StructureShape.new(name: 'BudgetedAndActualAmounts')
@@ -63,6 +68,8 @@ module Aws::Budgets
63
68
  DescribeBudgetActionsForAccountResponse = Shapes::StructureShape.new(name: 'DescribeBudgetActionsForAccountResponse')
64
69
  DescribeBudgetActionsForBudgetRequest = Shapes::StructureShape.new(name: 'DescribeBudgetActionsForBudgetRequest')
65
70
  DescribeBudgetActionsForBudgetResponse = Shapes::StructureShape.new(name: 'DescribeBudgetActionsForBudgetResponse')
71
+ DescribeBudgetNotificationsForAccountRequest = Shapes::StructureShape.new(name: 'DescribeBudgetNotificationsForAccountRequest')
72
+ DescribeBudgetNotificationsForAccountResponse = Shapes::StructureShape.new(name: 'DescribeBudgetNotificationsForAccountResponse')
66
73
  DescribeBudgetPerformanceHistoryRequest = Shapes::StructureShape.new(name: 'DescribeBudgetPerformanceHistoryRequest')
67
74
  DescribeBudgetPerformanceHistoryResponse = Shapes::StructureShape.new(name: 'DescribeBudgetPerformanceHistoryResponse')
68
75
  DescribeBudgetRequest = Shapes::StructureShape.new(name: 'DescribeBudgetRequest')
@@ -84,6 +91,7 @@ module Aws::Budgets
84
91
  GenericTimestamp = Shapes::TimestampShape.new(name: 'GenericTimestamp')
85
92
  Group = Shapes::StringShape.new(name: 'Group')
86
93
  Groups = Shapes::ListShape.new(name: 'Groups')
94
+ HistoricalOptions = Shapes::StructureShape.new(name: 'HistoricalOptions')
87
95
  IamActionDefinition = Shapes::StructureShape.new(name: 'IamActionDefinition')
88
96
  InstanceId = Shapes::StringShape.new(name: 'InstanceId')
89
97
  InstanceIds = Shapes::ListShape.new(name: 'InstanceIds')
@@ -91,6 +99,7 @@ module Aws::Budgets
91
99
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
92
100
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
93
101
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
102
+ MaxResultsBudgetNotifications = Shapes::IntegerShape.new(name: 'MaxResultsBudgetNotifications')
94
103
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
95
104
  Notification = Shapes::StructureShape.new(name: 'Notification')
96
105
  NotificationState = Shapes::StringShape.new(name: 'NotificationState')
@@ -167,6 +176,11 @@ module Aws::Budgets
167
176
 
168
177
  Actions.member = Shapes::ShapeRef.new(shape: Action)
169
178
 
179
+ AutoAdjustData.add_member(:auto_adjust_type, Shapes::ShapeRef.new(shape: AutoAdjustType, required: true, location_name: "AutoAdjustType"))
180
+ AutoAdjustData.add_member(:historical_options, Shapes::ShapeRef.new(shape: HistoricalOptions, location_name: "HistoricalOptions"))
181
+ AutoAdjustData.add_member(:last_auto_adjust_time, Shapes::ShapeRef.new(shape: GenericTimestamp, location_name: "LastAutoAdjustTime"))
182
+ AutoAdjustData.struct_class = Types::AutoAdjustData
183
+
170
184
  Budget.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, required: true, location_name: "BudgetName"))
171
185
  Budget.add_member(:budget_limit, Shapes::ShapeRef.new(shape: Spend, location_name: "BudgetLimit"))
172
186
  Budget.add_member(:planned_budget_limits, Shapes::ShapeRef.new(shape: PlannedBudgetLimits, location_name: "PlannedBudgetLimits"))
@@ -177,8 +191,15 @@ module Aws::Budgets
177
191
  Budget.add_member(:calculated_spend, Shapes::ShapeRef.new(shape: CalculatedSpend, location_name: "CalculatedSpend"))
178
192
  Budget.add_member(:budget_type, Shapes::ShapeRef.new(shape: BudgetType, required: true, location_name: "BudgetType"))
179
193
  Budget.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: GenericTimestamp, location_name: "LastUpdatedTime"))
194
+ Budget.add_member(:auto_adjust_data, Shapes::ShapeRef.new(shape: AutoAdjustData, location_name: "AutoAdjustData"))
180
195
  Budget.struct_class = Types::Budget
181
196
 
197
+ BudgetNotificationsForAccount.add_member(:notifications, Shapes::ShapeRef.new(shape: Notifications, location_name: "Notifications"))
198
+ BudgetNotificationsForAccount.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, location_name: "BudgetName"))
199
+ BudgetNotificationsForAccount.struct_class = Types::BudgetNotificationsForAccount
200
+
201
+ BudgetNotificationsForAccountList.member = Shapes::ShapeRef.new(shape: BudgetNotificationsForAccount)
202
+
182
203
  BudgetPerformanceHistory.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, location_name: "BudgetName"))
183
204
  BudgetPerformanceHistory.add_member(:budget_type, Shapes::ShapeRef.new(shape: BudgetType, location_name: "BudgetType"))
184
205
  BudgetPerformanceHistory.add_member(:cost_filters, Shapes::ShapeRef.new(shape: CostFilters, location_name: "CostFilters"))
@@ -335,6 +356,15 @@ module Aws::Budgets
335
356
  DescribeBudgetActionsForBudgetResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: GenericString, location_name: "NextToken"))
336
357
  DescribeBudgetActionsForBudgetResponse.struct_class = Types::DescribeBudgetActionsForBudgetResponse
337
358
 
359
+ DescribeBudgetNotificationsForAccountRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
360
+ DescribeBudgetNotificationsForAccountRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsBudgetNotifications, location_name: "MaxResults"))
361
+ DescribeBudgetNotificationsForAccountRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: GenericString, location_name: "NextToken"))
362
+ DescribeBudgetNotificationsForAccountRequest.struct_class = Types::DescribeBudgetNotificationsForAccountRequest
363
+
364
+ DescribeBudgetNotificationsForAccountResponse.add_member(:budget_notifications_for_account, Shapes::ShapeRef.new(shape: BudgetNotificationsForAccountList, location_name: "BudgetNotificationsForAccount"))
365
+ DescribeBudgetNotificationsForAccountResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: GenericString, location_name: "NextToken"))
366
+ DescribeBudgetNotificationsForAccountResponse.struct_class = Types::DescribeBudgetNotificationsForAccountResponse
367
+
338
368
  DescribeBudgetPerformanceHistoryRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
339
369
  DescribeBudgetPerformanceHistoryRequest.add_member(:budget_name, Shapes::ShapeRef.new(shape: BudgetName, required: true, location_name: "BudgetName"))
340
370
  DescribeBudgetPerformanceHistoryRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: TimePeriod, location_name: "TimePeriod"))
@@ -405,6 +435,10 @@ module Aws::Budgets
405
435
 
406
436
  Groups.member = Shapes::ShapeRef.new(shape: Group)
407
437
 
438
+ HistoricalOptions.add_member(:budget_adjustment_period, Shapes::ShapeRef.new(shape: AdjustmentPeriod, required: true, location_name: "BudgetAdjustmentPeriod"))
439
+ HistoricalOptions.add_member(:look_back_available_periods, Shapes::ShapeRef.new(shape: AdjustmentPeriod, location_name: "LookBackAvailablePeriods"))
440
+ HistoricalOptions.struct_class = Types::HistoricalOptions
441
+
408
442
  IamActionDefinition.add_member(:policy_arn, Shapes::ShapeRef.new(shape: PolicyArn, required: true, location_name: "PolicyArn"))
409
443
  IamActionDefinition.add_member(:roles, Shapes::ShapeRef.new(shape: Roles, location_name: "Roles"))
410
444
  IamActionDefinition.add_member(:groups, Shapes::ShapeRef.new(shape: Groups, location_name: "Groups"))
@@ -718,6 +752,26 @@ module Aws::Budgets
718
752
  )
719
753
  end)
720
754
 
755
+ api.add_operation(:describe_budget_notifications_for_account, Seahorse::Model::Operation.new.tap do |o|
756
+ o.name = "DescribeBudgetNotificationsForAccount"
757
+ o.http_method = "POST"
758
+ o.http_request_uri = "/"
759
+ o.input = Shapes::ShapeRef.new(shape: DescribeBudgetNotificationsForAccountRequest)
760
+ o.output = Shapes::ShapeRef.new(shape: DescribeBudgetNotificationsForAccountResponse)
761
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
762
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
763
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
764
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
765
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredNextTokenException)
766
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
767
+ o[:pager] = Aws::Pager.new(
768
+ limit_key: "max_results",
769
+ tokens: {
770
+ "next_token" => "next_token"
771
+ }
772
+ )
773
+ end)
774
+
721
775
  api.add_operation(:describe_budget_performance_history, Seahorse::Model::Operation.new.tap do |o|
722
776
  o.name = "DescribeBudgetPerformanceHistory"
723
777
  o.http_method = "POST"
@@ -63,7 +63,7 @@ module Aws::Budgets
63
63
  # @return [String]
64
64
  #
65
65
  # @!attribute [rw] status
66
- # The status of action.
66
+ # The status of the action.
67
67
  # @return [String]
68
68
  #
69
69
  # @!attribute [rw] subscribers
@@ -88,7 +88,7 @@ module Aws::Budgets
88
88
  # The historical records for a budget action.
89
89
  #
90
90
  # @!attribute [rw] timestamp
91
- # A generic time stamp. In Java, it is transformed to a `Date` object.
91
+ # A generic time stamp. In Java, it's transformed to a `Date` object.
92
92
  # @return [Time]
93
93
  #
94
94
  # @!attribute [rw] status
@@ -97,11 +97,11 @@ module Aws::Budgets
97
97
  #
98
98
  # @!attribute [rw] event_type
99
99
  # This distinguishes between whether the events are triggered by the
100
- # user or generated by the system.
100
+ # user or are generated by the system.
101
101
  # @return [String]
102
102
  #
103
103
  # @!attribute [rw] action_history_details
104
- # The description of details of the event.
104
+ # The description of the details for the event.
105
105
  # @return [Types::ActionHistoryDetails]
106
106
  #
107
107
  class ActionHistory < Struct.new(
@@ -113,7 +113,7 @@ module Aws::Budgets
113
113
  include Aws::Structure
114
114
  end
115
115
 
116
- # The description of details of the event.
116
+ # The description of the details for the event.
117
117
  #
118
118
  # @!attribute [rw] message
119
119
  # A generic string.
@@ -155,11 +155,48 @@ module Aws::Budgets
155
155
  include Aws::Structure
156
156
  end
157
157
 
158
+ # The parameters that determine the budget amount for an auto-adjusting
159
+ # budget.
160
+ #
161
+ # @note When making an API call, you may pass AutoAdjustData
162
+ # data as a hash:
163
+ #
164
+ # {
165
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
166
+ # historical_options: {
167
+ # budget_adjustment_period: 1, # required
168
+ # look_back_available_periods: 1,
169
+ # },
170
+ # last_auto_adjust_time: Time.now,
171
+ # }
172
+ #
173
+ # @!attribute [rw] auto_adjust_type
174
+ # The string that defines whether your budget auto-adjusts based on
175
+ # historical or forecasted data.
176
+ # @return [String]
177
+ #
178
+ # @!attribute [rw] historical_options
179
+ # The parameters that define or describe the historical data that your
180
+ # auto-adjusting budget is based on.
181
+ # @return [Types::HistoricalOptions]
182
+ #
183
+ # @!attribute [rw] last_auto_adjust_time
184
+ # The last time that your budget was auto-adjusted.
185
+ # @return [Time]
186
+ #
187
+ class AutoAdjustData < Struct.new(
188
+ :auto_adjust_type,
189
+ :historical_options,
190
+ :last_auto_adjust_time)
191
+ SENSITIVE = []
192
+ include Aws::Structure
193
+ end
194
+
158
195
  # Represents the output of the `CreateBudget` operation. The content
159
196
  # consists of the detailed metadata and data file information, and the
160
197
  # current status of the `budget` object.
161
198
  #
162
- # This is the ARN pattern for a budget:
199
+ # This is the Amazon Resource Name (ARN) pattern for a budget:
163
200
  #
164
201
  # `arn:aws:budgets::AccountId:budget/budgetName`
165
202
  #
@@ -211,6 +248,14 @@ module Aws::Budgets
211
248
  # },
212
249
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
213
250
  # last_updated_time: Time.now,
251
+ # auto_adjust_data: {
252
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
253
+ # historical_options: {
254
+ # budget_adjustment_period: 1, # required
255
+ # look_back_available_periods: 1,
256
+ # },
257
+ # last_auto_adjust_time: Time.now,
258
+ # },
214
259
  # }
215
260
  #
216
261
  # @!attribute [rw] budget_name
@@ -225,8 +270,8 @@ module Aws::Budgets
225
270
  #
226
271
  # `BudgetLimit` is required for cost or usage budgets, but optional
227
272
  # for RI or Savings Plans utilization or coverage budgets. RI and
228
- # Savings Plans utilization or coverage budgets default to `100`,
229
- # which is the only valid value for RI or Savings Plans utilization or
273
+ # Savings Plans utilization or coverage budgets default to `100`. This
274
+ # is the only valid value for RI or Savings Plans utilization or
230
275
  # coverage budgets. You can't use `BudgetLimit` with
231
276
  # `PlannedBudgetLimits` for `CreateBudget` and `UpdateBudget` actions.
232
277
  # @return [Types::Spend]
@@ -236,19 +281,20 @@ module Aws::Budgets
236
281
  # limits.
237
282
  #
238
283
  # `PlannedBudgetLimits` is available for cost or usage budget and
239
- # supports monthly and quarterly `TimeUnit`.
284
+ # supports both monthly and quarterly `TimeUnit`.
240
285
  #
241
286
  # For monthly budgets, provide 12 months of `PlannedBudgetLimits`
242
287
  # values. This must start from the current month and include the next
243
288
  # 11 months. The `key` is the start of the month, `UTC` in epoch
244
289
  # seconds.
245
290
  #
246
- # For quarterly budgets, provide 4 quarters of `PlannedBudgetLimits`
247
- # value entries in standard calendar quarter increments. This must
248
- # start from the current quarter and include the next 3 quarters. The
249
- # `key` is the start of the quarter, `UTC` in epoch seconds.
291
+ # For quarterly budgets, provide four quarters of
292
+ # `PlannedBudgetLimits` value entries in standard calendar quarter
293
+ # increments. This must start from the current quarter and include the
294
+ # next three quarters. The `key` is the start of the quarter, `UTC` in
295
+ # epoch seconds.
250
296
  #
251
- # If the planned budget expires before 12 months for monthly or 4
297
+ # If the planned budget expires before 12 months for monthly or four
252
298
  # quarters for quarterly, provide the `PlannedBudgetLimits` values
253
299
  # only for the remaining periods.
254
300
  #
@@ -261,21 +307,22 @@ module Aws::Budgets
261
307
  # experience as a fixed budget.
262
308
  #
263
309
  # `DescribeBudget` and `DescribeBudgets` response along with
264
- # `PlannedBudgetLimits` will also contain `BudgetLimit` representing
265
- # the current month or quarter limit present in `PlannedBudgetLimits`.
266
- # This only applies to budgets created with `PlannedBudgetLimits`.
267
- # Budgets created without `PlannedBudgetLimits` will only contain
268
- # `BudgetLimit`, and no `PlannedBudgetLimits`.
310
+ # `PlannedBudgetLimits` also contain `BudgetLimit` representing the
311
+ # current month or quarter limit present in `PlannedBudgetLimits`.
312
+ # This only applies to budgets that are created with
313
+ # `PlannedBudgetLimits`. Budgets that are created without
314
+ # `PlannedBudgetLimits` only contain `BudgetLimit`. They don't
315
+ # contain `PlannedBudgetLimits`.
269
316
  # @return [Hash<String,Types::Spend>]
270
317
  #
271
318
  # @!attribute [rw] cost_filters
272
- # The cost filters, such as service or tag, that are applied to a
273
- # budget.
319
+ # The cost filters, such as `Region`, `Service`, `member account`,
320
+ # `Tag`, or `Cost Category`, that are applied to a budget.
274
321
  #
275
- # AWS Budgets supports the following services as a filter for RI
276
- # budgets:
322
+ # Amazon Web Services Budgets supports the following services as a
323
+ # `Service` filter for RI budgets:
277
324
  #
278
- # * Amazon Elastic Compute Cloud - Compute
325
+ # * Amazon EC2
279
326
  #
280
327
  # * Amazon Redshift
281
328
  #
@@ -283,7 +330,7 @@ module Aws::Budgets
283
330
  #
284
331
  # * Amazon ElastiCache
285
332
  #
286
- # * Amazon Elasticsearch Service
333
+ # * Amazon OpenSearch Service
287
334
  # @return [Hash<String,Array<String>>]
288
335
  #
289
336
  # @!attribute [rw] cost_types
@@ -300,24 +347,25 @@ module Aws::Budgets
300
347
  # @return [String]
301
348
  #
302
349
  # @!attribute [rw] time_period
303
- # The period of time that is covered by a budget. The period has a
304
- # start date and an end date. The start date must come before the end
305
- # date. The end date must come before `06/15/87 00:00 UTC`.
306
- #
307
- # If you create your budget and don't specify a start date, AWS
308
- # defaults to the start of your chosen time period (DAILY, MONTHLY,
309
- # QUARTERLY, or ANNUALLY). For example, if you created your budget on
310
- # January 24, 2018, chose `DAILY`, and didn't set a start date, AWS
311
- # set your start date to `01/24/18 00:00 UTC`. If you chose `MONTHLY`,
312
- # AWS set your start date to `01/01/18 00:00 UTC`. If you didn't
313
- # specify an end date, AWS set your end date to `06/15/87 00:00 UTC`.
314
- # The defaults are the same for the AWS Billing and Cost Management
315
- # console and the API.
350
+ # The period of time that's covered by a budget. You setthe start
351
+ # date and end date. The start date must come before the end date. The
352
+ # end date must come before `06/15/87 00:00 UTC`.
353
+ #
354
+ # If you create your budget and don't specify a start date, Amazon
355
+ # Web Services defaults to the start of your chosen time period
356
+ # (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you
357
+ # created your budget on January 24, 2018, chose `DAILY`, and didn't
358
+ # set a start date, Amazon Web Services set your start date to
359
+ # `01/24/18 00:00 UTC`. If you chose `MONTHLY`, Amazon Web Services
360
+ # set your start date to `01/01/18 00:00 UTC`. If you didn't specify
361
+ # an end date, Amazon Web Services set your end date to `06/15/87
362
+ # 00:00 UTC`. The defaults are the same for the Billing and Cost
363
+ # Management console and the API.
316
364
  #
317
365
  # You can change either date with the `UpdateBudget` operation.
318
366
  #
319
- # After the end date, AWS deletes the budget and all associated
320
- # notifications and subscribers.
367
+ # After the end date, Amazon Web Services deletes the budget and all
368
+ # the associated notifications and subscribers.
321
369
  # @return [Types::TimePeriod]
322
370
  #
323
371
  # @!attribute [rw] calculated_spend
@@ -325,14 +373,19 @@ module Aws::Budgets
325
373
  # @return [Types::CalculatedSpend]
326
374
  #
327
375
  # @!attribute [rw] budget_type
328
- # Whether this budget tracks costs, usage, RI utilization, RI
329
- # coverage, Savings Plans utilization, or Savings Plans coverage.
376
+ # Specifies whether this budget tracks costs, usage, RI utilization,
377
+ # RI coverage, Savings Plans utilization, or Savings Plans coverage.
330
378
  # @return [String]
331
379
  #
332
380
  # @!attribute [rw] last_updated_time
333
381
  # The last time that you updated this budget.
334
382
  # @return [Time]
335
383
  #
384
+ # @!attribute [rw] auto_adjust_data
385
+ # The parameters that determine the budget amount for an
386
+ # auto-adjusting budget.
387
+ # @return [Types::AutoAdjustData]
388
+ #
336
389
  class Budget < Struct.new(
337
390
  :budget_name,
338
391
  :budget_limit,
@@ -343,7 +396,26 @@ module Aws::Budgets
343
396
  :time_period,
344
397
  :calculated_spend,
345
398
  :budget_type,
346
- :last_updated_time)
399
+ :last_updated_time,
400
+ :auto_adjust_data)
401
+ SENSITIVE = []
402
+ include Aws::Structure
403
+ end
404
+
405
+ # The budget name and associated notifications for an account.
406
+ #
407
+ # @!attribute [rw] notifications
408
+ # A list of notifications.
409
+ # @return [Array<Types::Notification>]
410
+ #
411
+ # @!attribute [rw] budget_name
412
+ # A string that represents the budget name. The ":" and "\\"
413
+ # characters aren't allowed.
414
+ # @return [String]
415
+ #
416
+ class BudgetNotificationsForAccount < Struct.new(
417
+ :notifications,
418
+ :budget_name)
347
419
  SENSITIVE = []
348
420
  include Aws::Structure
349
421
  end
@@ -379,7 +451,7 @@ module Aws::Budgets
379
451
  #
380
452
  # @!attribute [rw] budgeted_and_actual_amounts_list
381
453
  # A list of amounts of cost or usage that you created budgets for,
382
- # compared to your actual costs or usage.
454
+ # which are compared to your actual costs or usage.
383
455
  # @return [Array<Types::BudgetedAndActualAmounts>]
384
456
  #
385
457
  class BudgetPerformanceHistory < Struct.new(
@@ -405,7 +477,7 @@ module Aws::Budgets
405
477
  # @return [Types::Spend]
406
478
  #
407
479
  # @!attribute [rw] time_period
408
- # The time period covered by this budget comparison.
480
+ # The time period that's covered by this budget comparison.
409
481
  # @return [Types::TimePeriod]
410
482
  #
411
483
  class BudgetedAndActualAmounts < Struct.new(
@@ -418,10 +490,10 @@ module Aws::Budgets
418
490
 
419
491
  # The spend objects that are associated with this budget. The
420
492
  # `actualSpend` tracks how much you've used, cost, usage, RI units, or
421
- # Savings Plans units and the `forecastedSpend` tracks how much you are
422
- # predicted to spend based on your historical usage profile.
493
+ # Savings Plans units and the `forecastedSpend` tracks how much that
494
+ # you're predicted to spend based on your historical usage profile.
423
495
  #
424
- # For example, if it is the 20th of the month and you have spent `50`
496
+ # For example, if it's the 20th of the month and you have spent `50`
425
497
  # dollars on Amazon EC2, your `actualSpend` is `50 USD`, and your
426
498
  # `forecastedSpend` is `75 USD`.
427
499
  #
@@ -441,12 +513,12 @@ module Aws::Budgets
441
513
  #
442
514
  # @!attribute [rw] actual_spend
443
515
  # The amount of cost, usage, RI units, or Savings Plans units that you
444
- # have used.
516
+ # used.
445
517
  # @return [Types::Spend]
446
518
  #
447
519
  # @!attribute [rw] forecasted_spend
448
- # The amount of cost, usage, RI units, or Savings Plans units that you
449
- # are forecasted to use.
520
+ # The amount of cost, usage, RI units, or Savings Plans units that
521
+ # you're forecasted to use.
450
522
  # @return [Types::Spend]
451
523
  #
452
524
  class CalculatedSpend < Struct.new(
@@ -460,7 +532,7 @@ module Aws::Budgets
460
532
  # and subscriptions.
461
533
  #
462
534
  # `USAGE`, `RI_UTILIZATION`, `RI_COVERAGE`, `SAVINGS_PLANS_UTILIZATION`,
463
- # and `SAVINGS_PLANS_COVERAGE` budgets do not have `CostTypes`.
535
+ # and `SAVINGS_PLANS_COVERAGE` budgets don't have `CostTypes`.
464
536
  #
465
537
  # @note When making an API call, you may pass CostTypes
466
538
  # data as a hash:
@@ -602,7 +674,7 @@ module Aws::Budgets
602
674
  # }
603
675
  #
604
676
  # @!attribute [rw] account_id
605
- # The account ID of the user. It should be a 12-digit number.
677
+ # The account ID of the user. It's a 12-digit number.
606
678
  # @return [String]
607
679
  #
608
680
  # @!attribute [rw] budget_name
@@ -656,7 +728,7 @@ module Aws::Budgets
656
728
  end
657
729
 
658
730
  # @!attribute [rw] account_id
659
- # The account ID of the user. It should be a 12-digit number.
731
+ # The account ID of the user. It's a 12-digit number.
660
732
  # @return [String]
661
733
  #
662
734
  # @!attribute [rw] budget_name
@@ -729,6 +801,14 @@ module Aws::Budgets
729
801
  # },
730
802
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
731
803
  # last_updated_time: Time.now,
804
+ # auto_adjust_data: {
805
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
806
+ # historical_options: {
807
+ # budget_adjustment_period: 1, # required
808
+ # look_back_available_periods: 1,
809
+ # },
810
+ # last_auto_adjust_time: Time.now,
811
+ # },
732
812
  # },
733
813
  # notifications_with_subscribers: [
734
814
  # {
@@ -761,8 +841,8 @@ module Aws::Budgets
761
841
  # A notification that you want to associate with a budget. A budget
762
842
  # can have up to five notifications, and each notification can have
763
843
  # one SNS subscriber and up to 10 email subscribers. If you include
764
- # notifications and subscribers in your `CreateBudget` call, AWS
765
- # creates the notifications and subscribers for you.
844
+ # notifications and subscribers in your `CreateBudget` call, Amazon
845
+ # Web Services creates the notifications and subscribers for you.
766
846
  # @return [Array<Types::NotificationWithSubscribers>]
767
847
  #
768
848
  class CreateBudgetRequest < Struct.new(
@@ -806,8 +886,8 @@ module Aws::Budgets
806
886
  # @return [String]
807
887
  #
808
888
  # @!attribute [rw] budget_name
809
- # The name of the budget that you want AWS to notify you about. Budget
810
- # names must be unique within an account.
889
+ # The name of the budget that you want Amazon Web Services to notify
890
+ # you about. Budget names must be unique within an account.
811
891
  # @return [String]
812
892
  #
813
893
  # @!attribute [rw] notification
@@ -922,8 +1002,7 @@ module Aws::Budgets
922
1002
  # }
923
1003
  #
924
1004
  # @!attribute [rw] iam_action_definition
925
- # The AWS Identity and Access Management (IAM) action definition
926
- # details.
1005
+ # The Identity and Access Management (IAM) action definition details.
927
1006
  # @return [Types::IamActionDefinition]
928
1007
  #
929
1008
  # @!attribute [rw] scp_action_definition
@@ -931,7 +1010,8 @@ module Aws::Budgets
931
1010
  # @return [Types::ScpActionDefinition]
932
1011
  #
933
1012
  # @!attribute [rw] ssm_action_definition
934
- # The AWS Systems Manager (SSM) action definition details.
1013
+ # The Amazon Web Services Systems Manager (SSM) action definition
1014
+ # details.
935
1015
  # @return [Types::SsmActionDefinition]
936
1016
  #
937
1017
  class Definition < Struct.new(
@@ -952,7 +1032,7 @@ module Aws::Budgets
952
1032
  # }
953
1033
  #
954
1034
  # @!attribute [rw] account_id
955
- # The account ID of the user. It should be a 12-digit number.
1035
+ # The account ID of the user. It's a 12-digit number.
956
1036
  # @return [String]
957
1037
  #
958
1038
  # @!attribute [rw] budget_name
@@ -974,7 +1054,7 @@ module Aws::Budgets
974
1054
  end
975
1055
 
976
1056
  # @!attribute [rw] account_id
977
- # The account ID of the user. It should be a 12-digit number.
1057
+ # The account ID of the user. It's a 12-digit number.
978
1058
  # @return [String]
979
1059
  #
980
1060
  # @!attribute [rw] budget_name
@@ -1133,7 +1213,7 @@ module Aws::Budgets
1133
1213
  # }
1134
1214
  #
1135
1215
  # @!attribute [rw] account_id
1136
- # The account ID of the user. It should be a 12-digit number.
1216
+ # The account ID of the user. It's a 12-digit number.
1137
1217
  # @return [String]
1138
1218
  #
1139
1219
  # @!attribute [rw] budget_name
@@ -1147,7 +1227,7 @@ module Aws::Budgets
1147
1227
  # @return [String]
1148
1228
  #
1149
1229
  # @!attribute [rw] time_period
1150
- # The period of time that is covered by a budget. The period has a
1230
+ # The period of time that's covered by a budget. The period has a
1151
1231
  # start date and an end date. The start date must come before the end
1152
1232
  # date. There are no restrictions on the end date.
1153
1233
  # @return [Types::TimePeriod]
@@ -1197,7 +1277,7 @@ module Aws::Budgets
1197
1277
  # }
1198
1278
  #
1199
1279
  # @!attribute [rw] account_id
1200
- # The account ID of the user. It should be a 12-digit number.
1280
+ # The account ID of the user. It's a 12-digit number.
1201
1281
  # @return [String]
1202
1282
  #
1203
1283
  # @!attribute [rw] budget_name
@@ -1219,7 +1299,7 @@ module Aws::Budgets
1219
1299
  end
1220
1300
 
1221
1301
  # @!attribute [rw] account_id
1222
- # The account ID of the user. It should be a 12-digit number.
1302
+ # The account ID of the user. It's a 12-digit number.
1223
1303
  # @return [String]
1224
1304
  #
1225
1305
  # @!attribute [rw] budget_name
@@ -1249,7 +1329,7 @@ module Aws::Budgets
1249
1329
  # }
1250
1330
  #
1251
1331
  # @!attribute [rw] account_id
1252
- # The account ID of the user. It should be a 12-digit number.
1332
+ # The account ID of the user. It's a 12-digit number.
1253
1333
  # @return [String]
1254
1334
  #
1255
1335
  # @!attribute [rw] max_results
@@ -1295,7 +1375,7 @@ module Aws::Budgets
1295
1375
  # }
1296
1376
  #
1297
1377
  # @!attribute [rw] account_id
1298
- # The account ID of the user. It should be a 12-digit number.
1378
+ # The account ID of the user. It's a 12-digit number.
1299
1379
  # @return [String]
1300
1380
  #
1301
1381
  # @!attribute [rw] budget_name
@@ -1336,6 +1416,51 @@ module Aws::Budgets
1336
1416
  include Aws::Structure
1337
1417
  end
1338
1418
 
1419
+ # @note When making an API call, you may pass DescribeBudgetNotificationsForAccountRequest
1420
+ # data as a hash:
1421
+ #
1422
+ # {
1423
+ # account_id: "AccountId", # required
1424
+ # max_results: 1,
1425
+ # next_token: "GenericString",
1426
+ # }
1427
+ #
1428
+ # @!attribute [rw] account_id
1429
+ # The account ID of the user. It's a 12-digit number.
1430
+ # @return [String]
1431
+ #
1432
+ # @!attribute [rw] max_results
1433
+ # An integer that shows how many budget name entries a paginated
1434
+ # response contains.
1435
+ # @return [Integer]
1436
+ #
1437
+ # @!attribute [rw] next_token
1438
+ # A generic string.
1439
+ # @return [String]
1440
+ #
1441
+ class DescribeBudgetNotificationsForAccountRequest < Struct.new(
1442
+ :account_id,
1443
+ :max_results,
1444
+ :next_token)
1445
+ SENSITIVE = []
1446
+ include Aws::Structure
1447
+ end
1448
+
1449
+ # @!attribute [rw] budget_notifications_for_account
1450
+ # A list of budget names and associated notifications for an account.
1451
+ # @return [Array<Types::BudgetNotificationsForAccount>]
1452
+ #
1453
+ # @!attribute [rw] next_token
1454
+ # A generic string.
1455
+ # @return [String]
1456
+ #
1457
+ class DescribeBudgetNotificationsForAccountResponse < Struct.new(
1458
+ :budget_notifications_for_account,
1459
+ :next_token)
1460
+ SENSITIVE = []
1461
+ include Aws::Structure
1462
+ end
1463
+
1339
1464
  # @note When making an API call, you may pass DescribeBudgetPerformanceHistoryRequest
1340
1465
  # data as a hash:
1341
1466
  #
@@ -1351,7 +1476,7 @@ module Aws::Budgets
1351
1476
  # }
1352
1477
  #
1353
1478
  # @!attribute [rw] account_id
1354
- # The account ID of the user. It should be a 12-digit number.
1479
+ # The account ID of the user. It's a 12-digit number.
1355
1480
  # @return [String]
1356
1481
  #
1357
1482
  # @!attribute [rw] budget_name
@@ -1646,7 +1771,7 @@ module Aws::Budgets
1646
1771
  # }
1647
1772
  #
1648
1773
  # @!attribute [rw] account_id
1649
- # The account ID of the user. It should be a 12-digit number.
1774
+ # The account ID of the user. It's a 12-digit number.
1650
1775
  # @return [String]
1651
1776
  #
1652
1777
  # @!attribute [rw] budget_name
@@ -1673,7 +1798,7 @@ module Aws::Budgets
1673
1798
  end
1674
1799
 
1675
1800
  # @!attribute [rw] account_id
1676
- # The account ID of the user. It should be a 12-digit number.
1801
+ # The account ID of the user. It's a 12-digit number.
1677
1802
  # @return [String]
1678
1803
  #
1679
1804
  # @!attribute [rw] budget_name
@@ -1711,8 +1836,56 @@ module Aws::Budgets
1711
1836
  include Aws::Structure
1712
1837
  end
1713
1838
 
1714
- # The AWS Identity and Access Management (IAM) action definition
1715
- # details.
1839
+ # The parameters that define or describe the historical data that your
1840
+ # auto-adjusting budget is based on.
1841
+ #
1842
+ # @note When making an API call, you may pass HistoricalOptions
1843
+ # data as a hash:
1844
+ #
1845
+ # {
1846
+ # budget_adjustment_period: 1, # required
1847
+ # look_back_available_periods: 1,
1848
+ # }
1849
+ #
1850
+ # @!attribute [rw] budget_adjustment_period
1851
+ # The number of budget periods included in the moving-average
1852
+ # calculation that determines your auto-adjusted budget amount. The
1853
+ # maximum value depends on the `TimeUnit` granularity of the budget:
1854
+ #
1855
+ # * For the `DAILY` granularity, the maximum value is `60`.
1856
+ #
1857
+ # * For the `MONTHLY` granularity, the maximum value is `12`.
1858
+ #
1859
+ # * For the `QUARTERLY` granularity, the maximum value is `4`.
1860
+ #
1861
+ # * For the `ANNUALLY` granularity, the maximum value is `1`.
1862
+ # @return [Integer]
1863
+ #
1864
+ # @!attribute [rw] look_back_available_periods
1865
+ # The integer that describes how many budget periods in your
1866
+ # `BudgetAdjustmentPeriod` are included in the calculation of your
1867
+ # current `BudgetLimit`. If the first budget period in your
1868
+ # `BudgetAdjustmentPeriod` has no cost data, then that budget period
1869
+ # isn’t included in the average that determines your budget limit.
1870
+ #
1871
+ # For example, if you set `BudgetAdjustmentPeriod` as `4` quarters,
1872
+ # but your account had no cost data in the first quarter, then only
1873
+ # the last three quarters are included in the calculation. In this
1874
+ # scenario, `LookBackAvailablePeriods` returns `3`.
1875
+ #
1876
+ # You can’t set your own `LookBackAvailablePeriods`. The value is
1877
+ # automatically calculated from the `BudgetAdjustmentPeriod` and your
1878
+ # historical cost data.
1879
+ # @return [Integer]
1880
+ #
1881
+ class HistoricalOptions < Struct.new(
1882
+ :budget_adjustment_period,
1883
+ :look_back_available_periods)
1884
+ SENSITIVE = []
1885
+ include Aws::Structure
1886
+ end
1887
+
1888
+ # The Identity and Access Management (IAM) action definition details.
1716
1889
  #
1717
1890
  # @note When making an API call, you may pass IamActionDefinition
1718
1891
  # data as a hash:
@@ -1799,7 +1972,7 @@ module Aws::Budgets
1799
1972
  include Aws::Structure
1800
1973
  end
1801
1974
 
1802
- # A notification that is associated with a budget. A budget can have up
1975
+ # A notification that's associated with a budget. A budget can have up
1803
1976
  # to ten notifications.
1804
1977
  #
1805
1978
  # Each notification must have at least one subscriber. A notification
@@ -1830,16 +2003,17 @@ module Aws::Budgets
1830
2003
  # }
1831
2004
  #
1832
2005
  # @!attribute [rw] notification_type
1833
- # Whether the notification is for how much you have spent (`ACTUAL`)
1834
- # or for how much you're forecasted to spend (`FORECASTED`).
2006
+ # Specifies whether the notification is for how much you have spent
2007
+ # (`ACTUAL`) or for how much that you're forecasted to spend
2008
+ # (`FORECASTED`).
1835
2009
  # @return [String]
1836
2010
  #
1837
2011
  # @!attribute [rw] comparison_operator
1838
- # The comparison that is used for this notification.
2012
+ # The comparison that's used for this notification.
1839
2013
  # @return [String]
1840
2014
  #
1841
2015
  # @!attribute [rw] threshold
1842
- # The threshold that is associated with a notification. Thresholds are
2016
+ # The threshold that's associated with a notification. Thresholds are
1843
2017
  # always a percentage, and many customers find value being alerted
1844
2018
  # between 50% - 200% of the budgeted amount. The maximum limit for
1845
2019
  # your threshold is 1,000,000% above the budgeted amount.
@@ -1847,18 +2021,19 @@ module Aws::Budgets
1847
2021
  #
1848
2022
  # @!attribute [rw] threshold_type
1849
2023
  # The type of threshold for a notification. For `ABSOLUTE_VALUE`
1850
- # thresholds, AWS notifies you when you go over or are forecasted to
1851
- # go over your total cost threshold. For `PERCENTAGE` thresholds, AWS
1852
- # notifies you when you go over or are forecasted to go over a certain
1853
- # percentage of your forecasted spend. For example, if you have a
1854
- # budget for 200 dollars and you have a `PERCENTAGE` threshold of 80%,
1855
- # AWS notifies you when you go over 160 dollars.
2024
+ # thresholds, Amazon Web Services notifies you when you go over or are
2025
+ # forecasted to go over your total cost threshold. For `PERCENTAGE`
2026
+ # thresholds, Amazon Web Services notifies you when you go over or are
2027
+ # forecasted to go over a certain percentage of your forecasted spend.
2028
+ # For example, if you have a budget for 200 dollars and you have a
2029
+ # `PERCENTAGE` threshold of 80%, Amazon Web Services notifies you when
2030
+ # you go over 160 dollars.
1856
2031
  # @return [String]
1857
2032
  #
1858
2033
  # @!attribute [rw] notification_state
1859
- # Whether this notification is in alarm. If a budget notification is
1860
- # in the `ALARM` state, you have passed the set threshold for the
1861
- # budget.
2034
+ # Specifies whether this notification is in alarm. If a budget
2035
+ # notification is in the `ALARM` state, you passed the set threshold
2036
+ # for the budget.
1862
2037
  # @return [String]
1863
2038
  #
1864
2039
  class Notification < Struct.new(
@@ -1895,7 +2070,7 @@ module Aws::Budgets
1895
2070
  # }
1896
2071
  #
1897
2072
  # @!attribute [rw] notification
1898
- # The notification that is associated with a budget.
2073
+ # The notification that's associated with a budget.
1899
2074
  # @return [Types::Notification]
1900
2075
  #
1901
2076
  # @!attribute [rw] subscribers
@@ -1947,9 +2122,9 @@ module Aws::Budgets
1947
2122
  include Aws::Structure
1948
2123
  end
1949
2124
 
1950
- # The amount of cost or usage that is measured for a budget.
2125
+ # The amount of cost or usage that's measured for a budget.
1951
2126
  #
1952
- # For example, a `Spend` for `3 GB` of S3 usage would have the following
2127
+ # For example, a `Spend` for `3 GB` of S3 usage has the following
1953
2128
  # parameters:
1954
2129
  #
1955
2130
  # * An `Amount` of `3`
@@ -1965,13 +2140,13 @@ module Aws::Budgets
1965
2140
  # }
1966
2141
  #
1967
2142
  # @!attribute [rw] amount
1968
- # The cost or usage amount that is associated with a budget forecast,
2143
+ # The cost or usage amount that's associated with a budget forecast,
1969
2144
  # actual spend, or budget threshold.
1970
2145
  # @return [String]
1971
2146
  #
1972
2147
  # @!attribute [rw] unit
1973
- # The unit of measurement that is used for the budget forecast, actual
1974
- # spend, or budget threshold, such as dollars or GB.
2148
+ # The unit of measurement that's used for the budget forecast, actual
2149
+ # spend, or budget threshold, such as USD or GBP.
1975
2150
  # @return [String]
1976
2151
  #
1977
2152
  class Spend < Struct.new(
@@ -1981,7 +2156,8 @@ module Aws::Budgets
1981
2156
  include Aws::Structure
1982
2157
  end
1983
2158
 
1984
- # The AWS Systems Manager (SSM) action definition details.
2159
+ # The Amazon Web Services Systems Manager (SSM) action definition
2160
+ # details.
1985
2161
  #
1986
2162
  # @note When making an API call, you may pass SsmActionDefinition
1987
2163
  # data as a hash:
@@ -2015,7 +2191,7 @@ module Aws::Budgets
2015
2191
  # The subscriber to a budget notification. The subscriber consists of a
2016
2192
  # subscription type and either an Amazon SNS topic or an email address.
2017
2193
  #
2018
- # For example, an email subscriber would have the following parameters:
2194
+ # For example, an email subscriber has the following parameters:
2019
2195
  #
2020
2196
  # * A `subscriptionType` of `EMAIL`
2021
2197
  #
@@ -2030,12 +2206,13 @@ module Aws::Budgets
2030
2206
  # }
2031
2207
  #
2032
2208
  # @!attribute [rw] subscription_type
2033
- # The type of notification that AWS sends to a subscriber.
2209
+ # The type of notification that Amazon Web Services sends to a
2210
+ # subscriber.
2034
2211
  # @return [String]
2035
2212
  #
2036
2213
  # @!attribute [rw] address
2037
- # The address that AWS sends budget notifications to, either an SNS
2038
- # topic or an email.
2214
+ # The address that Amazon Web Services sends budget notifications to,
2215
+ # either an SNS topic or an email.
2039
2216
  #
2040
2217
  # When you create a subscriber, the value of `Address` can't contain
2041
2218
  # line breaks.
@@ -2048,7 +2225,7 @@ module Aws::Budgets
2048
2225
  include Aws::Structure
2049
2226
  end
2050
2227
 
2051
- # The period of time that is covered by a budget. The period has a start
2228
+ # The period of time that's covered by a budget. The period has a start
2052
2229
  # date and an end date. The start date must come before the end date.
2053
2230
  # There are no restrictions on the end date.
2054
2231
  #
@@ -2062,25 +2239,27 @@ module Aws::Budgets
2062
2239
  #
2063
2240
  # @!attribute [rw] start
2064
2241
  # The start date for a budget. If you created your budget and didn't
2065
- # specify a start date, AWS defaults to the start of your chosen time
2066
- # period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you
2067
- # created your budget on January 24, 2018, chose `DAILY`, and didn't
2068
- # set a start date, AWS set your start date to `01/24/18 00:00 UTC`.
2069
- # If you chose `MONTHLY`, AWS set your start date to `01/01/18 00:00
2070
- # UTC`. The defaults are the same for the AWS Billing and Cost
2071
- # Management console and the API.
2242
+ # specify a start date, Amazon Web Services defaults to the start of
2243
+ # your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY).
2244
+ # For example, if you created your budget on January 24, 2018, chose
2245
+ # `DAILY`, and didn't set a start date, Amazon Web Services set your
2246
+ # start date to `01/24/18 00:00 UTC`. If you chose `MONTHLY`, Amazon
2247
+ # Web Services set your start date to `01/01/18 00:00 UTC`. The
2248
+ # defaults are the same for the Billing and Cost Management console
2249
+ # and the API.
2072
2250
  #
2073
2251
  # You can change your start date with the `UpdateBudget` operation.
2074
2252
  # @return [Time]
2075
2253
  #
2076
2254
  # @!attribute [rw] end
2077
- # The end date for a budget. If you didn't specify an end date, AWS
2078
- # set your end date to `06/15/87 00:00 UTC`. The defaults are the same
2079
- # for the AWS Billing and Cost Management console and the API.
2080
- #
2081
- # After the end date, AWS deletes the budget and all associated
2082
- # notifications and subscribers. You can change your end date with the
2083
- # `UpdateBudget` operation.
2255
+ # The end date for a budget. If you didn't specify an end date,
2256
+ # Amazon Web Services set your end date to `06/15/87 00:00 UTC`. The
2257
+ # defaults are the same for the Billing and Cost Management console
2258
+ # and the API.
2259
+ #
2260
+ # After the end date, Amazon Web Services deletes the budget and all
2261
+ # the associated notifications and subscribers. You can change your
2262
+ # end date with the `UpdateBudget` operation.
2084
2263
  # @return [Time]
2085
2264
  #
2086
2265
  class TimePeriod < Struct.new(
@@ -2130,7 +2309,7 @@ module Aws::Budgets
2130
2309
  # }
2131
2310
  #
2132
2311
  # @!attribute [rw] account_id
2133
- # The account ID of the user. It should be a 12-digit number.
2312
+ # The account ID of the user. It's a 12-digit number.
2134
2313
  # @return [String]
2135
2314
  #
2136
2315
  # @!attribute [rw] budget_name
@@ -2183,7 +2362,7 @@ module Aws::Budgets
2183
2362
  end
2184
2363
 
2185
2364
  # @!attribute [rw] account_id
2186
- # The account ID of the user. It should be a 12-digit number.
2365
+ # The account ID of the user. It's a 12-digit number.
2187
2366
  # @return [String]
2188
2367
  #
2189
2368
  # @!attribute [rw] budget_name
@@ -2260,6 +2439,14 @@ module Aws::Budgets
2260
2439
  # },
2261
2440
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
2262
2441
  # last_updated_time: Time.now,
2442
+ # auto_adjust_data: {
2443
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
2444
+ # historical_options: {
2445
+ # budget_adjustment_period: 1, # required
2446
+ # look_back_available_periods: 1,
2447
+ # },
2448
+ # last_auto_adjust_time: Time.now,
2449
+ # },
2263
2450
  # },
2264
2451
  # }
2265
2452
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-budgets/customizations'
48
48
  # @!group service
49
49
  module Aws::Budgets
50
50
 
51
- GEM_VERSION = '1.44.0'
51
+ GEM_VERSION = '1.48.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-budgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.44.0
4
+ version: 1.48.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-30 00:00:00.000000000 Z
11
+ date: 2022-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.122.0
22
+ version: 3.126.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.122.0
32
+ version: 3.126.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement