aws-sdk-budgets 1.31.1 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # WARNING ABOUT GENERATED CODE
2
3
  #
3
4
  # This file is generated. See the contributing for info on making contributions:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -33,6 +35,7 @@ module Aws::Budgets
33
35
  # * {InvalidNextTokenException}
34
36
  # * {InvalidParameterException}
35
37
  # * {NotFoundException}
38
+ # * {ResourceLockedException}
36
39
  #
37
40
  # Additionally, error classes are dynamically generated for service errors based on the error code
38
41
  # if they are not defined above.
@@ -160,5 +163,20 @@ module Aws::Budgets
160
163
  end
161
164
  end
162
165
 
166
+ class ResourceLockedException < ServiceError
167
+
168
+ # @param [Seahorse::Client::RequestContext] context
169
+ # @param [String] message
170
+ # @param [Aws::Budgets::Types::ResourceLockedException] data
171
+ def initialize(context, message, data = Aws::EmptyStructure.new)
172
+ super(context, message, data)
173
+ end
174
+
175
+ # @return [String]
176
+ def message
177
+ @message || @data[:message]
178
+ end
179
+ end
180
+
163
181
  end
164
182
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -17,6 +19,139 @@ module Aws::Budgets
17
19
  #
18
20
  class AccessDeniedException < Struct.new(
19
21
  :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # A budget action resource.
27
+ #
28
+ # @!attribute [rw] action_id
29
+ # A system-generated universally unique identifier (UUID) for the
30
+ # action.
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] budget_name
34
+ # A string that represents the budget name. The ":" and "\\"
35
+ # characters aren't allowed.
36
+ # @return [String]
37
+ #
38
+ # @!attribute [rw] notification_type
39
+ # The type of a notification. It must be ACTUAL or FORECASTED.
40
+ # @return [String]
41
+ #
42
+ # @!attribute [rw] action_type
43
+ # The type of action. This defines the type of tasks that can be
44
+ # carried out by this action. This field also determines the format
45
+ # for definition.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] action_threshold
49
+ # The trigger threshold of the action.
50
+ # @return [Types::ActionThreshold]
51
+ #
52
+ # @!attribute [rw] definition
53
+ # Where you specify all of the type-specific parameters.
54
+ # @return [Types::Definition]
55
+ #
56
+ # @!attribute [rw] execution_role_arn
57
+ # The role passed for action execution and reversion. Roles and
58
+ # actions must be in the same account.
59
+ # @return [String]
60
+ #
61
+ # @!attribute [rw] approval_model
62
+ # This specifies if the action needs manual or automatic approval.
63
+ # @return [String]
64
+ #
65
+ # @!attribute [rw] status
66
+ # The status of action.
67
+ # @return [String]
68
+ #
69
+ # @!attribute [rw] subscribers
70
+ # A list of subscribers.
71
+ # @return [Array<Types::Subscriber>]
72
+ #
73
+ class Action < Struct.new(
74
+ :action_id,
75
+ :budget_name,
76
+ :notification_type,
77
+ :action_type,
78
+ :action_threshold,
79
+ :definition,
80
+ :execution_role_arn,
81
+ :approval_model,
82
+ :status,
83
+ :subscribers)
84
+ SENSITIVE = []
85
+ include Aws::Structure
86
+ end
87
+
88
+ # The historical records for a budget action.
89
+ #
90
+ # @!attribute [rw] timestamp
91
+ # A generic time stamp. In Java, it is transformed to a `Date` object.
92
+ # @return [Time]
93
+ #
94
+ # @!attribute [rw] status
95
+ # The status of action at the time of the event.
96
+ # @return [String]
97
+ #
98
+ # @!attribute [rw] event_type
99
+ # This distinguishes between whether the events are triggered by the
100
+ # user or generated by the system.
101
+ # @return [String]
102
+ #
103
+ # @!attribute [rw] action_history_details
104
+ # The description of details of the event.
105
+ # @return [Types::ActionHistoryDetails]
106
+ #
107
+ class ActionHistory < Struct.new(
108
+ :timestamp,
109
+ :status,
110
+ :event_type,
111
+ :action_history_details)
112
+ SENSITIVE = []
113
+ include Aws::Structure
114
+ end
115
+
116
+ # The description of details of the event.
117
+ #
118
+ # @!attribute [rw] message
119
+ # A generic string.
120
+ # @return [String]
121
+ #
122
+ # @!attribute [rw] action
123
+ # The budget action resource.
124
+ # @return [Types::Action]
125
+ #
126
+ class ActionHistoryDetails < Struct.new(
127
+ :message,
128
+ :action)
129
+ SENSITIVE = []
130
+ include Aws::Structure
131
+ end
132
+
133
+ # The trigger threshold of the action.
134
+ #
135
+ # @note When making an API call, you may pass ActionThreshold
136
+ # data as a hash:
137
+ #
138
+ # {
139
+ # action_threshold_value: 1.0, # required
140
+ # action_threshold_type: "PERCENTAGE", # required, accepts PERCENTAGE, ABSOLUTE_VALUE
141
+ # }
142
+ #
143
+ # @!attribute [rw] action_threshold_value
144
+ # The threshold of a notification.
145
+ # @return [Float]
146
+ #
147
+ # @!attribute [rw] action_threshold_type
148
+ # The type of threshold for a notification.
149
+ # @return [String]
150
+ #
151
+ class ActionThreshold < Struct.new(
152
+ :action_threshold_value,
153
+ :action_threshold_type)
154
+ SENSITIVE = []
20
155
  include Aws::Structure
21
156
  end
22
157
 
@@ -26,7 +161,7 @@ module Aws::Budgets
26
161
  #
27
162
  # This is the ARN pattern for a budget:
28
163
  #
29
- # `arn:aws:budgetservice::AccountId:budget/budgetName`
164
+ # `arn:aws:budgets::AccountId:budget/budgetName`
30
165
  #
