aws-sdk-budgets 1.35.0 → 1.36.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: f2fc92baebba83690855ca3306fc983735fc8d9e9c39cf7d14912e16dbc44ab8
4
- data.tar.gz: 450423430b98b85570ff17bd050075a1f805636832f358e0ddec2e3ede92c22a
3
+ metadata.gz: 46c33dfd5a9bbfd1a99cf783c17012b937488c0faf6912da2e2a56bffdfad0b6
4
+ data.tar.gz: fedfdb9ee563f7abd64a3562f46f518446fa65c25a1ad67de1cb3c3e33ea84b0
5
5
  SHA512:
6
- metadata.gz: 58a0195664e3248890e19ff8edbe6916fb4c4733c81297a7f5f8062217e30a475ccdd0d2782219aca47b38cfb7bd6300e60ce92494e7e8321bc23f2a4054ece3
7
- data.tar.gz: 97bdbc1d07fc53e9ef940f308750dcc295f210fd996f89c058fd4242d827672798b796ddf787d33273633b227c6821eb3b98c75c8de0a0f00184e4ec0c7eaeea
6
+ metadata.gz: a2e5659861222df742a73d96db199c42342b1875fd5201c830bcfbf8afd9033bd0bbf0790d96bbc10c89d14abfab30c9b4221474bb95f7a51268f51dd342793e
7
+ data.tar.gz: 9ecfa5ccc9a99dfd627094ed729b658144b8d60ad3f351f5ef8cef4ac9cd1e09cad541295aa8342f2a16bc10460d7e8581076e7e2ae734aa8f0014c52ea25d12
@@ -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.35.0'
51
+ GEM_VERSION = '1.36.0'
52
52
 
53
53
  end
@@ -439,6 +439,96 @@ module Aws::Budgets
439
439
  req.send_request(options)
440
440
  end
441
441
 
442
+ # Creates a budget action.
443
+ #
444
+ # @option params [required, String] :account_id
445
+ # The account ID of the user. It should be a 12-digit number.
446
+ #
447
+ # @option params [required, String] :budget_name
448
+ # A string that represents the budget name. The ":" and "\\"
449
+ # characters aren't allowed.
450
+ #
451
+ # @option params [required, String] :notification_type
452
+ # The type of a notification. It must be ACTUAL or FORECASTED.
453
+ #
454
+ # @option params [required, String] :action_type
455
+ # The type of action. This defines the type of tasks that can be carried
456
+ # out by this action. This field also determines the format for
457
+ # definition.
458
+ #
459
+ # @option params [required, Types::ActionThreshold] :action_threshold
460
+ # The trigger threshold of the action.
461
+ #
462
+ # @option params [required, Types::Definition] :definition
463
+ # Specifies all of the type-specific parameters.
464
+ #
465
+ # @option params [required, String] :execution_role_arn
466
+ # The role passed for action execution and reversion. Roles and actions
467
+ # must be in the same account.
468
+ #
469
+ # @option params [required, String] :approval_model
470
+ # This specifies if the action needs manual or automatic approval.
471
+ #
472
+ # @option params [required, Array<Types::Subscriber>] :subscribers
473
+ # A list of subscribers.
474
+ #
475
+ # @return [Types::CreateBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
476
+ #
477
+ # * {Types::CreateBudgetActionResponse#account_id #account_id} => String
478
+ # * {Types::CreateBudgetActionResponse#budget_name #budget_name} => String
479
+ # * {Types::CreateBudgetActionResponse#action_id #action_id} => String
480
+ #
481
+ # @example Request syntax with placeholder values
482
+ #
483
+ # resp = client.create_budget_action({
484
+ # account_id: "AccountId", # required
485
+ # budget_name: "BudgetName", # required
486
+ # notification_type: "ACTUAL", # required, accepts ACTUAL, FORECASTED
487
+ # action_type: "APPLY_IAM_POLICY", # required, accepts APPLY_IAM_POLICY, APPLY_SCP_POLICY, RUN_SSM_DOCUMENTS
488
+ # action_threshold: { # required
489
+ # action_threshold_value: 1.0, # required
490
+ # action_threshold_type: "PERCENTAGE", # required, accepts PERCENTAGE, ABSOLUTE_VALUE
491
+ # },
492
+ # definition: { # required
493
+ # iam_action_definition: {
494
+ # policy_arn: "PolicyArn", # required
495
+ # roles: ["Role"],
496
+ # groups: ["Group"],
497
+ # users: ["User"],
498
+ # },
499
+ # scp_action_definition: {
500
+ # policy_id: "PolicyId", # required
501
+ # target_ids: ["TargetId"], # required
502
+ # },
503
+ # ssm_action_definition: {
504
+ # action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
505
+ # region: "Region", # required
506
+ # instance_ids: ["InstanceId"], # required
507
+ # },
508
+ # },
509
+ # execution_role_arn: "RoleArn", # required
510
+ # approval_model: "AUTOMATIC", # required, accepts AUTOMATIC, MANUAL
511
+ # subscribers: [ # required
512
+ # {
513
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
514
+ # address: "SubscriberAddress", # required
515
+ # },
516
+ # ],
517
+ # })
518
+ #
519
+ # @example Response structure
520
+ #
521
+ # resp.account_id #=> String
522
+ # resp.budget_name #=> String
523
+ # resp.action_id #=> String
524
+ #
525
+ # @overload create_budget_action(params = {})
526
+ # @param [Hash] params ({})
527
+ def create_budget_action(params = {}, options = {})
528
+ req = build_request(:create_budget_action, params)
529
+ req.send_request(options)
530
+ end
531
+
442
532
  # Creates a notification. You must create the budget before you create
