aws-sdk-budgets 1.31.1 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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