aws-sdk-budgets 1.46.0 → 1.49.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c2c79ee602f224d41c02b7682615b21deb7e38ec2c06692e142c2fc982f44eb
4
- data.tar.gz: d78c5c8b01da213c7c4bdf560d906ead27ab9b69ebe47202954d7abe12c5f8fe
3
+ metadata.gz: 02c40547272dcf1940133cf827f9aff8811332bd86e30b5181c61f3c4f81ebe8
4
+ data.tar.gz: 5aea4d1721652b3c5d6ed29b703e97145a6a6d068a4dcd360159e550ab002f23
5
5
  SHA512:
6
- metadata.gz: 2e9f17a95a71b2e9ca376da68fe17d3ce6671f1295298a138616092aca0c7ed0816c10bd178d2c9854bd3c265824f2da40fe2191cbbbdaa8069caa8916c749f6
7
- data.tar.gz: 937e5afacf9ca3d0444763812e975a68d7bbc96ed40ed2280ad0f637fe4396854ca368c6071056e42a664dc526ed3fbcedec2bcfbaea30ccd9d3e3e972f8720f
6
+ metadata.gz: ae3a292f808cdb86ddc23d62cb1b01a24be1bacfdddd0d4f5aeaf35b4bf314632e82e86ae2cbc30b277348a03b0e202f5be2b1d31f27f26fcb6635109fdc8ead
7
+ data.tar.gz: 81453da88f5ca168ed16092cc833df8e410d537b8b6644dd5d0cab2afe95fcca0fa121955d0ea2b64d9fbf178f04cf74f8787aae77d2ce1d1ec11067b6eb0af3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.49.0 (2022-02-24)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.48.0 (2022-02-18)
10
+ ------------------
11
+
12
+ * Feature - This change introduces DescribeBudgetNotificationsForAccount API which returns budget notifications for the specified account
13
+
14
+ 1.47.0 (2022-02-16)
15
+ ------------------
16
+
17
+ * 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.
18
+
4
19
  1.46.0 (2022-02-03)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.46.0
1
+ 1.49.0
@@ -27,6 +27,7 @@ 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/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
31
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
32
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
@@ -75,6 +76,7 @@ module Aws::Budgets
75
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
76
77
  add_plugin(Aws::Plugins::TransferEncoding)
77
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
78
80
  add_plugin(Aws::Plugins::DefaultsMode)
79
81
  add_plugin(Aws::Plugins::RecursionDetection)
80
82
  add_plugin(Aws::Plugins::SignatureV4)
@@ -380,8 +382,8 @@ module Aws::Budgets
380
382
  # A notification that you want to associate with a budget. A budget can
381
383
  # have up to five notifications, and each notification can have one SNS
382
384
  # subscriber and up to 10 email subscribers. If you include
383
- # notifications and subscribers in your `CreateBudget` call, AWS creates
384
- # the notifications and subscribers for you.
385
+ # notifications and subscribers in your `CreateBudget` call, Amazon Web
386
+ # Services creates the notifications and subscribers for you.
385
387
  #
386
388
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
387
389
  #
@@ -434,6 +436,14 @@ module Aws::Budgets
434
436
  # },
435
437
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
436
438
  # last_updated_time: Time.now,
439
+ # auto_adjust_data: {
440
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
441
+ # historical_options: {
442
+ # budget_adjustment_period: 1, # required
443
+ # look_back_available_periods: 1,
444
+ # },
445
+ # last_auto_adjust_time: Time.now,
446
+ # },
437
447
  # },
438
448
  # notifications_with_subscribers: [
439
449
  # {
@@ -464,7 +474,7 @@ module Aws::Budgets
464
474
  # Creates a budget action.
465
475
  #
466
476
  # @option params [required, String] :account_id
467
- # The account ID of the user. It should be a 12-digit number.
477
+ # The account ID of the user. It's a 12-digit number.
468
478
  #