31
166
  # @note When making an API call, you may pass Budget
32
167
  # data as a hash:
@@ -155,15 +290,13 @@ module Aws::Budgets
155
290
  # The types of costs that are included in this `COST` budget.
156
291
  #
157
292
  # `USAGE`, `RI_UTILIZATION`, `RI_COVERAGE`,
158
- # `Savings_Plans_Utilization`, and `Savings_Plans_Coverage` budgets do
293
+ # `SAVINGS_PLANS_UTILIZATION`, and `SAVINGS_PLANS_COVERAGE` budgets do
159
294
  # not have `CostTypes`.
160
295
  # @return [Types::CostTypes]
161
296
  #
162
297
  # @!attribute [rw] time_unit
163
298
  # The length of time until a budget resets the actual and forecasted
164
- # spend. `DAILY` is available only for `RI_UTILIZATION`,
165
- # `RI_COVERAGE`, `Savings_Plans_Utilization`, and
166
- # `Savings_Plans_Coverage` budgets.
299
+ # spend.
167
300
  # @return [String]
168
301
  #
169
302
  # @!attribute [rw] time_period
@@ -211,6 +344,7 @@ module Aws::Budgets
211
344
  :calculated_spend,
212
345
  :budget_type,
213
346
  :last_updated_time)
347
+ SENSITIVE = []
214
348
  include Aws::Structure
215
349
  end
216
350
 
@@ -225,7 +359,8 @@ module Aws::Budgets
225
359
  # @!attribute [rw] budget_type
226
360
  # The type of a budget. It must be one of the following types:
227
361
  #
228
- # `COST`, `USAGE`, `RI_UTILIZATION`, or `RI_COVERAGE`.
362
+ # `COST`, `USAGE`, `RI_UTILIZATION`, `RI_COVERAGE`,
363
+ # `SAVINGS_PLANS_UTILIZATION`, or `SAVINGS_PLANS_COVERAGE`.
229
364
  # @return [String]
230
365
  #
231
366
  # @!attribute [rw] cost_filters
@@ -254,6 +389,7 @@ module Aws::Budgets
254
389
  :cost_types,
255
390
  :time_unit,
256
391
  :budgeted_and_actual_amounts_list)
392
+ SENSITIVE = []
257
393
  include Aws::Structure
258
394
  end
259
395
 
@@ -276,13 +412,14 @@ module Aws::Budgets
276
412
  :budgeted_amount,
277
413
  :actual_amount,
278
414
  :time_period)
415
+ SENSITIVE = []
279
416
  include Aws::Structure
280
417
  end
281
418
 
282
419
  # The spend objects that are associated with this budget. The
283
- # `actualSpend` tracks how much you've used, cost, usage, or RI units,
284
- # and the `forecastedSpend` tracks how much you are predicted to spend
285
- # if your current usage remains steady.
420
+ # `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.
286
423
  #
287
424
  # For example, if it is the 20th of the month and you have spent `50`
288
425
  # dollars on Amazon EC2, your `actualSpend` is `50 USD`, and your
@@ -303,25 +440,27 @@ module Aws::Budgets
303
440
  # }
304
441
  #
305
442
  # @!attribute [rw] actual_spend
306
- # The amount of cost, usage, or RI units that you have used.
443
+ # The amount of cost, usage, RI units, or Savings Plans units that you
444
+ # have used.
307
445
  # @return [Types::Spend]
308
446
  #
309
447
  # @!attribute [rw] forecasted_spend
310
- # The amount of cost, usage, or RI units that you are forecasted to
311
- # use.
448
+ # The amount of cost, usage, RI units, or Savings Plans units that you
449
+ # are forecasted to use.
312
450
  # @return [Types::Spend]
313
451
  #
314
452
  class CalculatedSpend < Struct.new(
315
453
  :actual_spend,
316
454
  :forecasted_spend)
455
+ SENSITIVE = []
317
456
  include Aws::Structure
318
457
  end
319
458
 
320
459
  # The types of cost that are included in a `COST` budget, such as tax
321
460
  # and subscriptions.
322
461
  #
323
- # `USAGE`, `RI_UTILIZATION`, and `RI_COVERAGE` budgets do not have
324
- # `CostTypes`.
462
+ # `USAGE`, `RI_UTILIZATION`, `RI_COVERAGE`, `SAVINGS_PLANS_UTILIZATION`,
463
+ # and `SAVINGS_PLANS_COVERAGE` budgets do not have `CostTypes`.
325
464
  #
326
465
  # @note When making an API call, you may pass CostTypes
327
466
  # data as a hash:
@@ -419,6 +558,122 @@ module Aws::Budgets
419
558
  :include_support,
420
559
  :include_discount,
421
560
  :use_amortized)
