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/cloudformation/CloudFormation_EXPORTS.h>
8 #include <aws/cloudformation/CloudFormationRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/cloudformation/model/CallAs.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace CloudFormation
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_CLOUDFORMATION_API DescribeStackSetOperationRequest : public CloudFormationRequest
23   {
24   public:
25     DescribeStackSetOperationRequest();
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 "DescribeStackSetOperation"; }
32 
33     Aws::String SerializePayload() const override;
34 
35   protected:
36     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
37 
38   public:
39 
40     /**
41      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
42      */
GetStackSetName()43     inline const Aws::String& GetStackSetName() const{ return m_stackSetName; }
44 
45     /**
46      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
47      */
StackSetNameHasBeenSet()48     inline bool StackSetNameHasBeenSet() const { return m_stackSetNameHasBeenSet; }
49 
50     /**
51      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
52      */
SetStackSetName(const Aws::String & value)53     inline void SetStackSetName(const Aws::String& value) { m_stackSetNameHasBeenSet = true; m_stackSetName = value; }
54 
55     /**
56      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
57      */
SetStackSetName(Aws::String && value)58     inline void SetStackSetName(Aws::String&& value) { m_stackSetNameHasBeenSet = true; m_stackSetName = std::move(value); }
59 
60     /**
61      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
62      */
SetStackSetName(const char * value)63     inline void SetStackSetName(const char* value) { m_stackSetNameHasBeenSet = true; m_stackSetName.assign(value); }
64 
65     /**
66      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
67      */
WithStackSetName(const Aws::String & value)68     inline DescribeStackSetOperationRequest& WithStackSetName(const Aws::String& value) { SetStackSetName(value); return *this;}
69 
70     /**
71      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
72      */
WithStackSetName(Aws::String && value)73     inline DescribeStackSetOperationRequest& WithStackSetName(Aws::String&& value) { SetStackSetName(std::move(value)); return *this;}
74 
75     /**
76      * <p>The name or the unique stack ID of the stack set for the stack operation.</p>
77      */
WithStackSetName(const char * value)78     inline DescribeStackSetOperationRequest& WithStackSetName(const char* value) { SetStackSetName(value); return *this;}
79 
80 
81     /**
82      * <p>The unique ID of the stack set operation. </p>
83      */
GetOperationId()84     inline const Aws::String& GetOperationId() const{ return m_operationId; }
85 
86     /**
87      * <p>The unique ID of the stack set operation. </p>
88      */
OperationIdHasBeenSet()89     inline bool OperationIdHasBeenSet() const { return m_operationIdHasBeenSet; }
90 
91     /**
92      * <p>The unique ID of the stack set operation. </p>
93      */
SetOperationId(const Aws::String & value)94     inline void SetOperationId(const Aws::String& value) { m_operationIdHasBeenSet = true; m_operationId = value; }
95 
96     /**
97      * <p>The unique ID of the stack set operation. </p>
98      */
SetOperationId(Aws::String && value)99     inline void SetOperationId(Aws::String&& value) { m_operationIdHasBeenSet = true; m_operationId = std::move(value); }
100 
101     /**
102      * <p>The unique ID of the stack set operation. </p>
103      */
SetOperationId(const char * value)104     inline void SetOperationId(const char* value) { m_operationIdHasBeenSet = true; m_operationId.assign(value); }
105 
106     /**
107      * <p>The unique ID of the stack set operation. </p>
108      */
WithOperationId(const Aws::String & value)109     inline DescribeStackSetOperationRequest& WithOperationId(const Aws::String& value) { SetOperationId(value); return *this;}
110 
111     /**
112      * <p>The unique ID of the stack set operation. </p>
113      */
WithOperationId(Aws::String && value)114     inline DescribeStackSetOperationRequest& WithOperationId(Aws::String&& value) { SetOperationId(std::move(value)); return *this;}
115 
116     /**
117      * <p>The unique ID of the stack set operation. </p>
118      */
WithOperationId(const char * value)119     inline DescribeStackSetOperationRequest& WithOperationId(const char* value) { SetOperationId(value); return *this;}
120 
121 
122     /**
123      * <p>[Service-managed permissions] Specifies whether you are acting as an account
124      * administrator in the organization's management account or as a delegated
125      * administrator in a member account.</p> <p>By default, <code>SELF</code> is
126      * specified. Use <code>SELF</code> for stack sets with self-managed
127      * permissions.</p> <ul> <li> <p>If you are signed in to the management account,
128      * specify <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
129      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
130      * Web Services account must be registered as a delegated administrator in the
131      * management account. For more information, see <a
132      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
133      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
134      * </ul>
135      */
GetCallAs()136     inline const CallAs& GetCallAs() const{ return m_callAs; }
137 
138     /**
139      * <p>[Service-managed permissions] Specifies whether you are acting as an account
140      * administrator in the organization's management account or as a delegated
141      * administrator in a member account.</p> <p>By default, <code>SELF</code> is
142      * specified. Use <code>SELF</code> for stack sets with self-managed
143      * permissions.</p> <ul> <li> <p>If you are signed in to the management account,
144      * specify <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
145      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
146      * Web Services account must be registered as a delegated administrator in the
147      * management account. For more information, see <a
148      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
149      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
150      * </ul>
151      */
CallAsHasBeenSet()152     inline bool CallAsHasBeenSet() const { return m_callAsHasBeenSet; }
153 
154     /**
155      * <p>[Service-managed permissions] Specifies whether you are acting as an account
156      * administrator in the organization's management account or as a delegated
157      * administrator in a member account.</p> <p>By default, <code>SELF</code> is
158      * specified. Use <code>SELF</code> for stack sets with self-managed
159      * permissions.</p> <ul> <li> <p>If you are signed in to the management account,
160      * specify <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
161      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
162      * Web Services account must be registered as a delegated administrator in the
163      * management account. For more information, see <a
164      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
165      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
166      * </ul>
167      */
SetCallAs(const CallAs & value)168     inline void SetCallAs(const CallAs& value) { m_callAsHasBeenSet = true; m_callAs = value; }
169 
170     /**
171      * <p>[Service-managed permissions] Specifies whether you are acting as an account
172      * administrator in the organization's management account or as a delegated
173      * administrator in a member account.</p> <p>By default, <code>SELF</code> is
174      * specified. Use <code>SELF</code> for stack sets with self-managed
175      * permissions.</p> <ul> <li> <p>If you are signed in to the management account,
176      * specify <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
177      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
178      * Web Services account must be registered as a delegated administrator in the
179      * management account. For more information, see <a
180      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
181      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
182      * </ul>
183      */
SetCallAs(CallAs && value)184     inline void SetCallAs(CallAs&& value) { m_callAsHasBeenSet = true; m_callAs = std::move(value); }
185 
186     /**
187      * <p>[Service-managed permissions] Specifies whether you are acting as an account
188      * administrator in the organization's management account or as a delegated
189      * administrator in a member account.</p> <p>By default, <code>SELF</code> is
190      * specified. Use <code>SELF</code> for stack sets with self-managed
191      * permissions.</p> <ul> <li> <p>If you are signed in to the management account,
192      * specify <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
193      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
194      * Web Services account must be registered as a delegated administrator in the
195      * management account. For more information, see <a
196      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
197      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
198      * </ul>
199      */
WithCallAs(const CallAs & value)200     inline DescribeStackSetOperationRequest& WithCallAs(const CallAs& value) { SetCallAs(value); return *this;}
201 
202     /**
203      * <p>[Service-managed permissions] Specifies whether you are acting as an account
204      * administrator in the organization's management account or as a delegated
205      * administrator in a member account.</p> <p>By default, <code>SELF</code> is
206      * specified. Use <code>SELF</code> for stack sets with self-managed
207      * permissions.</p> <ul> <li> <p>If you are signed in to the management account,
208      * specify <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
209      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
210      * Web Services account must be registered as a delegated administrator in the
211      * management account. For more information, see <a
212      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
213      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
214      * </ul>
215      */
WithCallAs(CallAs && value)216     inline DescribeStackSetOperationRequest& WithCallAs(CallAs&& value) { SetCallAs(std::move(value)); return *this;}
217 
218   private:
219 
220     Aws::String m_stackSetName;
221     bool m_stackSetNameHasBeenSet;
222 
223     Aws::String m_operationId;
224     bool m_operationIdHasBeenSet;
225 
226     CallAs m_callAs;
227     bool m_callAsHasBeenSet;
228   };
229 
230 } // namespace Model
231 } // namespace CloudFormation
232 } // namespace Aws
233