469
479
  # @option params [required, String] :budget_name
470
480
  # A string that represents the budget name. The ":" and "\\"
@@ -559,8 +569,8 @@ module Aws::Budgets
559
569
  # create a notification for.
560
570
  #
561
571
  # @option params [required, String] :budget_name
562
- # The name of the budget that you want AWS to notify you about. Budget
563
- # names must be unique within an account.
572
+ # The name of the budget that you want Amazon Web Services to notify you
573
+ # about. Budget names must be unique within an account.
564
574
  #
565
575
  # @option params [required, Types::Notification] :notification
566
576
  # The notification that you want to create.
@@ -674,7 +684,7 @@ module Aws::Budgets
674
684
  # Deletes a budget action.
675
685
  #
676
686
  # @option params [required, String] :account_id
677
- # The account ID of the user. It should be a 12-digit number.
687
+ # The account ID of the user. It's a 12-digit number.
678
688
  #
679
689
  # @option params [required, String] :budget_name
680
690
  # A string that represents the budget name. The ":" and "\\"
@@ -877,6 +887,10 @@ module Aws::Budgets
877
887
  # resp.budget.calculated_spend.forecasted_spend.unit #=> String
878
888
  # resp.budget.budget_type #=> String, one of "USAGE", "COST", "RI_UTILIZATION", "RI_COVERAGE", "SAVINGS_PLANS_UTILIZATION", "SAVINGS_PLANS_COVERAGE"
879
889
  # resp.budget.last_updated_time #=> Time
890
+ # resp.budget.auto_adjust_data.auto_adjust_type #=> String, one of "HISTORICAL", "FORECAST"
891
+ # resp.budget.auto_adjust_data.historical_options.budget_adjustment_period #=> Integer
892
+ # resp.budget.auto_adjust_data.historical_options.look_back_available_periods #=> Integer
893
+ # resp.budget.auto_adjust_data.last_auto_adjust_time #=> Time
880
894
  #
881
895
  # @overload describe_budget(params = {})
882
896
  # @param [Hash] params ({})
@@ -888,7 +902,7 @@ module Aws::Budgets
888
902
  # Describes a budget action detail.
889
903
  #
890
904
  # @option params [required, String] :account_id
891
- # The account ID of the user. It should be a 12-digit number.
905
+ # The account ID of the user. It's a 12-digit number.
892
906
  #
893
907
  # @option params [required, String] :budget_name
894
908
  # A string that represents the budget name. The ":" and "\\"
@@ -953,7 +967,7 @@ module Aws::Budgets
953
967
  # Describes a budget action history detail.
954
968
  #
955
969
  # @option params [required, String] :account_id
956
- # The account ID of the user. It should be a 12-digit number.
970
+ # The account ID of the user. It's a 12-digit number.
957
971
  #
958
972
  # @option params [required, String] :budget_name
959
973
  # A string that represents the budget name. The ":" and "\\"
@@ -964,7 +978,7 @@ module Aws::Budgets
964
978
  # action.
965
979
  #
966
980
  # @option params [Types::TimePeriod] :time_period
967
- # The period of time that is covered by a budget. The period has a start
981
+ # The period of time that's covered by a budget. The period has a start
968
982
  # date and an end date. The start date must come before the end date.
969
983
  # There are no restrictions on the end date.
970
984
  #
@@ -1041,7 +1055,7 @@ module Aws::Budgets
1041
1055
  # Describes all of the budget actions for an account.
1042
1056
  #
1043
1057
  # @option params [required, String] :account_id
1044
- # The account ID of the user. It should be a 12-digit number.
1058
+ # The account ID of the user. It's a 12-digit number.
1045
1059
  #
1046
1060
  # @option params [Integer] :max_results
1047
1061
  # An integer that represents how many entries a paginated response
@@ -1106,7 +1120,7 @@ module Aws::Budgets
1106
1120
  # Describes all of the budget actions for a budget.