561
+ SENSITIVE = []
562
+ include Aws::Structure
563
+ end
564
+
565
+ # @note When making an API call, you may pass CreateBudgetActionRequest
566
+ # data as a hash:
567
+ #
568
+ # {
569
+ # account_id: "AccountId", # required
570
+ # budget_name: "BudgetName", # required
571
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
572
+ # action_type: "APPLY_IAM_POLICY", # required, accepts APPLY_IAM_POLICY, APPLY_SCP_POLICY, RUN_SSM_DOCUMENTS
573
+ # action_threshold: { # required
574
+ # action_threshold_value: 1.0, # required
575
+ # action_threshold_type: "PERCENTAGE", # required, accepts PERCENTAGE, ABSOLUTE_VALUE
576
+ # },
577
+ # definition: { # required
578
+ # iam_action_definition: {
579
+ # policy_arn: "PolicyArn", # required
580
+ # roles: ["Role"],
581
+ # groups: ["Group"],
582
+ # users: ["User"],
583
+ # },
584
+ # scp_action_definition: {
585
+ # policy_id: "PolicyId", # required
586
+ # target_ids: ["TargetId"], # required
587
+ # },
588
+ # ssm_action_definition: {
589
+ # action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
590
+ # region: "Region", # required
591
+ # instance_ids: ["InstanceId"], # required
592
+ # },
593
+ # },
594
+ # execution_role_arn: "RoleArn", # required
595
+ # approval_model: "AUTOMATIC", # required, accepts AUTOMATIC, MANUAL
596
+ # subscribers: [ # required
597
+ # {
598
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
599
+ # address: "SubscriberAddress", # required
600
+ # },
601
+ # ],
602
+ # }
603
+ #
604
+ # @!attribute [rw] account_id
605
+ # The account ID of the user. It should be a 12-digit number.
606
+ # @return [String]
607
+ #
608
+ # @!attribute [rw] budget_name
609
+ # A string that represents the budget name. The ":" and "\\"
610
+ # characters aren't allowed.
611
+ # @return [String]
612
+ #
613
+ # @!attribute [rw] notification_type
614
+ # The type of a notification. It must be ACTUAL or FORECASTED.
615
+ # @return [String]
616
+ #
617
+ # @!attribute [rw] action_type
618
+ # The type of action. This defines the type of tasks that can be
619
+ # carried out by this action. This field also determines the format
620
+ # for definition.
621
+ # @return [String]
622
+ #
623
+ # @!attribute [rw] action_threshold
624
+ # The trigger threshold of the action.
625
+ # @return [Types::ActionThreshold]
626
+ #
627
+ # @!attribute [rw] definition
628
+ # Specifies all of the type-specific parameters.
629
+ # @return [Types::Definition]
630
+ #
631
+ # @!attribute [rw] execution_role_arn
632
+ # The role passed for action execution and reversion. Roles and
633
+ # actions must be in the same account.
634
+ # @return [String]
635
+ #
636
+ # @!attribute [rw] approval_model
637
+ # This specifies if the action needs manual or automatic approval.
638
+ # @return [String]
639
+ #
640
+ # @!attribute [rw] subscribers
641
+ # A list of subscribers.
642
+ # @return [Array<Types::Subscriber>]
643
+ #
644
+ class CreateBudgetActionRequest < Struct.new(
645
+ :account_id,
646
+ :budget_name,
647
+ :notification_type,
648
+ :action_type,
649
+ :action_threshold,
650
+ :definition,
651
+ :execution_role_arn,
652
+ :approval_model,
653
+ :subscribers)
654
+ SENSITIVE = []
655
+ include Aws::Structure
656
+ end
657
+
658
+ # @!attribute [rw] account_id
659
+ # The account ID of the user. It should be a 12-digit number.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] budget_name
663
+ # A string that represents the budget name. The ":" and "\\"
664
+ # characters aren't allowed.
665
+ # @return [String]
666
+ #
667
+ # @!attribute [rw] action_id
668
+ # A system-generated universally unique identifier (UUID) for the
669
+ # action.
670
+ # @return [String]
671
+ #
672
+ class CreateBudgetActionResponse < Struct.new(
673
+ :account_id,
674
+ :budget_name,
675
+ :action_id)
676
+ SENSITIVE = []
422
677
  include Aws::Structure
423
678
  end
424
679
 
@@ -514,6 +769,7 @@ module Aws::Budgets
514
769
  :account_id,
515
770
  :budget,
516
771
  :notifications_with_subscribers)
772
+ SENSITIVE = []
517
773
  include Aws::Structure
518
774
  end
519
775
 
@@ -569,6 +825,7 @@ module Aws::Budgets
569
825
  :budget_name,
570
826
  :notification,
571
827
  :subscribers)
828
+ SENSITIVE = []
572
829
  include Aws::Structure
573
830
  end
574
831
 
@@ -621,6 +878,7 @@ module Aws::Budgets
621
878
  :budget_name,
622
879
  :notification,
623
880
  :subscriber)
881
+ SENSITIVE = []
624
882
  include Aws::Structure
625
883
  end
626
884
 
@@ -636,6 +894,103 @@ module Aws::Budgets
636
894
  #
637
895
  class CreationLimitExceededException < Struct.new(
638
896
  :message)
897
+ SENSITIVE = []
898
+ include Aws::Structure
899
+ end
900
+
901
+ # Specifies all of the type-specific parameters.
902
+ #
903
+ # @note When making an API call, you may pass Definition
904
+ # data as a hash:
905
+ #
906
+ # {
907
+ # iam_action_definition: {
908
+ # policy_arn: "PolicyArn", # required
909
+ # roles: ["Role"],
910
+ # groups: ["Group"],
911
+ # users: ["User"],
912
+ # },
913
+ # scp_action_definition: {
914
+ # policy_id: "PolicyId", # required
915
+ # target_ids: ["TargetId"], # required
916
+ # },
917
+ # ssm_action_definition: {
918
+ # action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
919
+ # region: "Region", # required
920
+ # instance_ids: ["InstanceId"], # required
921
+ # },
922
+ # }
923
+ #
924
+ # @!attribute [rw] iam_action_definition
925
+ # The AWS Identity and Access Management (IAM) action definition
926
+ # details.
927
+ # @return [Types::IamActionDefinition]
928
+ #
929
+ # @!attribute [rw] scp_action_definition
930
+ # The service control policies (SCPs) action definition details.
931
+ # @return [Types::ScpActionDefinition]
932
+ #
933
+ # @!attribute [rw] ssm_action_definition
934
+ # The AWS Systems Manager (SSM) action definition details.
935
+ # @return [Types::SsmActionDefinition]
936
+ #
937
+ class Definition < Struct.new(
938
+ :iam_action_definition,
939
+ :scp_action_definition,
940
+ :ssm_action_definition)
941
+ SENSITIVE = []
942
+ include Aws::Structure
943
+ end
944
+
945
+ # @note When making an API call, you may pass DeleteBudgetActionRequest
946
+ # data as a hash:
947
+ #
948
+ # {
949
+ # account_id: "AccountId", # required
950
+ # budget_name: "BudgetName", # required
951
+ # action_id: "ActionId", # required
952
+ # }
953
+ #
954
+ # @!attribute [rw] account_id
955
+ # The account ID of the user. It should be a 12-digit number.
956
+ # @return [String]
957
+ #
958
+ # @!attribute [rw] budget_name
959
+ # A string that represents the budget name. The ":" and "\\"
960
+ # characters aren't allowed.
961
+ # @return [String]
962
+ #
963
+ # @!attribute [rw] action_id
964
+ # A system-generated universally unique identifier (UUID) for the
965
+ # action.
966
+ # @return [String]
967
+ #
968
+ class DeleteBudgetActionRequest < Struct.new(
969
+ :account_id,
970
+ :budget_name,
971
+ :action_id)
972
+ SENSITIVE = []
973
+ include Aws::Structure
974
+ end
975
+
976
+ # @!attribute [rw] account_id
977
+ # The account ID of the user. It should be a 12-digit number.
978
+ # @return [String]
979
+ #
980
+ # @!attribute [rw] budget_name
981
+ # A string that represents the budget name. The ":" and "\\"
982
+ # characters aren't allowed.
983
+ # @return [String]
984
+ #
985
+ # @!attribute [rw] action
986
+ # A budget action resource.
987
+ # @return [Types::Action]
988
+ #
989
+ class DeleteBudgetActionResponse < Struct.new(
990
+ :account_id,
991
+ :budget_name,
992
+ :action)
993
+ SENSITIVE = []
639
994
  include Aws::Structure
