aws_sdk_cloudformation/operation/create_stack_instances/
_create_stack_instances_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateStackInstancesInput {
6    /// <p>The name or unique ID of the StackSet that you want to create stack instances from.</p>
7    pub stack_set_name: ::std::option::Option<::std::string::String>,
8    /// <p>\[Self-managed permissions\] The account IDs of one or more Amazon Web Services accounts that you want to create stack instances in the specified Region(s) for.</p>
9    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
10    pub accounts: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
11    /// <p>\[Service-managed permissions\] The Organizations accounts in which to create stack instances in the specified Amazon Web Services Regions.</p>
12    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
13    pub deployment_targets: ::std::option::Option<crate::types::DeploymentTargets>,
14    /// <p>The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.</p>
15    pub regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
16    /// <p>A list of StackSet parameters whose values you want to override in the selected stack instances.</p>
17    /// <p>Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance operations:</p>
18    /// <ul>
19    /// <li>
20    /// <p>To override the current value for a parameter, include the parameter and specify its value.</p></li>
21    /// <li>
22    /// <p>To leave an overridden parameter set to its present value, include the parameter and specify <code>UsePreviousValue</code> as <code>true</code>. (You can't specify both a value and set <code>UsePreviousValue</code> to <code>true</code>.)</p></li>
23    /// <li>
24    /// <p>To set an overridden parameter back to the value specified in the StackSet, specify a parameter list but don't include the parameter in the list.</p></li>
25    /// <li>
26    /// <p>To leave all parameters set to their present values, don't specify this property at all.</p></li>
27    /// </ul>
28    /// <p>During StackSet updates, any parameter values overridden for a stack instance aren't updated, but retain their overridden value.</p>
29    /// <p>You can only override the parameter <i>values</i> that are specified in the StackSet; to add or delete a parameter itself, use <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html">UpdateStackSet</a> to update the StackSet template.</p>
30    pub parameter_overrides: ::std::option::Option<::std::vec::Vec<crate::types::Parameter>>,
31    /// <p>Preferences for how CloudFormation performs this StackSet operation.</p>
32    pub operation_preferences: ::std::option::Option<crate::types::StackSetOperationPreferences>,
33    /// <p>The unique identifier for this StackSet operation.</p>
34    /// <p>The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the StackSet operation only once, even if you retry the request multiple times. You might retry StackSet operation requests to ensure that CloudFormation successfully received them.</p>
35    /// <p>If you don't specify an operation ID, the SDK generates one automatically.</p>
36    /// <p>Repeating this StackSet operation with a new operation ID retries all stack instances whose status is <code>OUTDATED</code>.</p>
37    pub operation_id: ::std::option::Option<::std::string::String>,
38    /// <p>\[Service-managed permissions\] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.</p>
39    /// <p>By default, <code>SELF</code> is specified. Use <code>SELF</code> for StackSets with self-managed permissions.</p>
40    /// <ul>
41    /// <li>
42    /// <p>If you are signed in to the management account, specify <code>SELF</code>.</p></li>
43    /// <li>
44    /// <p>If you are signed in to a delegated administrator account, specify <code>DELEGATED_ADMIN</code>.</p>
45    /// <p>Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p></li>
46    /// </ul>
47    pub call_as: ::std::option::Option<crate::types::CallAs>,
48}
49impl CreateStackInstancesInput {
50    /// <p>The name or unique ID of the StackSet that you want to create stack instances from.</p>
51    pub fn stack_set_name(&self) -> ::std::option::Option<&str> {
52        self.stack_set_name.as_deref()
53    }
54    /// <p>\[Self-managed permissions\] The account IDs of one or more Amazon Web Services accounts that you want to create stack instances in the specified Region(s) for.</p>
55    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
56    ///
57    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.accounts.is_none()`.
58    pub fn accounts(&self) -> &[::std::string::String] {
59        self.accounts.as_deref().unwrap_or_default()
60    }
61    /// <p>\[Service-managed permissions\] The Organizations accounts in which to create stack instances in the specified Amazon Web Services Regions.</p>
62    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
63    pub fn deployment_targets(&self) -> ::std::option::Option<&crate::types::DeploymentTargets> {
64        self.deployment_targets.as_ref()
65    }
66    /// <p>The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.</p>
67    ///
68    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.regions.is_none()`.
69    pub fn regions(&self) -> &[::std::string::String] {
70        self.regions.as_deref().unwrap_or_default()
71    }
72    /// <p>A list of StackSet parameters whose values you want to override in the selected stack instances.</p>
73    /// <p>Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance operations:</p>
74    /// <ul>
75    /// <li>
76    /// <p>To override the current value for a parameter, include the parameter and specify its value.</p></li>
77    /// <li>
78    /// <p>To leave an overridden parameter set to its present value, include the parameter and specify <code>UsePreviousValue</code> as <code>true</code>. (You can't specify both a value and set <code>UsePreviousValue</code> to <code>true</code>.)</p></li>
79    /// <li>
80    /// <p>To set an overridden parameter back to the value specified in the StackSet, specify a parameter list but don't include the parameter in the list.</p></li>
81    /// <li>
82    /// <p>To leave all parameters set to their present values, don't specify this property at all.</p></li>
83    /// </ul>
84    /// <p>During StackSet updates, any parameter values overridden for a stack instance aren't updated, but retain their overridden value.</p>
85    /// <p>You can only override the parameter <i>values</i> that are specified in the StackSet; to add or delete a parameter itself, use <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html">UpdateStackSet</a> to update the StackSet template.</p>
86    ///
87    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.parameter_overrides.is_none()`.
88    pub fn parameter_overrides(&self) -> &[crate::types::Parameter] {
89        self.parameter_overrides.as_deref().unwrap_or_default()
90    }
91    /// <p>Preferences for how CloudFormation performs this StackSet operation.</p>
92    pub fn operation_preferences(&self) -> ::std::option::Option<&crate::types::StackSetOperationPreferences> {
93        self.operation_preferences.as_ref()
94    }
95    /// <p>The unique identifier for this StackSet operation.</p>
96    /// <p>The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the StackSet operation only once, even if you retry the request multiple times. You might retry StackSet operation requests to ensure that CloudFormation successfully received them.</p>
97    /// <p>If you don't specify an operation ID, the SDK generates one automatically.</p>
98    /// <p>Repeating this StackSet operation with a new operation ID retries all stack instances whose status is <code>OUTDATED</code>.</p>
99    pub fn operation_id(&self) -> ::std::option::Option<&str> {
100        self.operation_id.as_deref()
101    }
102    /// <p>\[Service-managed permissions\] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.</p>
103    /// <p>By default, <code>SELF</code> is specified. Use <code>SELF</code> for StackSets with self-managed permissions.</p>
104    /// <ul>
105    /// <li>
106    /// <p>If you are signed in to the management account, specify <code>SELF</code>.</p></li>
107    /// <li>
108    /// <p>If you are signed in to a delegated administrator account, specify <code>DELEGATED_ADMIN</code>.</p>
109    /// <p>Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p></li>
110    /// </ul>
111    pub fn call_as(&self) -> ::std::option::Option<&crate::types::CallAs> {
112        self.call_as.as_ref()
113    }
114}
115impl CreateStackInstancesInput {
116    /// Creates a new builder-style object to manufacture [`CreateStackInstancesInput`](crate::operation::create_stack_instances::CreateStackInstancesInput).
117    pub fn builder() -> crate::operation::create_stack_instances::builders::CreateStackInstancesInputBuilder {
118        crate::operation::create_stack_instances::builders::CreateStackInstancesInputBuilder::default()
119    }
120}
121
122/// A builder for [`CreateStackInstancesInput`](crate::operation::create_stack_instances::CreateStackInstancesInput).
123#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
124#[non_exhaustive]
125pub struct CreateStackInstancesInputBuilder {
126    pub(crate) stack_set_name: ::std::option::Option<::std::string::String>,
127    pub(crate) accounts: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
128    pub(crate) deployment_targets: ::std::option::Option<crate::types::DeploymentTargets>,
129    pub(crate) regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
130    pub(crate) parameter_overrides: ::std::option::Option<::std::vec::Vec<crate::types::Parameter>>,
131    pub(crate) operation_preferences: ::std::option::Option<crate::types::StackSetOperationPreferences>,
132    pub(crate) operation_id: ::std::option::Option<::std::string::String>,
133    pub(crate) call_as: ::std::option::Option<crate::types::CallAs>,
134}
135impl CreateStackInstancesInputBuilder {
136    /// <p>The name or unique ID of the StackSet that you want to create stack instances from.</p>
137    /// This field is required.
138    pub fn stack_set_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
139        self.stack_set_name = ::std::option::Option::Some(input.into());
140        self
141    }
142    /// <p>The name or unique ID of the StackSet that you want to create stack instances from.</p>
143    pub fn set_stack_set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
144        self.stack_set_name = input;
145        self
146    }
147    /// <p>The name or unique ID of the StackSet that you want to create stack instances from.</p>
148    pub fn get_stack_set_name(&self) -> &::std::option::Option<::std::string::String> {
149        &self.stack_set_name
150    }
151    /// Appends an item to `accounts`.
152    ///
153    /// To override the contents of this collection use [`set_accounts`](Self::set_accounts).
154    ///
155    /// <p>\[Self-managed permissions\] The account IDs of one or more Amazon Web Services accounts that you want to create stack instances in the specified Region(s) for.</p>
156    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
157    pub fn accounts(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
158        let mut v = self.accounts.unwrap_or_default();
159        v.push(input.into());
160        self.accounts = ::std::option::Option::Some(v);
161        self
162    }
163    /// <p>\[Self-managed permissions\] The account IDs of one or more Amazon Web Services accounts that you want to create stack instances in the specified Region(s) for.</p>
164    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
165    pub fn set_accounts(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
166        self.accounts = input;
167        self
168    }
169    /// <p>\[Self-managed permissions\] The account IDs of one or more Amazon Web Services accounts that you want to create stack instances in the specified Region(s) for.</p>
170    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
171    pub fn get_accounts(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
172        &self.accounts
173    }
174    /// <p>\[Service-managed permissions\] The Organizations accounts in which to create stack instances in the specified Amazon Web Services Regions.</p>
175    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
176    pub fn deployment_targets(mut self, input: crate::types::DeploymentTargets) -> Self {
177        self.deployment_targets = ::std::option::Option::Some(input);
178        self
179    }
180    /// <p>\[Service-managed permissions\] The Organizations accounts in which to create stack instances in the specified Amazon Web Services Regions.</p>
181    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
182    pub fn set_deployment_targets(mut self, input: ::std::option::Option<crate::types::DeploymentTargets>) -> Self {
183        self.deployment_targets = input;
184        self
185    }
186    /// <p>\[Service-managed permissions\] The Organizations accounts in which to create stack instances in the specified Amazon Web Services Regions.</p>
187    /// <p>You can specify <code>Accounts</code> or <code>DeploymentTargets</code>, but not both.</p>
188    pub fn get_deployment_targets(&self) -> &::std::option::Option<crate::types::DeploymentTargets> {
189        &self.deployment_targets
190    }
191    /// Appends an item to `regions`.
192    ///
193    /// To override the contents of this collection use [`set_regions`](Self::set_regions).
194    ///
195    /// <p>The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.</p>
196    pub fn regions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
197        let mut v = self.regions.unwrap_or_default();
198        v.push(input.into());
199        self.regions = ::std::option::Option::Some(v);
200        self
201    }
202    /// <p>The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.</p>
203    pub fn set_regions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
204        self.regions = input;
205        self
206    }
207    /// <p>The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.</p>
208    pub fn get_regions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
209        &self.regions
210    }
211    /// Appends an item to `parameter_overrides`.
212    ///
213    /// To override the contents of this collection use [`set_parameter_overrides`](Self::set_parameter_overrides).
214    ///
215    /// <p>A list of StackSet parameters whose values you want to override in the selected stack instances.</p>
216    /// <p>Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance operations:</p>
217    /// <ul>
218    /// <li>
219    /// <p>To override the current value for a parameter, include the parameter and specify its value.</p></li>
220    /// <li>
221    /// <p>To leave an overridden parameter set to its present value, include the parameter and specify <code>UsePreviousValue</code> as <code>true</code>. (You can't specify both a value and set <code>UsePreviousValue</code> to <code>true</code>.)</p></li>
222    /// <li>
223    /// <p>To set an overridden parameter back to the value specified in the StackSet, specify a parameter list but don't include the parameter in the list.</p></li>
224    /// <li>
225    /// <p>To leave all parameters set to their present values, don't specify this property at all.</p></li>
226    /// </ul>
227    /// <p>During StackSet updates, any parameter values overridden for a stack instance aren't updated, but retain their overridden value.</p>
228    /// <p>You can only override the parameter <i>values</i> that are specified in the StackSet; to add or delete a parameter itself, use <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html">UpdateStackSet</a> to update the StackSet template.</p>
229    pub fn parameter_overrides(mut self, input: crate::types::Parameter) -> Self {
230        let mut v = self.parameter_overrides.unwrap_or_default();
231        v.push(input);
232        self.parameter_overrides = ::std::option::Option::Some(v);
233        self
234    }
235    /// <p>A list of StackSet parameters whose values you want to override in the selected stack instances.</p>
236    /// <p>Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance operations:</p>
237    /// <ul>
238    /// <li>
239    /// <p>To override the current value for a parameter, include the parameter and specify its value.</p></li>
240    /// <li>
241    /// <p>To leave an overridden parameter set to its present value, include the parameter and specify <code>UsePreviousValue</code> as <code>true</code>. (You can't specify both a value and set <code>UsePreviousValue</code> to <code>true</code>.)</p></li>
242    /// <li>
243    /// <p>To set an overridden parameter back to the value specified in the StackSet, specify a parameter list but don't include the parameter in the list.</p></li>
244    /// <li>
245    /// <p>To leave all parameters set to their present values, don't specify this property at all.</p></li>
246    /// </ul>
247    /// <p>During StackSet updates, any parameter values overridden for a stack instance aren't updated, but retain their overridden value.</p>
248    /// <p>You can only override the parameter <i>values</i> that are specified in the StackSet; to add or delete a parameter itself, use <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html">UpdateStackSet</a> to update the StackSet template.</p>
249    pub fn set_parameter_overrides(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Parameter>>) -> Self {
250        self.parameter_overrides = input;
251        self
252    }
253    /// <p>A list of StackSet parameters whose values you want to override in the selected stack instances.</p>
254    /// <p>Any overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance operations:</p>
255    /// <ul>
256    /// <li>
257    /// <p>To override the current value for a parameter, include the parameter and specify its value.</p></li>
258    /// <li>
259    /// <p>To leave an overridden parameter set to its present value, include the parameter and specify <code>UsePreviousValue</code> as <code>true</code>. (You can't specify both a value and set <code>UsePreviousValue</code> to <code>true</code>.)</p></li>
260    /// <li>
261    /// <p>To set an overridden parameter back to the value specified in the StackSet, specify a parameter list but don't include the parameter in the list.</p></li>
262    /// <li>
263    /// <p>To leave all parameters set to their present values, don't specify this property at all.</p></li>
264    /// </ul>
265    /// <p>During StackSet updates, any parameter values overridden for a stack instance aren't updated, but retain their overridden value.</p>
266    /// <p>You can only override the parameter <i>values</i> that are specified in the StackSet; to add or delete a parameter itself, use <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html">UpdateStackSet</a> to update the StackSet template.</p>
267    pub fn get_parameter_overrides(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Parameter>> {
268        &self.parameter_overrides
269    }
270    /// <p>Preferences for how CloudFormation performs this StackSet operation.</p>
271    pub fn operation_preferences(mut self, input: crate::types::StackSetOperationPreferences) -> Self {
272        self.operation_preferences = ::std::option::Option::Some(input);
273        self
274    }
275    /// <p>Preferences for how CloudFormation performs this StackSet operation.</p>
276    pub fn set_operation_preferences(mut self, input: ::std::option::Option<crate::types::StackSetOperationPreferences>) -> Self {
277        self.operation_preferences = input;
278        self
279    }
280    /// <p>Preferences for how CloudFormation performs this StackSet operation.</p>
281    pub fn get_operation_preferences(&self) -> &::std::option::Option<crate::types::StackSetOperationPreferences> {
282        &self.operation_preferences
283    }
284    /// <p>The unique identifier for this StackSet operation.</p>
285    /// <p>The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the StackSet operation only once, even if you retry the request multiple times. You might retry StackSet operation requests to ensure that CloudFormation successfully received them.</p>
286    /// <p>If you don't specify an operation ID, the SDK generates one automatically.</p>
287    /// <p>Repeating this StackSet operation with a new operation ID retries all stack instances whose status is <code>OUTDATED</code>.</p>
288    pub fn operation_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
289        self.operation_id = ::std::option::Option::Some(input.into());
290        self
291    }
292    /// <p>The unique identifier for this StackSet operation.</p>
293    /// <p>The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the StackSet operation only once, even if you retry the request multiple times. You might retry StackSet operation requests to ensure that CloudFormation successfully received them.</p>
294    /// <p>If you don't specify an operation ID, the SDK generates one automatically.</p>
295    /// <p>Repeating this StackSet operation with a new operation ID retries all stack instances whose status is <code>OUTDATED</code>.</p>
296    pub fn set_operation_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
297        self.operation_id = input;
298        self
299    }
300    /// <p>The unique identifier for this StackSet operation.</p>
301    /// <p>The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the StackSet operation only once, even if you retry the request multiple times. You might retry StackSet operation requests to ensure that CloudFormation successfully received them.</p>
302    /// <p>If you don't specify an operation ID, the SDK generates one automatically.</p>
303    /// <p>Repeating this StackSet operation with a new operation ID retries all stack instances whose status is <code>OUTDATED</code>.</p>
304    pub fn get_operation_id(&self) -> &::std::option::Option<::std::string::String> {
305        &self.operation_id
306    }
307    /// <p>\[Service-managed permissions\] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.</p>
308    /// <p>By default, <code>SELF</code> is specified. Use <code>SELF</code> for StackSets with self-managed permissions.</p>
309    /// <ul>
310    /// <li>
311    /// <p>If you are signed in to the management account, specify <code>SELF</code>.</p></li>
312    /// <li>
313    /// <p>If you are signed in to a delegated administrator account, specify <code>DELEGATED_ADMIN</code>.</p>
314    /// <p>Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p></li>
315    /// </ul>
316    pub fn call_as(mut self, input: crate::types::CallAs) -> Self {
317        self.call_as = ::std::option::Option::Some(input);
318        self
319    }
320    /// <p>\[Service-managed permissions\] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.</p>
321    /// <p>By default, <code>SELF</code> is specified. Use <code>SELF</code> for StackSets with self-managed permissions.</p>
322    /// <ul>
323    /// <li>
324    /// <p>If you are signed in to the management account, specify <code>SELF</code>.</p></li>
325    /// <li>
326    /// <p>If you are signed in to a delegated administrator account, specify <code>DELEGATED_ADMIN</code>.</p>
327    /// <p>Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p></li>
328    /// </ul>
329    pub fn set_call_as(mut self, input: ::std::option::Option<crate::types::CallAs>) -> Self {
330        self.call_as = input;
331        self
332    }
333    /// <p>\[Service-managed permissions\] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.</p>
334    /// <p>By default, <code>SELF</code> is specified. Use <code>SELF</code> for StackSets with self-managed permissions.</p>
335    /// <ul>
336    /// <li>
337    /// <p>If you are signed in to the management account, specify <code>SELF</code>.</p></li>
338    /// <li>
339    /// <p>If you are signed in to a delegated administrator account, specify <code>DELEGATED_ADMIN</code>.</p>
340    /// <p>Your Amazon Web Services account must be registered as a delegated administrator in the management account. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p></li>
341    /// </ul>
342    pub fn get_call_as(&self) -> &::std::option::Option<crate::types::CallAs> {
343        &self.call_as
344    }
345    /// Consumes the builder and constructs a [`CreateStackInstancesInput`](crate::operation::create_stack_instances::CreateStackInstancesInput).
346    pub fn build(
347        self,
348    ) -> ::std::result::Result<crate::operation::create_stack_instances::CreateStackInstancesInput, ::aws_smithy_types::error::operation::BuildError>
349    {
350        ::std::result::Result::Ok(crate::operation::create_stack_instances::CreateStackInstancesInput {
351            stack_set_name: self.stack_set_name,
352            accounts: self.accounts,
353            deployment_targets: self.deployment_targets,
354            regions: self.regions,
355            parameter_overrides: self.parameter_overrides,
356            operation_preferences: self.operation_preferences,
357            operation_id: self.operation_id,
358            call_as: self.call_as,
359        })
360    }
361}