1107
1121
  #
1108
1122
  # @option params [required, String] :account_id
1109
- # The account ID of the user. It should be a 12-digit number.
1123
+ # The account ID of the user. It's a 12-digit number.
1110
1124
  #
1111
1125
  # @option params [required, String] :budget_name
1112
1126
  # A string that represents the budget name. The ":" and "\\"
@@ -1173,11 +1187,58 @@ module Aws::Budgets
1173
1187
  req.send_request(options)
1174
1188
  end
1175
1189
 
1190
+ # Lists the budget names and notifications that are associated with an
1191
+ # account.
1192
+ #
1193
+ # @option params [required, String] :account_id
1194
+ # The account ID of the user. It's a 12-digit number.
1195
+ #
1196
+ # @option params [Integer] :max_results
1197
+ # An integer that shows how many budget name entries a paginated
1198
+ # response contains.
1199
+ #
1200
+ # @option params [String] :next_token
1201
+ # A generic string.
1202
+ #
1203
+ # @return [Types::DescribeBudgetNotificationsForAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1204
+ #
1205
+ # * {Types::DescribeBudgetNotificationsForAccountResponse#budget_notifications_for_account #budget_notifications_for_account} => Array<Types::BudgetNotificationsForAccount>
1206
+ # * {Types::DescribeBudgetNotificationsForAccountResponse#next_token #next_token} => String
1207
+ #
1208
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1209
+ #
1210
+ # @example Request syntax with placeholder values
1211
+ #
1212
+ # resp = client.describe_budget_notifications_for_account({
1213
+ # account_id: "AccountId", # required
1214
+ # max_results: 1,
1215
+ # next_token: "GenericString",
1216
+ # })
1217
+ #
1218
+ # @example Response structure
1219
+ #
1220
+ # resp.budget_notifications_for_account #=> Array
1221
+ # resp.budget_notifications_for_account[0].notifications #=> Array
1222
+ # resp.budget_notifications_for_account[0].notifications[0].notification_type #=> String, one of "ACTUAL", "FORECASTED"
1223
+ # resp.budget_notifications_for_account[0].notifications[0].comparison_operator #=> String, one of "GREATER_THAN", "LESS_THAN", "EQUAL_TO"
1224
+ # resp.budget_notifications_for_account[0].notifications[0].threshold #=> Float
1225
+ # resp.budget_notifications_for_account[0].notifications[0].threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
1226
+ # resp.budget_notifications_for_account[0].notifications[0].notification_state #=> String, one of "OK", "ALARM"
1227
+ # resp.budget_notifications_for_account[0].budget_name #=> String
1228
+ # resp.next_token #=> String
1229
+ #
1230
+ # @overload describe_budget_notifications_for_account(params = {})
1231
+ # @param [Hash] params ({})
1232
+ def describe_budget_notifications_for_account(params = {}, options = {})
1233
+ req = build_request(:describe_budget_notifications_for_account, params)
1234
+ req.send_request(options)
1235
+ end
1236
+
1176
1237
  # Describes the history for `DAILY`, `MONTHLY`, and `QUARTERLY` budgets.
1177
1238
  # Budget history isn't available for `ANNUAL` budgets.
1178
1239
  #
1179
1240
  # @option params [required, String] :account_id
1180
- # The account ID of the user. It should be a 12-digit number.
1241
+ # The account ID of the user. It's a 12-digit number.
1181
1242
  #
1182
1243
  # @option params [required, String] :budget_name
1183
1244
  # A string that represents the budget name. The ":" and "\\"
@@ -1317,6 +1378,10 @@ module Aws::Budgets
1317
1378
  # resp.budgets[0].calculated_spend.forecasted_spend.unit #=> String
1318
1379
  # resp.budgets[0].budget_type #=> String, one of "USAGE", "COST", "RI_UTILIZATION", "RI_COVERAGE", "SAVINGS_PLANS_UTILIZATION", "SAVINGS_PLANS_COVERAGE"