640
995
  end
641
996
 
@@ -661,6 +1016,7 @@ module Aws::Budgets
661
1016
  class DeleteBudgetRequest < Struct.new(
662
1017
  :account_id,
663
1018
  :budget_name)
1019
+ SENSITIVE = []
664
1020
  include Aws::Structure
665
1021
  end
666
1022
 
@@ -702,6 +1058,7 @@ module Aws::Budgets
702
1058
  :account_id,
703
1059
  :budget_name,
704
1060
  :notification)
1061
+ SENSITIVE = []
705
1062
  include Aws::Structure
706
1063
  end
707
1064
 
@@ -752,6 +1109,7 @@ module Aws::Budgets
752
1109
  :budget_name,
753
1110
  :notification,
754
1111
  :subscriber)
1112
+ SENSITIVE = []
755
1113
  include Aws::Structure
756
1114
  end
757
1115
 
@@ -759,6 +1117,225 @@ module Aws::Budgets
759
1117
  #
760
1118
  class DeleteSubscriberResponse < Aws::EmptyStructure; end
761
1119
 
1120
+ # @note When making an API call, you may pass DescribeBudgetActionHistoriesRequest
1121
+ # data as a hash:
1122
+ #
1123
+ # {
1124
+ # account_id: "AccountId", # required
1125
+ # budget_name: "BudgetName", # required
1126
+ # action_id: "ActionId", # required
1127
+ # time_period: {
1128
+ # start: Time.now,
1129
+ # end: Time.now,
1130
+ # },
1131
+ # max_results: 1,
1132
+ # next_token: "GenericString",
1133
+ # }
1134
+ #
1135
+ # @!attribute [rw] account_id
1136
+ # The account ID of the user. It should be a 12-digit number.
1137
+ # @return [String]
1138
+ #
1139
+ # @!attribute [rw] budget_name
1140
+ # A string that represents the budget name. The ":" and "\\"
1141
+ # characters aren't allowed.
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] action_id
1145
+ # A system-generated universally unique identifier (UUID) for the
1146
+ # action.
1147
+ # @return [String]
1148
+ #
1149
+ # @!attribute [rw] time_period
1150
+ # The period of time that is covered by a budget. The period has a
1151
+ # start date and an end date. The start date must come before the end
1152
+ # date. There are no restrictions on the end date.
1153
+ # @return [Types::TimePeriod]
1154
+ #
1155
+ # @!attribute [rw] max_results
1156
+ # An integer that represents how many entries a paginated response
1157
+ # contains. The maximum is 100.
1158
+ # @return [Integer]
1159
+ #
1160
+ # @!attribute [rw] next_token
1161
+ # A generic string.
1162
+ # @return [String]
1163
+ #
1164
+ class DescribeBudgetActionHistoriesRequest < Struct.new(
1165
+ :account_id,
1166
+ :budget_name,
1167
+ :action_id,
1168
+ :time_period,
1169
+ :max_results,
1170
+ :next_token)
1171
+ SENSITIVE = []
1172
+ include Aws::Structure
1173
+ end
1174
+
1175
+ # @!attribute [rw] action_histories
1176
+ # The historical record of the budget action resource.
1177
+ # @return [Array<Types::ActionHistory>]
1178
+ #
1179
+ # @!attribute [rw] next_token
1180
+ # A generic string.
1181
+ # @return [String]
1182
+ #
1183
+ class DescribeBudgetActionHistoriesResponse < Struct.new(
1184
+ :action_histories,
1185
+ :next_token)
1186
+ SENSITIVE = []
1187
+ include Aws::Structure
1188
+ end
1189
+
1190
+ # @note When making an API call, you may pass DescribeBudgetActionRequest
1191
+ # data as a hash:
1192
+ #
1193
+ # {
1194
+ # account_id: "AccountId", # required
1195
+ # budget_name: "BudgetName", # required
1196
+ # action_id: "ActionId", # required
1197
+ # }
1198
+ #
1199
+ # @!attribute [rw] account_id
1200
+ # The account ID of the user. It should be a 12-digit number.
1201
+ # @return [String]
1202
+ #
1203
+ # @!attribute [rw] budget_name
1204
+ # A string that represents the budget name. The ":" and "\\"
1205
+ # characters aren't allowed.
1206
+ # @return [String]
1207
+ #
1208
+ # @!attribute [rw] action_id
1209
+ # A system-generated universally unique identifier (UUID) for the
1210
+ # action.
1211
+ # @return [String]
1212
+ #
1213
+ class DescribeBudgetActionRequest < Struct.new(
1214
+ :account_id,
1215
+ :budget_name,
1216
+ :action_id)
1217
+ SENSITIVE = []
1218
+ include Aws::Structure
1219
+ end
1220
+
1221
+ # @!attribute [rw] account_id
1222
+ # The account ID of the user. It should be a 12-digit number.
1223
+ # @return [String]
1224
+ #
1225
+ # @!attribute [rw] budget_name
1226
+ # A string that represents the budget name. The ":" and "\\"
1227
+ # characters aren't allowed.
1228
+ # @return [String]
1229
+ #
1230
+ # @!attribute [rw] action
1231
+ # A budget action resource.
1232
+ # @return [Types::Action]
1233
+ #
1234
+ class DescribeBudgetActionResponse < Struct.new(
1235
+ :account_id,
1236
+ :budget_name,
1237
+ :action)
1238
+ SENSITIVE = []
1239
+ include Aws::Structure
1240
+ end
1241
+
1242
+ # @note When making an API call, you may pass DescribeBudgetActionsForAccountRequest
1243
+ # data as a hash:
1244
+ #
1245
+ # {
1246
+ # account_id: "AccountId", # required
1247
+ # max_results: 1,
1248
+ # next_token: "GenericString",
1249
+ # }
1250
+ #
1251
+ # @!attribute [rw] account_id
1252
+ # The account ID of the user. It should be a 12-digit number.
1253
+ # @return [String]
1254
+ #
1255
+ # @!attribute [rw] max_results
1256
+ # An integer that represents how many entries a paginated response
1257
+ # contains. The maximum is 100.
1258
+ # @return [Integer]
1259
+ #
1260
+ # @!attribute [rw] next_token
1261
+ # A generic string.
1262
+ # @return [String]
1263
+ #
1264
+ class DescribeBudgetActionsForAccountRequest < Struct.new(
1265
+ :account_id,
1266
+ :max_results,
1267
+ :next_token)
1268
+ SENSITIVE = []
1269
+ include Aws::Structure
1270
+ end
1271
+
1272
+ # @!attribute [rw] actions
1273
+ # A list of the budget action resources information.
1274
+ # @return [Array<Types::Action>]
1275
+ #
1276
+ # @!attribute [rw] next_token
1277
+ # A generic string.
1278
+ # @return [String]
1279
+ #
1280
+ class DescribeBudgetActionsForAccountResponse < Struct.new(
1281
+ :actions,
1282
+ :next_token)
1283
+ SENSITIVE = []
1284
+ include Aws::Structure
1285
+ end
1286
+
1287
+ # @note When making an API call, you may pass DescribeBudgetActionsForBudgetRequest
1288
+ # data as a hash:
1289
+ #
1290
+ # {
1291
+ # account_id: "AccountId", # required
1292
+ # budget_name: "BudgetName", # required
1293
+ # max_results: 1,
1294
+ # next_token: "GenericString",
1295
+ # }
1296
+ #
1297
+ # @!attribute [rw] account_id
1298
+ # The account ID of the user. It should be a 12-digit number.
1299
+ # @return [String]
1300
+ #
1301
+ # @!attribute [rw] budget_name
1302
+ # A string that represents the budget name. The ":" and "\\"
1303
+ # characters aren't allowed.
1304
+ # @return [String]
1305
+ #
1306
+ # @!attribute [rw] max_results
1307
+ # An integer that represents how many entries a paginated response
1308
+ # contains. The maximum is 100.
1309
+ # @return [Integer]
1310
+ #
1311
+ # @!attribute [rw] next_token
1312
+ # A generic string.
1313
+ # @return [String]
1314
+ #
1315
+ class DescribeBudgetActionsForBudgetRequest < Struct.new(
1316
+ :account_id,
1317
+ :budget_name,
1318
+ :max_results,
1319
+ :next_token)
1320
+ SENSITIVE = []
1321
+ include Aws::Structure
1322
+ end
1323
+
1324
+ # @!attribute [rw] actions
1325
+ # A list of the budget action resources information.
1326
+ # @return [Array<Types::Action>]
1327
+ #
1328
+ # @!attribute [rw] next_token
1329
+ # A generic string.
1330
+ # @return [String]
1331
+ #
1332
+ class DescribeBudgetActionsForBudgetResponse < Struct.new(
1333
+ :actions,
1334
+ :next_token)
1335
+ SENSITIVE = []
1336
+ include Aws::Structure
1337
+ end
1338
+
762
1339
  # @note When making an API call, you may pass DescribeBudgetPerformanceHistoryRequest
