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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88e2b039b64e1c936e2b00d2de37289b41f9332e6ed756b9088a20371c4cd012
4
- data.tar.gz: d98cd6f595ca6053c46c9fa6b54712533f7fcfa8b15b9f48c04d05ea2cfd48d7
3
+ metadata.gz: 46c33dfd5a9bbfd1a99cf783c17012b937488c0faf6912da2e2a56bffdfad0b6
4
+ data.tar.gz: fedfdb9ee563f7abd64a3562f46f518446fa65c25a1ad67de1cb3c3e33ea84b0
5
5
  SHA512:
6
- metadata.gz: b8bdae15d076a3acaa68d9d52d44e3f3d8aee8b4a46f7a665f676ce644d07730cd8f856bfe41ddadf46557449546e88108104accd2c827b03dc4ae1f13537224
7
- data.tar.gz: 85176deb7e7bf784c399983aecc4bafc6f44d811fd48cc26b68f9b6ffdd7438f490a47df339d193e196995c7336e088e03593efd2b69a374af7e6680aab4507f
6
+ metadata.gz: a2e5659861222df742a73d96db199c42342b1875fd5201c830bcfbf8afd9033bd0bbf0790d96bbc10c89d14abfab30c9b4221474bb95f7a51268f51dd342793e
7
+ data.tar.gz: 9ecfa5ccc9a99dfd627094ed729b658144b8d60ad3f351f5ef8cef4ac9cd1e09cad541295aa8342f2a16bc10460d7e8581076e7e2ae734aa8f0014c52ea25d12
@@ -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:
@@ -5,6 +7,7 @@
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
10
+
8
11
  require 'aws-sdk-core'
9
12
  require 'aws-sigv4'
10
13
 
@@ -42,9 +45,9 @@ require_relative 'aws-sdk-budgets/customizations'
42
45
  #
43
46
  # See {Errors} for more information.
44
47
  #
45
- # @service
48
+ # @!group service
46
49
  module Aws::Budgets
47
50
 
48
- GEM_VERSION = '1.31.1'
51
+ GEM_VERSION = '1.36.0'
49
52
 
50
53
  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:
@@ -83,13 +85,28 @@ module Aws::Budgets
83
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
84
86
  # credentials.
85
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
86
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
87
103
  # from an EC2 IMDS on an EC2 instance.
88
104
  #
89
- # * `Aws::SharedCredentials` - Used for loading credentials from a
90
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
91
107
  #
92
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
93
110
  #
94
111
  # When `:credentials` are not configured directly, the following
95
112
  # locations will be searched for credentials:
@@ -99,10 +116,10 @@ module Aws::Budgets
99
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
100
117
  # * `~/.aws/credentials`
101
118
  # * `~/.aws/config`
102
- # * EC2 IMDS instance profile - When used by default, the timeouts are
103
- # very aggressive. Construct and pass an instance of
104
- # `Aws::InstanceProfileCredentails` to enable retries and extended
105
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
106
123
  #
107
124
  # @option options [required, String] :region
108
125
  # The AWS region to connect to. The configured `:region` is
@@ -422,6 +439,96 @@ module Aws::Budgets
422
439
  req.send_request(options)
423
440
  end
424
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
+
425
532
  # Creates a notification. You must create the budget before you create
426
533
  # the associated notification.
427
534
  #
@@ -542,6 +649,71 @@ module Aws::Budgets
542
649
  req.send_request(options)
543
650
  end
544
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
+
545
717
  # Deletes a notification.
546
718
  #
547
719
  # Deleting a notification also deletes the subscribers that are
@@ -691,6 +863,294 @@ module Aws::Budgets
691
863
  req.send_request(options)
692
864
  end
693
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
+
694
1154
  # Describes the history for `DAILY`, `MONTHLY`, and `QUARTERLY` budgets.
695
1155
  # Budget history isn't available for `ANNUAL` budgets.
696
1156
  #
@@ -717,6 +1177,8 @@ module Aws::Budgets
717
1177
  # * {Types::DescribeBudgetPerformanceHistoryResponse#budget_performance_history #budget_performance_history} => Types::BudgetPerformanceHistory
718
1178
  # * {Types::DescribeBudgetPerformanceHistoryResponse#next_token #next_token} => String
719
1179
  #
1180
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1181
+ #
720
1182
  # @example Request syntax with placeholder values
721
1183
  #
722
1184
  # resp = client.describe_budget_performance_history({
@@ -791,6 +1253,8 @@ module Aws::Budgets
791
1253
  # * {Types::DescribeBudgetsResponse#budgets #budgets} => Array&lt;Types::Budget&gt;
792
1254
  # * {Types::DescribeBudgetsResponse#next_token #next_token} => String
793
1255
  #
1256
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1257
+ #
794
1258
  # @example Request syntax with placeholder values
795
1259
  #
796
1260
  # resp = client.describe_budgets({
@@ -862,6 +1326,8 @@ module Aws::Budgets
862
1326
  # * {Types::DescribeNotificationsForBudgetResponse#notifications #notifications} => Array&lt;Types::Notification&gt;
863
1327
  # * {Types::DescribeNotificationsForBudgetResponse#next_token #next_token} => String
864
1328
  #
1329
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1330
+ #
865
1331
  # @example Request syntax with placeholder values
866
1332
  #
867
1333
  # resp = client.describe_notifications_for_budget({
@@ -913,6 +1379,8 @@ module Aws::Budgets
913
1379
  # * {Types::DescribeSubscribersForNotificationResponse#subscribers #subscribers} => Array&lt;Types::Subscriber&gt;
914
1380
  # * {Types::DescribeSubscribersForNotificationResponse#next_token #next_token} => String
915
1381
  #
1382
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1383
+ #
916
1384
  # @example Request syntax with placeholder values
917
1385
  #
918
1386
  # resp = client.describe_subscribers_for_notification({
@@ -943,6 +1411,52 @@ module Aws::Budgets
943
1411
  req.send_request(options)
944
1412
  end
945
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
+
946
1460
  # Updates a budget. You can change every part of a budget except for the
947
1461
  # `budgetName` and the `calculatedSpend`. When you modify a budget, the
948
1462
  # `calculatedSpend` drops to zero until AWS has new usage data to use
@@ -1025,6 +1539,147 @@ module Aws::Budgets
1025
1539
  req.send_request(options)
1026
1540
  end
1027
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
+
1028
1683
  # Updates a notification.
1029
1684
  #
1030
1685
  # @option params [required, String] :account_id
@@ -1132,7 +1787,7 @@ module Aws::Budgets
1132
1787
  params: params,
1133
1788
  config: config)
1134
1789
  context[:gem_name] = 'aws-sdk-budgets'
1135
- context[:gem_version] = '1.31.1'
1790
+ context[:gem_version] = '1.36.0'
1136
1791
  Seahorse::Client::Request.new(handlers, context)
1137
1792
  end
1138
1793