443
533
  # the associated notification.
444
534
  #
@@ -559,6 +649,71 @@ module Aws::Budgets
559
649
  req.send_request(options)
560
650
  end
561
651
 
652
+ # Deletes a budget action.
653
+ #
654
+ # @option params [required, String] :account_id
655
+ # The account ID of the user. It should be a 12-digit number.
656
+ #
657
+ # @option params [required, String] :budget_name
658
+ # A string that represents the budget name. The ":" and "\\"
659
+ # characters aren't allowed.
660
+ #
661
+ # @option params [required, String] :action_id
662
+ # A system-generated universally unique identifier (UUID) for the
663
+ # action.
664
+ #
665
+ # @return [Types::DeleteBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
666
+ #
667
+ # * {Types::DeleteBudgetActionResponse#account_id #account_id} => String
668
+ # * {Types::DeleteBudgetActionResponse#budget_name #budget_name} => String
669
+ # * {Types::DeleteBudgetActionResponse#action #action} => Types::Action
670
+ #
671
+ # @example Request syntax with placeholder values
672
+ #
673
+ # resp = client.delete_budget_action({
674
+ # account_id: "AccountId", # required
675
+ # budget_name: "BudgetName", # required
676
+ # action_id: "ActionId", # required
677
+ # })
678
+ #
679
+ # @example Response structure
680
+ #
681
+ # resp.account_id #=> String
682
+ # resp.budget_name #=> String
683
+ # resp.action.action_id #=> String
684
+ # resp.action.budget_name #=> String
685
+ # resp.action.notification_type #=> String, one of "ACTUAL", "FORECASTED"
686
+ # resp.action.action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
687
+ # resp.action.action_threshold.action_threshold_value #=> Float
688
+ # resp.action.action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
689
+ # resp.action.definition.iam_action_definition.policy_arn #=> String
690
+ # resp.action.definition.iam_action_definition.roles #=> Array
691
+ # resp.action.definition.iam_action_definition.roles[0] #=> String
692
+ # resp.action.definition.iam_action_definition.groups #=> Array
693
+ # resp.action.definition.iam_action_definition.groups[0] #=> String
694
+ # resp.action.definition.iam_action_definition.users #=> Array
695
+ # resp.action.definition.iam_action_definition.users[0] #=> String
696
+ # resp.action.definition.scp_action_definition.policy_id #=> String
697
+ # resp.action.definition.scp_action_definition.target_ids #=> Array
698
+ # resp.action.definition.scp_action_definition.target_ids[0] #=> String
699
+ # resp.action.definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
700
+ # resp.action.definition.ssm_action_definition.region #=> String
701
+ # resp.action.definition.ssm_action_definition.instance_ids #=> Array
702
+ # resp.action.definition.ssm_action_definition.instance_ids[0] #=> String
703
+ # resp.action.execution_role_arn #=> String
704
+ # resp.action.approval_model #=> String, one of "AUTOMATIC", "MANUAL"
705
+ # resp.action.status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
706
+ # resp.action.subscribers #=> Array
707
+ # resp.action.subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
708
+ # resp.action.subscribers[0].address #=> String
709
+ #
710
+ # @overload delete_budget_action(params = {})
711
+ # @param [Hash] params ({})
712
+ def delete_budget_action(params = {}, options = {})
713
+ req = build_request(:delete_budget_action, params)
714
+ req.send_request(options)
715
+ end
716
+
562
717
  # Deletes a notification.
563
718
  #
564
719
  # Deleting a notification also deletes the subscribers that are