1319
1380
  # resp.budgets[0].last_updated_time #=> Time
1381
+ # resp.budgets[0].auto_adjust_data.auto_adjust_type #=> String, one of "HISTORICAL", "FORECAST"
1382
+ # resp.budgets[0].auto_adjust_data.historical_options.budget_adjustment_period #=> Integer
1383
+ # resp.budgets[0].auto_adjust_data.historical_options.look_back_available_periods #=> Integer
1384
+ # resp.budgets[0].auto_adjust_data.last_auto_adjust_time #=> Time
1320
1385
  # resp.next_token #=> String
1321
1386
  #
1322
1387
  # @overload describe_budgets(params = {})
@@ -1436,7 +1501,7 @@ module Aws::Budgets
1436
1501
  # Executes a budget action.
1437
1502
  #
1438
1503
  # @option params [required, String] :account_id
1439
- # The account ID of the user. It should be a 12-digit number.
1504
+ # The account ID of the user. It's a 12-digit number.
1440
1505
  #
1441
1506
  # @option params [required, String] :budget_name
1442
1507
  # A string that represents the budget name. The ":" and "\\"
@@ -1481,8 +1546,8 @@ module Aws::Budgets
1481
1546
 
1482
1547
  # Updates a budget. You can change every part of a budget except for the
1483
1548
  # `budgetName` and the `calculatedSpend`. When you modify a budget, the
1484
- # `calculatedSpend` drops to zero until AWS has new usage data to use
1485
- # for forecasting.
1549
+ # `calculatedSpend` drops to zero until Amazon Web Services has new
1550
+ # usage data to use for forecasting.
1486
1551
  #
1487
1552
  # Only one of `BudgetLimit` or `PlannedBudgetLimits` can be present in
1488
1553
  # the syntax at one time. Use the syntax that matches your case. The
@@ -1551,6 +1616,14 @@ module Aws::Budgets
1551
1616
  # },
1552
1617
  # budget_type: "USAGE", # required, accepts USAGE, COST, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, SAVINGS_PLANS_COVERAGE
1553
1618
  # last_updated_time: Time.now,
1619
+ # auto_adjust_data: {
1620
+ # auto_adjust_type: "HISTORICAL", # required, accepts HISTORICAL, FORECAST
1621
+ # historical_options: {
1622
+ # budget_adjustment_period: 1, # required
1623
+ # look_back_available_periods: 1,
1624
+ # },
1625
+ # last_auto_adjust_time: Time.now,
1626
+ # },
1554
1627
  # },
1555
1628
  # })
1556
1629
  #
@@ -1564,7 +1637,7 @@ module Aws::Budgets
1564
1637
  # Updates a budget action.
1565
1638
  #
1566
1639
  # @option params [required, String] :account_id
1567
- # The account ID of the user. It should be a 12-digit number.
1640
+ # The account ID of the user. It's a 12-digit number.
1568
1641
  #
1569
1642
  # @option params [required, String] :budget_name
1570
1643
  # A string that represents the budget name. The ":" and "\\"
@@ -1809,7 +1882,7 @@ module Aws::Budgets
1809
1882
  params: params,
1810
1883
  config: config)
1811
1884
  context[:gem_name] = 'aws-sdk-budgets'
1812
- context[:gem_version] = '1.46.0'
1885
+ context[:gem_version] = '1.49.0'
1813
1886
  Seahorse::Client::Request.new(handlers, context)
1814
1887
  end
1815
1888
 
@@ -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.46.0'
51
+ GEM_VERSION = '1.49.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.46.0
4
+ version: 1.49.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: 2022-02-03 00:00:00.000000000 Z
11
+ date: 2022-02-24 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.126.0
22
+ version: 3.127.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.126.0
32
+ version: 3.127.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement