1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/budgets/Budgets_EXPORTS.h>
8 #include <aws/budgets/BudgetsRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/budgets/model/ExecutionType.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Budgets
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_BUDGETS_API ExecuteBudgetActionRequest : public BudgetsRequest
23   {
24   public:
25     ExecuteBudgetActionRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "ExecuteBudgetAction"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38 
GetAccountId()39     inline const Aws::String& GetAccountId() const{ return m_accountId; }
40 
41 
AccountIdHasBeenSet()42     inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
43 
44 
SetAccountId(const Aws::String & value)45     inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
46 
47 
SetAccountId(Aws::String && value)48     inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
49 
50 
SetAccountId(const char * value)51     inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
52 
53 
WithAccountId(const Aws::String & value)54     inline ExecuteBudgetActionRequest& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
55 
56 
WithAccountId(Aws::String && value)57     inline ExecuteBudgetActionRequest& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
58 
59 
WithAccountId(const char * value)60     inline ExecuteBudgetActionRequest& WithAccountId(const char* value) { SetAccountId(value); return *this;}
61 
62 
63 
GetBudgetName()64     inline const Aws::String& GetBudgetName() const{ return m_budgetName; }
65 
66 
BudgetNameHasBeenSet()67     inline bool BudgetNameHasBeenSet() const { return m_budgetNameHasBeenSet; }
68 
69 
SetBudgetName(const Aws::String & value)70     inline void SetBudgetName(const Aws::String& value) { m_budgetNameHasBeenSet = true; m_budgetName = value; }
71 
72 
SetBudgetName(Aws::String && value)73     inline void SetBudgetName(Aws::String&& value) { m_budgetNameHasBeenSet = true; m_budgetName = std::move(value); }
74 
75 
SetBudgetName(const char * value)76     inline void SetBudgetName(const char* value) { m_budgetNameHasBeenSet = true; m_budgetName.assign(value); }
77 
78 
WithBudgetName(const Aws::String & value)79     inline ExecuteBudgetActionRequest& WithBudgetName(const Aws::String& value) { SetBudgetName(value); return *this;}
80 
81 
WithBudgetName(Aws::String && value)82     inline ExecuteBudgetActionRequest& WithBudgetName(Aws::String&& value) { SetBudgetName(std::move(value)); return *this;}
83 
84 
WithBudgetName(const char * value)85     inline ExecuteBudgetActionRequest& WithBudgetName(const char* value) { SetBudgetName(value); return *this;}
86 
87 
88     /**
89      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
90      */
GetActionId()91     inline const Aws::String& GetActionId() const{ return m_actionId; }
92 
93     /**
94      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
95      */
ActionIdHasBeenSet()96     inline bool ActionIdHasBeenSet() const { return m_actionIdHasBeenSet; }
97 
98     /**
99      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
100      */
SetActionId(const Aws::String & value)101     inline void SetActionId(const Aws::String& value) { m_actionIdHasBeenSet = true; m_actionId = value; }
102 
103     /**
104      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
105      */
SetActionId(Aws::String && value)106     inline void SetActionId(Aws::String&& value) { m_actionIdHasBeenSet = true; m_actionId = std::move(value); }
107 
108     /**
109      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
110      */
SetActionId(const char * value)111     inline void SetActionId(const char* value) { m_actionIdHasBeenSet = true; m_actionId.assign(value); }
112 
113     /**
114      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
115      */
WithActionId(const Aws::String & value)116     inline ExecuteBudgetActionRequest& WithActionId(const Aws::String& value) { SetActionId(value); return *this;}
117 
118     /**
119      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
120      */
WithActionId(Aws::String && value)121     inline ExecuteBudgetActionRequest& WithActionId(Aws::String&& value) { SetActionId(std::move(value)); return *this;}
122 
123     /**
124      * <p> A system-generated universally unique identifier (UUID) for the action. </p>
125      */
WithActionId(const char * value)126     inline ExecuteBudgetActionRequest& WithActionId(const char* value) { SetActionId(value); return *this;}
127 
128 
129     /**
130      * <p> The type of execution. </p>
131      */
GetExecutionType()132     inline const ExecutionType& GetExecutionType() const{ return m_executionType; }
133 
134     /**
135      * <p> The type of execution. </p>
136      */
ExecutionTypeHasBeenSet()137     inline bool ExecutionTypeHasBeenSet() const { return m_executionTypeHasBeenSet; }
138 
139     /**
140      * <p> The type of execution. </p>
141      */
SetExecutionType(const ExecutionType & value)142     inline void SetExecutionType(const ExecutionType& value) { m_executionTypeHasBeenSet = true; m_executionType = value; }
143 
144     /**
145      * <p> The type of execution. </p>
146      */
SetExecutionType(ExecutionType && value)147     inline void SetExecutionType(ExecutionType&& value) { m_executionTypeHasBeenSet = true; m_executionType = std::move(value); }
148 
149     /**
150      * <p> The type of execution. </p>
151      */
WithExecutionType(const ExecutionType & value)152     inline ExecuteBudgetActionRequest& WithExecutionType(const ExecutionType& value) { SetExecutionType(value); return *this;}
153 
154     /**
155      * <p> The type of execution. </p>
156      */
WithExecutionType(ExecutionType && value)157     inline ExecuteBudgetActionRequest& WithExecutionType(ExecutionType&& value) { SetExecutionType(std::move(value)); return *this;}
158 
159   private:
160 
161     Aws::String m_accountId;
162     bool m_accountIdHasBeenSet;
163 
164     Aws::String m_budgetName;
165     bool m_budgetNameHasBeenSet;
166 
167     Aws::String m_actionId;
168     bool m_actionIdHasBeenSet;
169 
170     ExecutionType m_executionType;
171     bool m_executionTypeHasBeenSet;
172   };
173 
174 } // namespace Model
175 } // namespace Budgets
176 } // namespace Aws
177