@@ -708,6 +863,294 @@ module Aws::Budgets
708
863
  req.send_request(options)
709
864
  end
710
865
 
866
+ # Describes a budget action detail.
867
+ #
868
+ # @option params [required, String] :account_id
869
+ # The account ID of the user. It should be a 12-digit number.
870
+ #
871
+ # @option params [required, String] :budget_name
872
+ # A string that represents the budget name. The ":" and "\\"
873
+ # characters aren't allowed.
874
+ #
875
+ # @option params [required, String] :action_id
876
+ # A system-generated universally unique identifier (UUID) for the
877
+ # action.
878
+ #
879
+ # @return [Types::DescribeBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
880
+ #
881
+ # * {Types::DescribeBudgetActionResponse#account_id #account_id} => String
882
+ # * {Types::DescribeBudgetActionResponse#budget_name #budget_name} => String
883
+ # * {Types::DescribeBudgetActionResponse#action #action} => Types::Action
884
+ #
885
+ # @example Request syntax with placeholder values
886
+ #
887
+ # resp = client.describe_budget_action({
888
+ # account_id: "AccountId", # required
889
+ # budget_name: "BudgetName", # required
890
+ # action_id: "ActionId", # required
891
+ # })
892
+ #
893
+ # @example Response structure
894
+ #
895
+ # resp.account_id #=> String
896
+ # resp.budget_name #=> String
897
+ # resp.action.action_id #=> String
898
+ # resp.action.budget_name #=> String
899
+ # resp.action.notification_type #=> String, one of "ACTUAL", "FORECASTED"
900
+ # resp.action.action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
901
+ # resp.action.action_threshold.action_threshold_value #=> Float
902
+ # resp.action.action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
903
+ # resp.action.definition.iam_action_definition.policy_arn #=> String
904
+ # resp.action.definition.iam_action_definition.roles #=> Array
905
+ # resp.action.definition.iam_action_definition.roles[0] #=> String
906
+ # resp.action.definition.iam_action_definition.groups #=> Array
907
+ # resp.action.definition.iam_action_definition.groups[0] #=> String
908
+ # resp.action.definition.iam_action_definition.users #=> Array
909
+ # resp.action.definition.iam_action_definition.users[0] #=> String
910
+ # resp.action.definition.scp_action_definition.policy_id #=> String
911
+ # resp.action.definition.scp_action_definition.target_ids #=> Array
912
+ # resp.action.definition.scp_action_definition.target_ids[0] #=> String
913
+ # resp.action.definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
914
+ # resp.action.definition.ssm_action_definition.region #=> String
915
+ # resp.action.definition.ssm_action_definition.instance_ids #=> Array
916
+ # resp.action.definition.ssm_action_definition.instance_ids[0] #=> String
917
+ # resp.action.execution_role_arn #=> String
918
+ # resp.action.approval_model #=> String, one of "AUTOMATIC", "MANUAL"
919
+ # resp.action.status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
920
+ # resp.action.subscribers #=> Array
921
+ # resp.action.subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
922
+ # resp.action.subscribers[0].address #=> String
923
+ #
924
+ # @overload describe_budget_action(params = {})
925
+ # @param [Hash] params ({})
926
+ def describe_budget_action(params = {}, options = {})
927
+ req = build_request(:describe_budget_action, params)
928
+ req.send_request(options)
929
+ end
930
+
931
+ # Describes a budget action history detail.
932
+ #
933
+ # @option params [required, String] :account_id
934
+ # The account ID of the user. It should be a 12-digit number.
935
+ #
936
+ # @option params [required, String] :budget_name
937
+ # A string that represents the budget name. The ":" and "\\"
938
+ # characters aren't allowed.
939
+ #
940
+ # @option params [required, String] :action_id
941
+ # A system-generated universally unique identifier (UUID) for the
942
+ # action.
943
+ #
944
+ # @option params [Types::TimePeriod] :time_period
945
+ # The period of time that is covered by a budget. The period has a start
946
+ # date and an end date. The start date must come before the end date.
947
+ # There are no restrictions on the end date.
948
+ #
949
+ # @option params [Integer] :max_results
950
+ # An integer that represents how many entries a paginated response
951
+ # contains. The maximum is 100.
952
+ #
953
+ # @option params [String] :next_token
954
+ # A generic string.
955
+ #
956
+ # @return [Types::DescribeBudgetActionHistoriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
957
+ #
958
+ # * {Types::DescribeBudgetActionHistoriesResponse#action_histories #action_histories} => Array&lt;Types::ActionHistory&gt;
959
+ # * {Types::DescribeBudgetActionHistoriesResponse#next_token #next_token} => String
960
+ #
961
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
962
+ #
963
+ # @example Request syntax with placeholder values
964
+ #
965
+ # resp = client.describe_budget_action_histories({
966
+ # account_id: "AccountId", # required
967
+ # budget_name: "BudgetName", # required
968
+ # action_id: "ActionId", # required
969
+ # time_period: {
970
+ # start: Time.now,
971
+ # end: Time.now,
972
+ # },
973
+ # max_results: 1,
974
+ # next_token: "GenericString",
975
+ # })
976
+ #
977
+ # @example Response structure
978
+ #
979
+ # resp.action_histories #=> Array
980
+ # resp.action_histories[0].timestamp #=> Time
981
+ # resp.action_histories[0].status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
982
+ # resp.action_histories[0].event_type #=> String, one of "SYSTEM", "CREATE_ACTION", "DELETE_ACTION", "UPDATE_ACTION", "EXECUTE_ACTION"
983
+ # resp.action_histories[0].action_history_details.message #=> String
984
+ # resp.action_histories[0].action_history_details.action.action_id #=> String
985
+ # resp.action_histories[0].action_history_details.action.budget_name #=> String
986
+ # resp.action_histories[0].action_history_details.action.notification_type #=> String, one of "ACTUAL", "FORECASTED"
987
+ # resp.action_histories[0].action_history_details.action.action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
988
+ # resp.action_histories[0].action_history_details.action.action_threshold.action_threshold_value #=> Float
989
+ # resp.action_histories[0].action_history_details.action.action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
990
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.policy_arn #=> String
991
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.roles #=> Array
992
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.roles[0] #=> String
993
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.groups #=> Array
994
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.groups[0] #=> String
995
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.users #=> Array
996
+ # resp.action_histories[0].action_history_details.action.definition.iam_action_definition.users[0] #=> String
997
+ # resp.action_histories[0].action_history_details.action.definition.scp_action_definition.policy_id #=> String
998
+ # resp.action_histories[0].action_history_details.action.definition.scp_action_definition.target_ids #=> Array
999
+ # resp.action_histories[0].action_history_details.action.definition.scp_action_definition.target_ids[0] #=> String
1000
+ # resp.action_histories[0].action_history_details.action.definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
1001
+ # resp.action_histories[0].action_history_details.action.definition.ssm_action_definition.region #=> String
1002
+ # resp.action_histories[0].action_history_details.action.definition.ssm_action_definition.instance_ids #=> Array
1003
+ # resp.action_histories[0].action_history_details.action.definition.ssm_action_definition.instance_ids[0] #=> String
1004
+ # resp.action_histories[0].action_history_details.action.execution_role_arn #=> String
1005
+ # resp.action_histories[0].action_history_details.action.approval_model #=> String, one of "AUTOMATIC", "MANUAL"
1006
+ # resp.action_histories[0].action_history_details.action.status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
1007
+ # resp.action_histories[0].action_history_details.action.subscribers #=> Array
1008
+ # resp.action_histories[0].action_history_details.action.subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
1009
+ # resp.action_histories[0].action_history_details.action.subscribers[0].address #=> String
1010
+ # resp.next_token #=> String
1011
+ #
1012
+ # @overload describe_budget_action_histories(params = {})
1013
+ # @param [Hash] params ({})
1014
+ def describe_budget_action_histories(params = {}, options = {})
1015
+ req = build_request(:describe_budget_action_histories, params)
1016
+ req.send_request(options)
1017
+ end
1018
+
1019
+ # Describes all of the budget actions for an account.
1020
+ #
1021
+ # @option params [required, String] :account_id
1022
+ # The account ID of the user. It should be a 12-digit number.
1023
+ #
1024
+ # @option params [Integer] :max_results
1025
+ # An integer that represents how many entries a paginated response
1026
+ # contains. The maximum is 100.
1027
+ #
1028
+ # @option params [String] :next_token
1029
+ # A generic string.
1030
+ #
1031
+ # @return [Types::DescribeBudgetActionsForAccountResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1032
+ #
1033
+ # * {Types::DescribeBudgetActionsForAccountResponse#actions #actions} => Array&lt;Types::Action&gt;
1034
+ # * {Types::DescribeBudgetActionsForAccountResponse#next_token #next_token} => String
1035
+ #
1036
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1037
+ #
1038
+ # @example Request syntax with placeholder values
1039
+ #
1040
+ # resp = client.describe_budget_actions_for_account({
1041
+ # account_id: "AccountId", # required
1042
+ # max_results: 1,
1043
+ # next_token: "GenericString",
1044
+ # })
1045
+ #
1046
+ # @example Response structure
1047
+ #
1048
+ # resp.actions #=> Array
1049
+ # resp.actions[0].action_id #=> String
1050
+ # resp.actions[0].budget_name #=> String
1051
+ # resp.actions[0].notification_type #=> String, one of "ACTUAL", "FORECASTED"
1052
+ # resp.actions[0].action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
1053
+ # resp.actions[0].action_threshold.action_threshold_value #=> Float
1054
+ # resp.actions[0].action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
1055
+ # resp.actions[0].definition.iam_action_definition.policy_arn #=> String
1056
+ # resp.actions[0].definition.iam_action_definition.roles #=> Array
1057
+ # resp.actions[0].definition.iam_action_definition.roles[0] #=> String
1058
+ # resp.actions[0].definition.iam_action_definition.groups #=> Array
1059
+ # resp.actions[0].definition.iam_action_definition.groups[0] #=> String
1060
+ # resp.actions[0].definition.iam_action_definition.users #=> Array
1061
+ # resp.actions[0].definition.iam_action_definition.users[0] #=> String
1062
+ # resp.actions[0].definition.scp_action_definition.policy_id #=> String
1063
+ # resp.actions[0].definition.scp_action_definition.target_ids #=> Array
1064
+ # resp.actions[0].definition.scp_action_definition.target_ids[0] #=> String
1065
+ # resp.actions[0].definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
1066
+ # resp.actions[0].definition.ssm_action_definition.region #=> String
1067
+ # resp.actions[0].definition.ssm_action_definition.instance_ids #=> Array
1068
+ # resp.actions[0].definition.ssm_action_definition.instance_ids[0] #=> String
1069
+ # resp.actions[0].execution_role_arn #=> String
1070
+ # resp.actions[0].approval_model #=> String, one of "AUTOMATIC", "MANUAL"
1071
+ # resp.actions[0].status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
1072
+ # resp.actions[0].subscribers #=> Array
1073
+ # resp.actions[0].subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
1074
+ # resp.actions[0].subscribers[0].address #=> String
1075
+ # resp.next_token #=> String
1076
+ #
1077
+ # @overload describe_budget_actions_for_account(params = {})
1078
+ # @param [Hash] params ({})
1079
+ def describe_budget_actions_for_account(params = {}, options = {})
1080
+ req = build_request(:describe_budget_actions_for_account, params)
1081
+ req.send_request(options)
1082
+ end
1083
+
1084
+ # Describes all of the budget actions for a budget.
1085
+ #
1086
+ # @option params [required, String] :account_id
1087
+ # The account ID of the user. It should be a 12-digit number.
1088
+ #
1089
+ # @option params [required, String] :budget_name
1090
+ # A string that represents the budget name. The ":" and "\\"
1091
+ # characters aren't allowed.
1092
+ #
1093
+ # @option params [Integer] :max_results
1094
+ # An integer that represents how many entries a paginated response
1095
+ # contains. The maximum is 100.
1096
+ #
1097
+ # @option params [String] :next_token
1098
+ # A generic string.
1099
+ #
1100
+ # @return [Types::DescribeBudgetActionsForBudgetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1101
+ #
1102
+ # * {Types::DescribeBudgetActionsForBudgetResponse#actions #actions} => Array&lt;Types::Action&gt;
1103
+ # * {Types::DescribeBudgetActionsForBudgetResponse#next_token #next_token} => String
1104
+ #
1105
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1106
+ #
1107
+ # @example Request syntax with placeholder values
1108
+ #
1109
+ # resp = client.describe_budget_actions_for_budget({
1110
+ # account_id: "AccountId", # required
1111
+ # budget_name: "BudgetName", # required
1112
+ # max_results: 1,
1113
+ # next_token: "GenericString",
1114
+ # })
1115
+ #
1116
+ # @example Response structure
1117
+ #
1118
+ # resp.actions #=> Array
1119
+ # resp.actions[0].action_id #=> String
1120
+ # resp.actions[0].budget_name #=> String
1121
+ # resp.actions[0].notification_type #=> String, one of "ACTUAL", "FORECASTED"
1122
+ # resp.actions[0].action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
1123
+ # resp.actions[0].action_threshold.action_threshold_value #=> Float
1124
+ # resp.actions[0].action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
1125
+ # resp.actions[0].definition.iam_action_definition.policy_arn #=> String
1126
+ # resp.actions[0].definition.iam_action_definition.roles #=> Array
1127
+ # resp.actions[0].definition.iam_action_definition.roles[0] #=> String
1128
+ # resp.actions[0].definition.iam_action_definition.groups #=> Array
1129
+ # resp.actions[0].definition.iam_action_definition.groups[0] #=> String
1130
+ # resp.actions[0].definition.iam_action_definition.users #=> Array
1131
+ # resp.actions[0].definition.iam_action_definition.users[0] #=> String
1132
+ # resp.actions[0].definition.scp_action_definition.policy_id #=> String
1133
+ # resp.actions[0].definition.scp_action_definition.target_ids #=> Array
1134
+ # resp.actions[0].definition.scp_action_definition.target_ids[0] #=> String
1135
+ # resp.actions[0].definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
1136
+ # resp.actions[0].definition.ssm_action_definition.region #=> String
1137
+ # resp.actions[0].definition.ssm_action_definition.instance_ids #=> Array
1138
+ # resp.actions[0].definition.ssm_action_definition.instance_ids[0] #=> String
1139
+ # resp.actions[0].execution_role_arn #=> String
1140
+ # resp.actions[0].approval_model #=> String, one of "AUTOMATIC", "MANUAL"
1141
+ # resp.actions[0].status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
1142
+ # resp.actions[0].subscribers #=> Array
1143
+ # resp.actions[0].subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
1144
+ # resp.actions[0].subscribers[0].address #=> String
1145
+ # resp.next_token #=> String
1146
+ #
1147
+ # @overload describe_budget_actions_for_budget(params = {})
1148
+ # @param [Hash] params ({})
1149
+ def describe_budget_actions_for_budget(params = {}, options = {})
1150
+ req = build_request(:describe_budget_actions_for_budget, params)
1151
+ req.send_request(options)
1152
+ end
1153
+
711
1154
  # Describes the history for `DAILY`, `MONTHLY`, and `QUARTERLY` budgets.