763
1340
  # data as a hash:
764
1341
  #
@@ -802,6 +1379,7 @@ module Aws::Budgets
802
1379
  :time_period,
803
1380
  :max_results,
804
1381
  :next_token)
1382
+ SENSITIVE = []
805
1383
  include Aws::Structure
806
1384
  end
807
1385
 
@@ -822,6 +1400,7 @@ module Aws::Budgets
822
1400
  class DescribeBudgetPerformanceHistoryResponse < Struct.new(
823
1401
  :budget_performance_history,
824
1402
  :next_token)
1403
+ SENSITIVE = []
825
1404
  include Aws::Structure
826
1405
  end
827
1406
 
@@ -847,6 +1426,7 @@ module Aws::Budgets
847
1426
  class DescribeBudgetRequest < Struct.new(
848
1427
  :account_id,
849
1428
  :budget_name)
1429
+ SENSITIVE = []
850
1430
  include Aws::Structure
851
1431
  end
852
1432
 
@@ -858,6 +1438,7 @@ module Aws::Budgets
858
1438
  #
859
1439
  class DescribeBudgetResponse < Struct.new(
860
1440
  :budget)
1441
+ SENSITIVE = []
861
1442
  include Aws::Structure
862
1443
  end
863
1444
 
@@ -891,6 +1472,7 @@ module Aws::Budgets
891
1472
  :account_id,