712
1155
  # Budget history isn't available for `ANNUAL` budgets.
713
1156
  #
@@ -968,6 +1411,52 @@ module Aws::Budgets
968
1411
  req.send_request(options)
969
1412
  end
970
1413
 
1414
+ # Executes a budget action.
1415
+ #
1416
+ # @option params [required, String] :account_id
1417
+ # The account ID of the user. It should be a 12-digit number.
1418
+ #
1419
+ # @option params [required, String] :budget_name
1420
+ # A string that represents the budget name. The ":" and "\\"
1421
+ # characters aren't allowed.
1422
+ #
1423
+ # @option params [required, String] :action_id
1424
+ # A system-generated universally unique identifier (UUID) for the
1425
+ # action.
1426
+ #
1427
+ # @option params [required, String] :execution_type
1428
+ # The type of execution.
1429
+ #
1430
+ # @return [Types::ExecuteBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1431
+ #
1432
+ # * {Types::ExecuteBudgetActionResponse#account_id #account_id} => String
1433
+ # * {Types::ExecuteBudgetActionResponse#budget_name #budget_name} => String
1434
+ # * {Types::ExecuteBudgetActionResponse#action_id #action_id} => String
1435
+ # * {Types::ExecuteBudgetActionResponse#execution_type #execution_type} => String
1436
+ #
1437
+ # @example Request syntax with placeholder values
1438
+ #
1439
+ # resp = client.execute_budget_action({
1440
+ # account_id: "AccountId", # required
1441
+ # budget_name: "BudgetName", # required
1442
+ # action_id: "ActionId", # required
1443
+ # execution_type: "APPROVE_BUDGET_ACTION", # required, accepts APPROVE_BUDGET_ACTION, RETRY_BUDGET_ACTION, REVERSE_BUDGET_ACTION, RESET_BUDGET_ACTION
1444
+ # })
1445
+ #
1446
+ # @example Response structure
1447
+ #
1448
+ # resp.account_id #=> String
1449
+ # resp.budget_name #=> String
1450
+ # resp.action_id #=> String
1451
+ # resp.execution_type #=> String, one of "APPROVE_BUDGET_ACTION", "RETRY_BUDGET_ACTION", "REVERSE_BUDGET_ACTION", "RESET_BUDGET_ACTION"
1452
+ #
1453
+ # @overload execute_budget_action(params = {})
1454
+ # @param [Hash] params ({})
1455
+ def execute_budget_action(params = {}, options = {})
1456
+ req = build_request(:execute_budget_action, params)
1457
+ req.send_request(options)
1458
+ end
1459
+
971
1460
  # Updates a budget. You can change every part of a budget except for the
972
1461
  # `budgetName` and the `calculatedSpend`. When you modify a budget, the
973
1462
  # `calculatedSpend` drops to zero until AWS has new usage data to use
@@ -1050,6 +1539,147 @@ module Aws::Budgets
1050
1539
  req.send_request(options)
1051
1540
  end
1052
1541
 
1542
+ # Updates a budget action.
1543
+ #
1544
+ # @option params [required, String] :account_id
1545
+ # The account ID of the user. It should be a 12-digit number.
1546
+ #
1547
+ # @option params [required, String] :budget_name
1548
+ # A string that represents the budget name. The ":" and "\\"
1549
+ # characters aren't allowed.
1550
+ #
1551
+ # @option params [required, String] :action_id
1552
+ # A system-generated universally unique identifier (UUID) for the
1553
+ # action.
1554
+ #
1555
+ # @option params [String] :notification_type
1556
+ # The type of a notification. It must be ACTUAL or FORECASTED.
1557
+ #
1558
+ # @option params [Types::ActionThreshold] :action_threshold
1559
+ # The trigger threshold of the action.
1560
+ #
1561
+ # @option params [Types::Definition] :definition
1562
+ # Specifies all of the type-specific parameters.
1563
+ #
1564
+ # @option params [String] :execution_role_arn
1565
+ # The role passed for action execution and reversion. Roles and actions
1566
+ # must be in the same account.
1567
+ #
1568
+ # @option params [String] :approval_model
1569
+ # This specifies if the action needs manual or automatic approval.
1570
+ #
1571
+ # @option params [Array<Types::Subscriber>] :subscribers
1572
+ # A list of subscribers.
1573
+ #
1574
+ # @return [Types::UpdateBudgetActionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1575
+ #
1576
+ # * {Types::UpdateBudgetActionResponse#account_id #account_id} => String
1577
+ # * {Types::UpdateBudgetActionResponse#budget_name #budget_name} => String
1578
+ # * {Types::UpdateBudgetActionResponse#old_action #old_action} => Types::Action
1579
+ # * {Types::UpdateBudgetActionResponse#new_action #new_action} => Types::Action
1580
+ #
1581
+ # @example Request syntax with placeholder values
1582
+ #
1583
+ # resp = client.update_budget_action({
1584
+ # account_id: "AccountId", # required
1585
+ # budget_name: "BudgetName", # required
1586
+ # action_id: "ActionId", # required
1587
+ # notification_type: "ACTUAL", # accepts ACTUAL, FORECASTED
1588
+ # action_threshold: {
1589
+ # action_threshold_value: 1.0, # required
1590
+ # action_threshold_type: "PERCENTAGE", # required, accepts PERCENTAGE, ABSOLUTE_VALUE
1591
+ # },
1592
+ # definition: {
1593
+ # iam_action_definition: {
1594
+ # policy_arn: "PolicyArn", # required
1595
+ # roles: ["Role"],
1596
+ # groups: ["Group"],
1597
+ # users: ["User"],
1598
+ # },
1599
+ # scp_action_definition: {
1600
+ # policy_id: "PolicyId", # required
1601
+ # target_ids: ["TargetId"], # required
1602
+ # },
1603
+ # ssm_action_definition: {
1604
+ # action_sub_type: "STOP_EC2_INSTANCES", # required, accepts STOP_EC2_INSTANCES, STOP_RDS_INSTANCES
1605
+ # region: "Region", # required
1606
+ # instance_ids: ["InstanceId"], # required
1607
+ # },
1608
+ # },
1609
+ # execution_role_arn: "RoleArn",
1610
+ # approval_model: "AUTOMATIC", # accepts AUTOMATIC, MANUAL
1611
+ # subscribers: [
1612
+ # {
1613
+ # subscription_type: "SNS", # required, accepts SNS, EMAIL
1614
+ # address: "SubscriberAddress", # required
1615
+ # },
1616
+ # ],
1617
+ # })
1618
+ #
1619
+ # @example Response structure
1620
+ #
1621
+ # resp.account_id #=> String
1622
+ # resp.budget_name #=> String
1623
+ # resp.old_action.action_id #=> String
1624
+ # resp.old_action.budget_name #=> String
1625
+ # resp.old_action.notification_type #=> String, one of "ACTUAL", "FORECASTED"
1626
+ # resp.old_action.action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
1627
+ # resp.old_action.action_threshold.action_threshold_value #=> Float
1628
+ # resp.old_action.action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
1629
+ # resp.old_action.definition.iam_action_definition.policy_arn #=> String
1630
+ # resp.old_action.definition.iam_action_definition.roles #=> Array
1631
+ # resp.old_action.definition.iam_action_definition.roles[0] #=> String
1632
+ # resp.old_action.definition.iam_action_definition.groups #=> Array
1633
+ # resp.old_action.definition.iam_action_definition.groups[0] #=> String
1634
+ # resp.old_action.definition.iam_action_definition.users #=> Array
1635
+ # resp.old_action.definition.iam_action_definition.users[0] #=> String
1636
+ # resp.old_action.definition.scp_action_definition.policy_id #=> String
1637
+ # resp.old_action.definition.scp_action_definition.target_ids #=> Array
1638
+ # resp.old_action.definition.scp_action_definition.target_ids[0] #=> String
1639
+ # resp.old_action.definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
1640
+ # resp.old_action.definition.ssm_action_definition.region #=> String
1641
+ # resp.old_action.definition.ssm_action_definition.instance_ids #=> Array
1642
+ # resp.old_action.definition.ssm_action_definition.instance_ids[0] #=> String
1643
+ # resp.old_action.execution_role_arn #=> String
1644
+ # resp.old_action.approval_model #=> String, one of "AUTOMATIC", "MANUAL"
1645
+ # resp.old_action.status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
1646
+ # resp.old_action.subscribers #=> Array
1647
+ # resp.old_action.subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
1648
+ # resp.old_action.subscribers[0].address #=> String
1649
+ # resp.new_action.action_id #=> String
1650
+ # resp.new_action.budget_name #=> String
1651
+ # resp.new_action.notification_type #=> String, one of "ACTUAL", "FORECASTED"
1652
+ # resp.new_action.action_type #=> String, one of "APPLY_IAM_POLICY", "APPLY_SCP_POLICY", "RUN_SSM_DOCUMENTS"
1653
+ # resp.new_action.action_threshold.action_threshold_value #=> Float
1654
+ # resp.new_action.action_threshold.action_threshold_type #=> String, one of "PERCENTAGE", "ABSOLUTE_VALUE"
1655
+ # resp.new_action.definition.iam_action_definition.policy_arn #=> String
1656
+ # resp.new_action.definition.iam_action_definition.roles #=> Array
1657
+ # resp.new_action.definition.iam_action_definition.roles[0] #=> String
1658
+ # resp.new_action.definition.iam_action_definition.groups #=> Array
1659
+ # resp.new_action.definition.iam_action_definition.groups[0] #=> String
1660
+ # resp.new_action.definition.iam_action_definition.users #=> Array
1661
+ # resp.new_action.definition.iam_action_definition.users[0] #=> String
1662
+ # resp.new_action.definition.scp_action_definition.policy_id #=> String
1663
+ # resp.new_action.definition.scp_action_definition.target_ids #=> Array
1664
+ # resp.new_action.definition.scp_action_definition.target_ids[0] #=> String
1665
+ # resp.new_action.definition.ssm_action_definition.action_sub_type #=> String, one of "STOP_EC2_INSTANCES", "STOP_RDS_INSTANCES"
1666
+ # resp.new_action.definition.ssm_action_definition.region #=> String
1667
+ # resp.new_action.definition.ssm_action_definition.instance_ids #=> Array
1668
+ # resp.new_action.definition.ssm_action_definition.instance_ids[0] #=> String
1669
+ # resp.new_action.execution_role_arn #=> String
1670
+ # resp.new_action.approval_model #=> String, one of "AUTOMATIC", "MANUAL"
1671
+ # resp.new_action.status #=> String, one of "STANDBY", "PENDING", "EXECUTION_IN_PROGRESS", "EXECUTION_SUCCESS", "EXECUTION_FAILURE", "REVERSE_IN_PROGRESS", "REVERSE_SUCCESS", "REVERSE_FAILURE", "RESET_IN_PROGRESS", "RESET_FAILURE"
1672
+ # resp.new_action.subscribers #=> Array
1673
+ # resp.new_action.subscribers[0].subscription_type #=> String, one of "SNS", "EMAIL"
1674
+ # resp.new_action.subscribers[0].address #=> String
1675
+ #
1676
+ # @overload update_budget_action(params = {})
1677
+ # @param [Hash] params ({})
1678
+ def update_budget_action(params = {}, options = {})
1679
+ req = build_request(:update_budget_action, params)
1680
+ req.send_request(options)
1681
+ end
1682
+
1053
1683
  # Updates a notification.
1054
1684
  #
1055
1685
  # @option params [required, String] :account_id
@@ -1157,7 +1787,7 @@ module Aws::Budgets
1157
1787
  params: params,
1158
1788
  config: config)
1159
1789
  context[:gem_name] = 'aws-sdk-budgets'
1160
- context[:gem_version] = '1.35.0'
1790
+ context[:gem_version] = '1.36.0'
1161
1791
  Seahorse::Client::Request.new(handlers, context)
1162
1792
  end
1163
1793