892
1473
  :max_results,
893
1474
  :next_token)
1475
+ SENSITIVE = []
894
1476
  include Aws::Structure
895
1477
  end
896
1478
 
@@ -908,6 +1490,7 @@ module Aws::Budgets
908
1490
  class DescribeBudgetsResponse < Struct.new(
909
1491
  :budgets,
910
1492
  :next_token)
1493
+ SENSITIVE = []
911
1494
  include Aws::Structure
912
1495
  end
913
1496
 
@@ -947,6 +1530,7 @@ module Aws::Budgets
947
1530
  :budget_name,
948
1531
  :max_results,
949
1532
  :next_token)
1533
+ SENSITIVE = []
950
1534
  include Aws::Structure
951
1535
  end
952
1536
 
@@ -964,6 +1548,7 @@ module Aws::Budgets
964
1548
  class DescribeNotificationsForBudgetResponse < Struct.new(
965
1549
  :notifications,
966
1550
  :next_token)
1551
+ SENSITIVE = []
967
1552
  include Aws::Structure
968
1553
  end
969
1554
 
@@ -1015,6 +1600,7 @@ module Aws::Budgets
1015
1600
  :notification,
1016
1601
  :max_results,
1017
1602
  :next_token)
1603
+ SENSITIVE = []
1018
1604
  include Aws::Structure
1019
1605
  end
1020
1606
 
@@ -1032,6 +1618,7 @@ module Aws::Budgets
1032
1618
  class DescribeSubscribersForNotificationResponse < Struct.new(
1033
1619
  :subscribers,
1034
1620
  :next_token)
1621
+ SENSITIVE = []
1035
1622
  include Aws::Structure
1036
1623
  end
1037
1624
 
@@ -1044,6 +1631,71 @@ module Aws::Budgets
1044
1631
  #
1045
1632
  class DuplicateRecordException < Struct.new(
1046
1633
  :message)
1634
+ SENSITIVE = []
1635
+ include Aws::Structure
1636
+ end
1637
+
1638
+ # @note When making an API call, you may pass ExecuteBudgetActionRequest
1639
+ # data as a hash:
1640
+ #
1641
+ # {
1642
+ # account_id: "AccountId", # required
1643
+ # budget_name: "BudgetName", # required
1644
+ # action_id: "ActionId", # required
1645
+ # execution_type: "APPROVE_BUDGET_ACTION", # required, accepts APPROVE_BUDGET_ACTION, RETRY_BUDGET_ACTION, REVERSE_BUDGET_ACTION, RESET_BUDGET_ACTION
1646
+ # }
1647
+ #
1648
+ # @!attribute [rw] account_id
1649
+ # The account ID of the user. It should be a 12-digit number.
1650
+ # @return [String]
1651
+ #
1652
+ # @!attribute [rw] budget_name
1653
+ # A string that represents the budget name. The ":" and "\\"
1654
+ # characters aren't allowed.
1655
+ # @return [String]
1656
+ #
1657
+ # @!attribute [rw] action_id
1658
+ # A system-generated universally unique identifier (UUID) for the
1659
+ # action.
1660
+ # @return [String]
1661
+ #
1662
+ # @!attribute [rw] execution_type
1663
+ # The type of execution.
1664
+ # @return [String]
1665
+ #
1666
+ class ExecuteBudgetActionRequest < Struct.new(
1667
+ :account_id,
1668
+ :budget_name,
1669
+ :action_id,
1670
+ :execution_type)
1671
+ SENSITIVE = []
1672
+ include Aws::Structure
1673
+ end
1674
+
1675
+ # @!attribute [rw] account_id
1676
+ # The account ID of the user. It should be a 12-digit number.
1677
+ # @return [String]
1678
+ #
1679
+ # @!attribute [rw] budget_name
1680
+ # A string that represents the budget name. The ":" and "\\"
1681
+ # characters aren't allowed.
1682
+ # @return [String]
1683
+ #
1684
+ # @!attribute [rw] action_id
1685
+ # A system-generated universally unique identifier (UUID) for the
1686
+ # action.
1687
+ # @return [String]
1688
+ #
1689
+ # @!attribute [rw] execution_type
1690
+ # The type of execution.
1691
+ # @return [String]
1692
+ #
1693
+ class ExecuteBudgetActionResponse < Struct.new(
1694
+ :account_id,
1695
+ :budget_name,
1696
+ :action_id,
1697
+ :execution_type)
1698
+ SENSITIVE = []
1047
1699
  include Aws::Structure
1048
1700
  end
1049
1701
 
@@ -1055,6 +1707,45 @@ module Aws::Budgets
1055
1707
  #
1056
1708
  class ExpiredNextTokenException < Struct.new(
1057
1709
  :message)
1710
+ SENSITIVE = []
1711
+ include Aws::Structure
1712
+ end
1713
+
1714
+ # The AWS Identity and Access Management (IAM) action definition
1715
+ # details.
1716
+ #
1717
+ # @note When making an API call, you may pass IamActionDefinition
1718
+ # data as a hash:
1719
+ #
1720
+ # {
1721
+ # policy_arn: "PolicyArn", # required
1722
+ # roles: ["Role"],
1723
+ # groups: ["Group"],
1724
+ # users: ["User"],
1725
+ # }
1726
+ #
1727
+ # @!attribute [rw] policy_arn
1728
+ # The Amazon Resource Name (ARN) of the policy to be attached.
1729
+ # @return [String]
1730
+ #
1731
+ # @!attribute [rw] roles
1732
+ # A list of roles to be attached. There must be at least one role.
1733
+ # @return [Array<String>]
1734
+ #
1735
+ # @!attribute [rw] groups
1736
+ # A list of groups to be attached. There must be at least one group.
1737
+ # @return [Array<String>]
1738
+ #
1739
+ # @!attribute [rw] users
1740
+ # A list of users to be attached. There must be at least one user.
1741
+ # @return [Array<String>]
1742
+ #
1743
+ class IamActionDefinition < Struct.new(
1744
+ :policy_arn,
1745
+ :roles,
1746
+ :groups,
1747
+ :users)
1748
+ SENSITIVE = []
1058
1749
  include Aws::Structure
1059
1750
  end
1060
1751
 
@@ -1067,6 +1758,7 @@ module Aws::Budgets
1067
1758
  #
1068
1759
  class InternalErrorException < Struct.new(
1069
1760
  :message)
1761
+ SENSITIVE = []
1070
1762
  include Aws::Structure
1071
1763
  end
1072
1764
 
@@ -1078,6 +1770,7 @@ module Aws::Budgets
1078
1770
  #
1079
1771
  class InvalidNextTokenException < Struct.new(
1080
1772
  :message)
1773
+ SENSITIVE = []
1081
1774
  include Aws::Structure
1082
1775
  end
1083
1776
 
@@ -1090,6 +1783,7 @@ module Aws::Budgets
1090
1783
  #
1091
1784
  class InvalidParameterException < Struct.new(
1092
1785
  :message)
1786
+ SENSITIVE = []
1093
1787
  include Aws::Structure
1094
1788
  end
1095
1789
 
@@ -1101,11 +1795,12 @@ module Aws::Budgets
1101
1795
  #
1102
1796
  class NotFoundException < Struct.new(
1103
1797
  :message)
1798
+ SENSITIVE = []
1104
1799
  include Aws::Structure
1105
1800
  end
1106
1801
 
1107
1802
  # A notification that is associated with a budget. A budget can have up
1108
- # to five notifications.
1803
+ # to ten notifications.
1109
1804
  #
1110
1805
  # Each notification must have at least one subscriber. A notification
1111
1806
  # can have one SNS subscriber and up to 10 email subscribers, for a
@@ -1145,7 +1840,9 @@ module Aws::Budgets
1145
1840
  #
1146
1841
  # @!attribute [rw] threshold
1147
1842
  # The threshold that is associated with a notification. Thresholds are
1148
- # always a percentage.
1843
+ # always a percentage, and many customers find value being alerted
1844
+ # between 50% - 200% of the budgeted amount. The maximum limit for
1845
+ # your threshold is 1,000,000% above the budgeted amount.
1149
1846
  # @return [Float]
1150
1847
  #
1151
1848
  # @!attribute [rw] threshold_type
@@ -1170,6 +1867,7 @@ module Aws::Budgets
1170
1867
  :threshold,
1171
1868
  :threshold_type,
1172
1869
  :notification_state)
1870
+ SENSITIVE = []
1173
1871
  include Aws::Structure
1174
1872
  end
1175
1873
 
@@ -1207,6 +1905,45 @@ module Aws::Budgets
1207
1905
  class NotificationWithSubscribers < Struct.new(
1208
1906
  :notification,
1209
1907
  :subscribers)
1908
+ SENSITIVE = []
1909
+ include Aws::Structure
1910
+ end
1911
+
1912
+ # The request was received and recognized by the server, but the server
1913
+ # rejected that particular method for the requested resource.
1914
+ #
1915
+ # @!attribute [rw] message
1916
+ # The error message the exception carries.
1917
+ # @return [String]
1918
+ #
1919
+ class ResourceLockedException < Struct.new(
1920
+ :message)
1921
+ SENSITIVE = []
1922
+ include Aws::Structure
1923
+ end
1924
+
1925
+ # The service control policies (SCP) action definition details.
1926
+ #
1927
+ # @note When making an API call, you may pass ScpActionDefinition
1928
+ # data as a hash:
1929
+ #
1930
+ # {
1931
+ # policy_id: "PolicyId", # required
1932
+ # target_ids: ["TargetId"], # required
1933
+ # }
1934
+ #
1935
+ # @!attribute [rw] policy_id
1936
+ # The policy ID attached.
1937
+ # @return [String]
1938
+ #
1939
+ # @!attribute [rw] target_ids
1940
+ # A list of target IDs.
1941
+ # @return [Array<String>]
1942
+ #
1943
+ class ScpActionDefinition < Struct.new(
1944
+ :policy_id,
1945
+ :target_ids)
1946
+ SENSITIVE = []
1210
1947
  include Aws::Structure
1211
1948
  end
1212
1949
 
@@ -1240,6 +1977,38 @@ module Aws::Budgets
1240
1977
  class Spend < Struct.new(
1241
1978
  :amount,
1242
1979
  :unit)
1980
+ SENSITIVE = []
1981
+ include Aws::Structure
1982
+ end
1983
+
1984
+ # The AWS Systems Manager (SSM) action definition details.
1985
+ #
1986
+ # @note When making an API call, you may pass SsmActionDefinition
1987
+ # data as a hash:
1988
+ #
1989
+ # {
1990
+ # action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
1991
+ # region: "Region", # required
1992
+ # instance_ids: ["InstanceId"], # required
1993
+ # }
1994
+ #
1995
+ # @!attribute [rw] action_sub_type
1996
+ # The action subType.
1997
+ # @return [String]
1998
+ #
1999
+ # @!attribute [rw] region
2000
+ # The Region to run the SSM document.
2001
+ # @return [String]
2002
+ #
2003
+ # @!attribute [rw] instance_ids
2004
+ # The EC2 and RDS instance IDs.
2005
+ # @return [Array<String>]
2006
+ #
2007
+ class SsmActionDefinition < Struct.new(
2008
+ :action_sub_type,
2009
+ :region,
2010
+ :instance_ids)
2011
+ SENSITIVE = []
1243
2012
  include Aws::Structure
1244
2013
  end
1245
2014
 
@@ -1275,6 +2044,7 @@ module Aws::Budgets
1275
2044
  class Subscriber < Struct.new(
1276
2045
  :subscription_type,
1277
2046
  :address)
2047
+ SENSITIVE = [:address]
1278
2048
  include Aws::Structure
1279
2049
  end
1280
2050
 
@@ -1316,6 +2086,125 @@ module Aws::Budgets
1316
2086
  class TimePeriod < Struct.new(
1317
2087
  :start,
1318
2088
  :end)
2089
+ SENSITIVE = []
2090
+ include Aws::Structure
2091
+ end
2092
+
2093
+ # @note When making an API call, you may pass UpdateBudgetActionRequest
2094
+ # data as a hash:
2095
+ #
2096
+ # {
2097
+ # account_id: "AccountId", # required
2098
+ # budget_name: "BudgetName", # required
2099
+ # action_id: "ActionId", # required
2100
+ # notification_type: "ACTUAL", # accepts ACTUAL, FORECASTED
2101
+ # action_threshold: {
2102
+ # action_threshold_value: 1.0, # required
2103
+ # action_threshold_type: "PERCENTAGE", # required, accepts PERCENTAGE, ABSOLUTE_VALUE
2104
+ # },
2105
+ # definition: {
2106
+ # iam_action_definition: {
2107
+ # policy_arn: "PolicyArn", # required
2108
+ # roles: ["Role"],
2109
+ # groups: ["Group"],
2110
+ # users: ["User"],
2111
+ # },
2112
+ # scp_action_definition: {
2113
+ # policy_id: "PolicyId", # required
2114
+ # target_ids: ["TargetId"], # required
2115
+ # },
2116
+ # ssm_action_definition: {
2117
+ # action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
2118
+ # region: "Region", # required
2119
+ # instance_ids: ["InstanceId"], # required
2120
+ # },
2121
+ # },
2122
+ # execution_role_arn: "RoleArn",
2123
+ # approval_model: "AUTOMATIC", # accepts AUTOMATIC, MANUAL
2124
+ # subscribers: [
2125
+ # {
2126
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
2127
+ # address: "SubscriberAddress", # required
2128
+ # },
2129
+ # ],
2130
+ # }
2131
+ #
2132
+ # @!attribute [rw] account_id
2133
+ # The account ID of the user. It should be a 12-digit number.
2134
+ # @return [String]
2135
+ #
2136
+ # @!attribute [rw] budget_name
2137
+ # A string that represents the budget name. The ":" and "\\"
2138
+ # characters aren't allowed.
2139
+ # @return [String]
2140
+ #
2141
+ # @!attribute [rw] action_id
2142
+ # A system-generated universally unique identifier (UUID) for the
2143
+ # action.
2144
+ # @return [String]
2145
+ #
2146
+ # @!attribute [rw] notification_type
2147
+ # The type of a notification. It must be ACTUAL or FORECASTED.
2148
+ # @return [String]
2149
+ #
2150
+ # @!attribute [rw] action_threshold
2151
+ # The trigger threshold of the action.
2152
+ # @return [Types::ActionThreshold]
2153
+ #
2154
+ # @!attribute [rw] definition
2155
+ # Specifies all of the type-specific parameters.
2156
+ # @return [Types::Definition]
2157
+ #
2158
+ # @!attribute [rw] execution_role_arn
2159
+ # The role passed for action execution and reversion. Roles and
2160
+ # actions must be in the same account.
2161
+ # @return [String]
2162
+ #
2163
+ # @!attribute [rw] approval_model
2164
+ # This specifies if the action needs manual or automatic approval.
2165
+ # @return [String]
2166
+ #
2167
+ # @!attribute [rw] subscribers
2168
+ # A list of subscribers.
2169
+ # @return [Array<Types::Subscriber>]
2170
+ #
2171
+ class UpdateBudgetActionRequest < Struct.new(
2172
+ :account_id,
2173
+ :budget_name,
2174
+ :action_id,
2175
+ :notification_type,
2176
+ :action_threshold,
2177
+ :definition,
2178
+ :execution_role_arn,
2179
+ :approval_model,
2180
+ :subscribers)
2181
+ SENSITIVE = []
2182
+ include Aws::Structure
2183
+ end
2184
+
2185
+ # @!attribute [rw] account_id
2186
+ # The account ID of the user. It should be a 12-digit number.
2187
+ # @return [String]
2188
+ #
2189
+ # @!attribute [rw] budget_name
2190
+ # A string that represents the budget name. The ":" and "\\"
2191
+ # characters aren't allowed.
2192
+ # @return [String]
2193
+ #
2194
+ # @!attribute [rw] old_action
2195
+ # The previous action resource information.
2196
+ # @return [Types::Action]
2197
+ #
2198
+ # @!attribute [rw] new_action
2199
+ # The updated action resource information.
2200
+ # @return [Types::Action]
2201
+ #
2202
+ class UpdateBudgetActionResponse < Struct.new(
2203
+ :account_id,
2204
+ :budget_name,
2205
+ :old_action,
2206
+ :new_action)
2207
+ SENSITIVE = []
1319
2208
  include Aws::Structure
1320
2209
  end
1321
2210
 
@@ -1386,6 +2275,7 @@ module Aws::Budgets
1386
2275
  class UpdateBudgetRequest < Struct.new(
1387
2276
  :account_id,
1388
2277
  :new_budget)
2278
+ SENSITIVE = []
1389
2279
  include Aws::Structure
1390
2280
  end
1391
2281
 
@@ -1439,6 +2329,7 @@ module Aws::Budgets
1439
2329
  :budget_name,
1440
2330
  :old_notification,
1441
2331
  :new_notification)
2332
+ SENSITIVE = []
1442
2333
  include Aws::Structure
1443
2334
  end
1444
2335
 
@@ -1500,6 +2391,7 @@ module Aws::Budgets
1500
2391
  :notification,
1501
2392
  :old_subscriber,
1502
2393
  :new_subscriber)
2394
+ SENSITIVE = []
1503
2395
  include Aws::Structure
1504
2396
  end
1505
2397