aws_sdk_opsworks/operation/clone_stack/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::clone_stack::_clone_stack_output::CloneStackOutputBuilder;
3
4pub use crate::operation::clone_stack::_clone_stack_input::CloneStackInputBuilder;
5
6impl crate::operation::clone_stack::builders::CloneStackInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::clone_stack::CloneStackOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::clone_stack::CloneStackError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.clone_stack();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CloneStack`.
24///
25/// <p>Creates a clone of a specified stack. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-cloning.html">Clone a Stack</a>. By default, all parameters are set to the values used by the parent stack.</p>
26/// <p><b>Required Permissions</b>: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html">Managing User Permissions</a>.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct CloneStackFluentBuilder {
29 handle: ::std::sync::Arc<crate::client::Handle>,
30 inner: crate::operation::clone_stack::builders::CloneStackInputBuilder,
31 config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34 crate::client::customize::internal::CustomizableSend<
35 crate::operation::clone_stack::CloneStackOutput,
36 crate::operation::clone_stack::CloneStackError,
37 > for CloneStackFluentBuilder
38{
39 fn send(
40 self,
41 config_override: crate::config::Builder,
42 ) -> crate::client::customize::internal::BoxFuture<
43 crate::client::customize::internal::SendResult<
44 crate::operation::clone_stack::CloneStackOutput,
45 crate::operation::clone_stack::CloneStackError,
46 >,
47 > {
48 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49 }
50}
51impl CloneStackFluentBuilder {
52 /// Creates a new `CloneStackFluentBuilder`.
53 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54 Self {
55 handle,
56 inner: ::std::default::Default::default(),
57 config_override: ::std::option::Option::None,
58 }
59 }
60 /// Access the CloneStack as a reference.
61 pub fn as_input(&self) -> &crate::operation::clone_stack::builders::CloneStackInputBuilder {
62 &self.inner
63 }
64 /// Sends the request and returns the response.
65 ///
66 /// If an error occurs, an `SdkError` will be returned with additional details that
67 /// can be matched against.
68 ///
69 /// By default, any retryable failures will be retried twice. Retry behavior
70 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71 /// set when configuring the client.
72 pub async fn send(
73 self,
74 ) -> ::std::result::Result<
75 crate::operation::clone_stack::CloneStackOutput,
76 ::aws_smithy_runtime_api::client::result::SdkError<
77 crate::operation::clone_stack::CloneStackError,
78 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79 >,
80 > {
81 let input = self
82 .inner
83 .build()
84 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85 let runtime_plugins = crate::operation::clone_stack::CloneStack::operation_runtime_plugins(
86 self.handle.runtime_plugins.clone(),
87 &self.handle.conf,
88 self.config_override,
89 );
90 crate::operation::clone_stack::CloneStack::orchestrate(&runtime_plugins, input).await
91 }
92
93 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94 pub fn customize(
95 self,
96 ) -> crate::client::customize::CustomizableOperation<
97 crate::operation::clone_stack::CloneStackOutput,
98 crate::operation::clone_stack::CloneStackError,
99 Self,
100 > {
101 crate::client::customize::CustomizableOperation::new(self)
102 }
103 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104 self.set_config_override(::std::option::Option::Some(config_override.into()));
105 self
106 }
107
108 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109 self.config_override = config_override;
110 self
111 }
112 /// <p>The source stack ID.</p>
113 pub fn source_stack_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114 self.inner = self.inner.source_stack_id(input.into());
115 self
116 }
117 /// <p>The source stack ID.</p>
118 pub fn set_source_stack_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119 self.inner = self.inner.set_source_stack_id(input);
120 self
121 }
122 /// <p>The source stack ID.</p>
123 pub fn get_source_stack_id(&self) -> &::std::option::Option<::std::string::String> {
124 self.inner.get_source_stack_id()
125 }
126 /// <p>The cloned stack name. Stack names can be a maximum of 64 characters.</p>
127 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128 self.inner = self.inner.name(input.into());
129 self
130 }
131 /// <p>The cloned stack name. Stack names can be a maximum of 64 characters.</p>
132 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133 self.inner = self.inner.set_name(input);
134 self
135 }
136 /// <p>The cloned stack name. Stack names can be a maximum of 64 characters.</p>
137 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
138 self.inner.get_name()
139 }
140 /// <p>The cloned stack Amazon Web Services Region, such as <code>ap-northeast-2</code>. For more information about Amazon Web Services Regions, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and Endpoints</a>.</p>
141 pub fn region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142 self.inner = self.inner.region(input.into());
143 self
144 }
145 /// <p>The cloned stack Amazon Web Services Region, such as <code>ap-northeast-2</code>. For more information about Amazon Web Services Regions, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and Endpoints</a>.</p>
146 pub fn set_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147 self.inner = self.inner.set_region(input);
148 self
149 }
150 /// <p>The cloned stack Amazon Web Services Region, such as <code>ap-northeast-2</code>. For more information about Amazon Web Services Regions, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and Endpoints</a>.</p>
151 pub fn get_region(&self) -> &::std::option::Option<::std::string::String> {
152 self.inner.get_region()
153 }
154 /// <p>The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.</p>
155 /// <ul>
156 /// <li>
157 /// <p>If your account supports EC2 Classic, the default value is no VPC.</p></li>
158 /// <li>
159 /// <p>If your account does not support EC2 Classic, the default value is the default VPC for the specified region.</p></li>
160 /// </ul>
161 /// <p>If the VPC ID corresponds to a default VPC and you have specified either the <code>DefaultAvailabilityZone</code> or the <code>DefaultSubnetId</code> parameter only, OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.</p>
162 /// <p>If you specify a nondefault VPC ID, note the following:</p>
163 /// <ul>
164 /// <li>
165 /// <p>It must belong to a VPC in your account that is in the specified region.</p></li>
166 /// <li>
167 /// <p>You must specify a value for <code>DefaultSubnetId</code>.</p></li>
168 /// </ul>
169 /// <p>For more information about how to use OpsWorks Stacks with a VPC, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html">Running a Stack in a VPC</a>. For more information about default VPC and EC2 Classic, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html">Supported Platforms</a>.</p>
170 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
171 self.inner = self.inner.vpc_id(input.into());
172 self
173 }
174 /// <p>The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.</p>
175 /// <ul>
176 /// <li>
177 /// <p>If your account supports EC2 Classic, the default value is no VPC.</p></li>
178 /// <li>
179 /// <p>If your account does not support EC2 Classic, the default value is the default VPC for the specified region.</p></li>
180 /// </ul>
181 /// <p>If the VPC ID corresponds to a default VPC and you have specified either the <code>DefaultAvailabilityZone</code> or the <code>DefaultSubnetId</code> parameter only, OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.</p>
182 /// <p>If you specify a nondefault VPC ID, note the following:</p>
183 /// <ul>
184 /// <li>
185 /// <p>It must belong to a VPC in your account that is in the specified region.</p></li>
186 /// <li>
187 /// <p>You must specify a value for <code>DefaultSubnetId</code>.</p></li>
188 /// </ul>
189 /// <p>For more information about how to use OpsWorks Stacks with a VPC, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html">Running a Stack in a VPC</a>. For more information about default VPC and EC2 Classic, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html">Supported Platforms</a>.</p>
190 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
191 self.inner = self.inner.set_vpc_id(input);
192 self
193 }
194 /// <p>The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.</p>
195 /// <ul>
196 /// <li>
197 /// <p>If your account supports EC2 Classic, the default value is no VPC.</p></li>
198 /// <li>
199 /// <p>If your account does not support EC2 Classic, the default value is the default VPC for the specified region.</p></li>
200 /// </ul>
201 /// <p>If the VPC ID corresponds to a default VPC and you have specified either the <code>DefaultAvailabilityZone</code> or the <code>DefaultSubnetId</code> parameter only, OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.</p>
202 /// <p>If you specify a nondefault VPC ID, note the following:</p>
203 /// <ul>
204 /// <li>
205 /// <p>It must belong to a VPC in your account that is in the specified region.</p></li>
206 /// <li>
207 /// <p>You must specify a value for <code>DefaultSubnetId</code>.</p></li>
208 /// </ul>
209 /// <p>For more information about how to use OpsWorks Stacks with a VPC, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html">Running a Stack in a VPC</a>. For more information about default VPC and EC2 Classic, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html">Supported Platforms</a>.</p>
210 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
211 self.inner.get_vpc_id()
212 }
213 ///
214 /// Adds a key-value pair to `Attributes`.
215 ///
216 /// To override the contents of this collection use [`set_attributes`](Self::set_attributes).
217 ///
218 /// <p>A list of stack attributes and values as key/value pairs to be added to the cloned stack.</p>
219 pub fn attributes(mut self, k: crate::types::StackAttributesKeys, v: impl ::std::convert::Into<::std::string::String>) -> Self {
220 self.inner = self.inner.attributes(k, v.into());
221 self
222 }
223 /// <p>A list of stack attributes and values as key/value pairs to be added to the cloned stack.</p>
224 pub fn set_attributes(
225 mut self,
226 input: ::std::option::Option<::std::collections::HashMap<crate::types::StackAttributesKeys, ::std::string::String>>,
227 ) -> Self {
228 self.inner = self.inner.set_attributes(input);
229 self
230 }
231 /// <p>A list of stack attributes and values as key/value pairs to be added to the cloned stack.</p>
232 pub fn get_attributes(&self) -> &::std::option::Option<::std::collections::HashMap<crate::types::StackAttributesKeys, ::std::string::String>> {
233 self.inner.get_attributes()
234 }
235 /// <p>The stack Identity and Access Management (IAM) role, which allows OpsWorks Stacks to work with Amazon Web Services resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the OpsWorkss Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling <code>DescribePermissions</code>. For more information about IAM ARNs, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.</p><note>
236 /// <p>You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.</p>
237 /// </note>
238 pub fn service_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
239 self.inner = self.inner.service_role_arn(input.into());
240 self
241 }
242 /// <p>The stack Identity and Access Management (IAM) role, which allows OpsWorks Stacks to work with Amazon Web Services resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the OpsWorkss Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling <code>DescribePermissions</code>. For more information about IAM ARNs, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.</p><note>
243 /// <p>You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.</p>
244 /// </note>
245 pub fn set_service_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
246 self.inner = self.inner.set_service_role_arn(input);
247 self
248 }
249 /// <p>The stack Identity and Access Management (IAM) role, which allows OpsWorks Stacks to work with Amazon Web Services resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the OpsWorkss Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling <code>DescribePermissions</code>. For more information about IAM ARNs, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.</p><note>
250 /// <p>You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.</p>
251 /// </note>
252 pub fn get_service_role_arn(&self) -> &::std::option::Option<::std::string::String> {
253 self.inner.get_service_role_arn()
254 }
255 /// <p>The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.</p>
256 pub fn default_instance_profile_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
257 self.inner = self.inner.default_instance_profile_arn(input.into());
258 self
259 }
260 /// <p>The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.</p>
261 pub fn set_default_instance_profile_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
262 self.inner = self.inner.set_default_instance_profile_arn(input);
263 self
264 }
265 /// <p>The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html">Using Identifiers</a>.</p>
266 pub fn get_default_instance_profile_arn(&self) -> &::std::option::Option<::std::string::String> {
267 self.inner.get_default_instance_profile_arn()
268 }
269 /// <p>The stack's operating system, which must be set to one of the following.</p>
270 /// <ul>
271 /// <li>
272 /// <p>A supported Linux operating system: An Amazon Linux version, such as <code>Amazon Linux 2</code>, <code>Amazon Linux 2018.03</code>, <code>Amazon Linux 2017.09</code>, <code>Amazon Linux 2017.03</code>, <code>Amazon Linux 2016.09</code>, <code>Amazon Linux 2016.03</code>, <code>Amazon Linux 2015.09</code>, or <code>Amazon Linux 2015.03</code>.</p></li>
273 /// <li>
274 /// <p>A supported Ubuntu operating system, such as <code>Ubuntu 18.04 LTS</code>, <code>Ubuntu 16.04 LTS</code>, <code>Ubuntu 14.04 LTS</code>, or <code>Ubuntu 12.04 LTS</code>.</p></li>
275 /// <li>
276 /// <p><code>CentOS Linux 7</code></p></li>
277 /// <li>
278 /// <p><code>Red Hat Enterprise Linux 7</code></p></li>
279 /// <li>
280 /// <p><code>Microsoft Windows Server 2012 R2 Base</code>, <code>Microsoft Windows Server 2012 R2 with SQL Server Express</code>, <code>Microsoft Windows Server 2012 R2 with SQL Server Standard</code>, or <code>Microsoft Windows Server 2012 R2 with SQL Server Web</code>.</p></li>
281 /// <li>
282 /// <p>A custom AMI: <code>Custom</code>. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html">Using Custom AMIs</a>.</p></li>
283 /// </ul>
284 /// <p>The default option is the parent stack's operating system. Not all operating systems are supported with all versions of Chef. For more information about supported operating systems, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html">OpsWorks Stacks Operating Systems</a>.</p><note>
285 /// <p>You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.</p>
286 /// </note>
287 pub fn default_os(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
288 self.inner = self.inner.default_os(input.into());
289 self
290 }
291 /// <p>The stack's operating system, which must be set to one of the following.</p>
292 /// <ul>
293 /// <li>
294 /// <p>A supported Linux operating system: An Amazon Linux version, such as <code>Amazon Linux 2</code>, <code>Amazon Linux 2018.03</code>, <code>Amazon Linux 2017.09</code>, <code>Amazon Linux 2017.03</code>, <code>Amazon Linux 2016.09</code>, <code>Amazon Linux 2016.03</code>, <code>Amazon Linux 2015.09</code>, or <code>Amazon Linux 2015.03</code>.</p></li>
295 /// <li>
296 /// <p>A supported Ubuntu operating system, such as <code>Ubuntu 18.04 LTS</code>, <code>Ubuntu 16.04 LTS</code>, <code>Ubuntu 14.04 LTS</code>, or <code>Ubuntu 12.04 LTS</code>.</p></li>
297 /// <li>
298 /// <p><code>CentOS Linux 7</code></p></li>
299 /// <li>
300 /// <p><code>Red Hat Enterprise Linux 7</code></p></li>
301 /// <li>
302 /// <p><code>Microsoft Windows Server 2012 R2 Base</code>, <code>Microsoft Windows Server 2012 R2 with SQL Server Express</code>, <code>Microsoft Windows Server 2012 R2 with SQL Server Standard</code>, or <code>Microsoft Windows Server 2012 R2 with SQL Server Web</code>.</p></li>
303 /// <li>
304 /// <p>A custom AMI: <code>Custom</code>. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html">Using Custom AMIs</a>.</p></li>
305 /// </ul>
306 /// <p>The default option is the parent stack's operating system. Not all operating systems are supported with all versions of Chef. For more information about supported operating systems, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html">OpsWorks Stacks Operating Systems</a>.</p><note>
307 /// <p>You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.</p>
308 /// </note>
309 pub fn set_default_os(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
310 self.inner = self.inner.set_default_os(input);
311 self
312 }
313 /// <p>The stack's operating system, which must be set to one of the following.</p>
314 /// <ul>
315 /// <li>
316 /// <p>A supported Linux operating system: An Amazon Linux version, such as <code>Amazon Linux 2</code>, <code>Amazon Linux 2018.03</code>, <code>Amazon Linux 2017.09</code>, <code>Amazon Linux 2017.03</code>, <code>Amazon Linux 2016.09</code>, <code>Amazon Linux 2016.03</code>, <code>Amazon Linux 2015.09</code>, or <code>Amazon Linux 2015.03</code>.</p></li>
317 /// <li>
318 /// <p>A supported Ubuntu operating system, such as <code>Ubuntu 18.04 LTS</code>, <code>Ubuntu 16.04 LTS</code>, <code>Ubuntu 14.04 LTS</code>, or <code>Ubuntu 12.04 LTS</code>.</p></li>
319 /// <li>
320 /// <p><code>CentOS Linux 7</code></p></li>
321 /// <li>
322 /// <p><code>Red Hat Enterprise Linux 7</code></p></li>
323 /// <li>
324 /// <p><code>Microsoft Windows Server 2012 R2 Base</code>, <code>Microsoft Windows Server 2012 R2 with SQL Server Express</code>, <code>Microsoft Windows Server 2012 R2 with SQL Server Standard</code>, or <code>Microsoft Windows Server 2012 R2 with SQL Server Web</code>.</p></li>
325 /// <li>
326 /// <p>A custom AMI: <code>Custom</code>. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html">Using Custom AMIs</a>.</p></li>
327 /// </ul>
328 /// <p>The default option is the parent stack's operating system. Not all operating systems are supported with all versions of Chef. For more information about supported operating systems, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html">OpsWorks Stacks Operating Systems</a>.</p><note>
329 /// <p>You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.</p>
330 /// </note>
331 pub fn get_default_os(&self) -> &::std::option::Option<::std::string::String> {
332 self.inner.get_default_os()
333 }
334 /// <p>The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, <code>HostnameTheme</code> is set to <code>Layer_Dependent</code>, which creates host names by appending integers to the layer's short name. The other themes are:</p>
335 /// <ul>
336 /// <li>
337 /// <p><code>Baked_Goods</code></p></li>
338 /// <li>
339 /// <p><code>Clouds</code></p></li>
340 /// <li>
341 /// <p><code>Europe_Cities</code></p></li>
342 /// <li>
343 /// <p><code>Fruits</code></p></li>
344 /// <li>
345 /// <p><code>Greek_Deities_and_Titans</code></p></li>
346 /// <li>
347 /// <p><code>Legendary_creatures_from_Japan</code></p></li>
348 /// <li>
349 /// <p><code>Planets_and_Moons</code></p></li>
350 /// <li>
351 /// <p><code>Roman_Deities</code></p></li>
352 /// <li>
353 /// <p><code>Scottish_Islands</code></p></li>
354 /// <li>
355 /// <p><code>US_Cities</code></p></li>
356 /// <li>
357 /// <p><code>Wild_Cats</code></p></li>
358 /// </ul>
359 /// <p>To obtain a generated host name, call <code>GetHostNameSuggestion</code>, which returns a host name based on the current theme.</p>
360 pub fn hostname_theme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
361 self.inner = self.inner.hostname_theme(input.into());
362 self
363 }
364 /// <p>The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, <code>HostnameTheme</code> is set to <code>Layer_Dependent</code>, which creates host names by appending integers to the layer's short name. The other themes are:</p>
365 /// <ul>
366 /// <li>
367 /// <p><code>Baked_Goods</code></p></li>
368 /// <li>
369 /// <p><code>Clouds</code></p></li>
370 /// <li>
371 /// <p><code>Europe_Cities</code></p></li>
372 /// <li>
373 /// <p><code>Fruits</code></p></li>
374 /// <li>
375 /// <p><code>Greek_Deities_and_Titans</code></p></li>
376 /// <li>
377 /// <p><code>Legendary_creatures_from_Japan</code></p></li>
378 /// <li>
379 /// <p><code>Planets_and_Moons</code></p></li>
380 /// <li>
381 /// <p><code>Roman_Deities</code></p></li>
382 /// <li>
383 /// <p><code>Scottish_Islands</code></p></li>
384 /// <li>
385 /// <p><code>US_Cities</code></p></li>
386 /// <li>
387 /// <p><code>Wild_Cats</code></p></li>
388 /// </ul>
389 /// <p>To obtain a generated host name, call <code>GetHostNameSuggestion</code>, which returns a host name based on the current theme.</p>
390 pub fn set_hostname_theme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
391 self.inner = self.inner.set_hostname_theme(input);
392 self
393 }
394 /// <p>The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, <code>HostnameTheme</code> is set to <code>Layer_Dependent</code>, which creates host names by appending integers to the layer's short name. The other themes are:</p>
395 /// <ul>
396 /// <li>
397 /// <p><code>Baked_Goods</code></p></li>
398 /// <li>
399 /// <p><code>Clouds</code></p></li>
400 /// <li>
401 /// <p><code>Europe_Cities</code></p></li>
402 /// <li>
403 /// <p><code>Fruits</code></p></li>
404 /// <li>
405 /// <p><code>Greek_Deities_and_Titans</code></p></li>
406 /// <li>
407 /// <p><code>Legendary_creatures_from_Japan</code></p></li>
408 /// <li>
409 /// <p><code>Planets_and_Moons</code></p></li>
410 /// <li>
411 /// <p><code>Roman_Deities</code></p></li>
412 /// <li>
413 /// <p><code>Scottish_Islands</code></p></li>
414 /// <li>
415 /// <p><code>US_Cities</code></p></li>
416 /// <li>
417 /// <p><code>Wild_Cats</code></p></li>
418 /// </ul>
419 /// <p>To obtain a generated host name, call <code>GetHostNameSuggestion</code>, which returns a host name based on the current theme.</p>
420 pub fn get_hostname_theme(&self) -> &::std::option::Option<::std::string::String> {
421 self.inner.get_hostname_theme()
422 }
423 /// <p>The cloned stack's default Availability Zone, which must be in the specified region. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and Endpoints</a>. If you also specify a value for <code>DefaultSubnetId</code>, the subnet must be in the same zone. For more information, see the <code>VpcId</code> parameter description.</p>
424 pub fn default_availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
425 self.inner = self.inner.default_availability_zone(input.into());
426 self
427 }
428 /// <p>The cloned stack's default Availability Zone, which must be in the specified region. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and Endpoints</a>. If you also specify a value for <code>DefaultSubnetId</code>, the subnet must be in the same zone. For more information, see the <code>VpcId</code> parameter description.</p>
429 pub fn set_default_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
430 self.inner = self.inner.set_default_availability_zone(input);
431 self
432 }
433 /// <p>The cloned stack's default Availability Zone, which must be in the specified region. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html">Regions and Endpoints</a>. If you also specify a value for <code>DefaultSubnetId</code>, the subnet must be in the same zone. For more information, see the <code>VpcId</code> parameter description.</p>
434 pub fn get_default_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
435 self.inner.get_default_availability_zone()
436 }
437 /// <p>The stack's default VPC subnet ID. This parameter is required if you specify a value for the <code>VpcId</code> parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for <code>DefaultAvailabilityZone</code>, the subnet must be in that zone. For information on default values and when this parameter is required, see the <code>VpcId</code> parameter description.</p>
438 pub fn default_subnet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
439 self.inner = self.inner.default_subnet_id(input.into());
440 self
441 }
442 /// <p>The stack's default VPC subnet ID. This parameter is required if you specify a value for the <code>VpcId</code> parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for <code>DefaultAvailabilityZone</code>, the subnet must be in that zone. For information on default values and when this parameter is required, see the <code>VpcId</code> parameter description.</p>
443 pub fn set_default_subnet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
444 self.inner = self.inner.set_default_subnet_id(input);
445 self
446 }
447 /// <p>The stack's default VPC subnet ID. This parameter is required if you specify a value for the <code>VpcId</code> parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for <code>DefaultAvailabilityZone</code>, the subnet must be in that zone. For information on default values and when this parameter is required, see the <code>VpcId</code> parameter description.</p>
448 pub fn get_default_subnet_id(&self) -> &::std::option::Option<::std::string::String> {
449 self.inner.get_default_subnet_id()
450 }
451 /// <p>A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:</p>
452 /// <p><code>"{\"key1\": \"value1\", \"key2\": \"value2\",...}"</code></p>
453 /// <p>For more information about custom JSON, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html">Use Custom JSON to Modify the Stack Configuration Attributes</a></p>
454 pub fn custom_json(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
455 self.inner = self.inner.custom_json(input.into());
456 self
457 }
458 /// <p>A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:</p>
459 /// <p><code>"{\"key1\": \"value1\", \"key2\": \"value2\",...}"</code></p>
460 /// <p>For more information about custom JSON, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html">Use Custom JSON to Modify the Stack Configuration Attributes</a></p>
461 pub fn set_custom_json(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
462 self.inner = self.inner.set_custom_json(input);
463 self
464 }
465 /// <p>A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:</p>
466 /// <p><code>"{\"key1\": \"value1\", \"key2\": \"value2\",...}"</code></p>
467 /// <p>For more information about custom JSON, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html">Use Custom JSON to Modify the Stack Configuration Attributes</a></p>
468 pub fn get_custom_json(&self) -> &::std::option::Option<::std::string::String> {
469 self.inner.get_custom_json()
470 }
471 /// <p>The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.</p>
472 pub fn configuration_manager(mut self, input: crate::types::StackConfigurationManager) -> Self {
473 self.inner = self.inner.configuration_manager(input);
474 self
475 }
476 /// <p>The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.</p>
477 pub fn set_configuration_manager(mut self, input: ::std::option::Option<crate::types::StackConfigurationManager>) -> Self {
478 self.inner = self.inner.set_configuration_manager(input);
479 self
480 }
481 /// <p>The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.</p>
482 pub fn get_configuration_manager(&self) -> &::std::option::Option<crate::types::StackConfigurationManager> {
483 self.inner.get_configuration_manager()
484 }
485 /// <p>A <code>ChefConfiguration</code> object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html">Create a New Stack</a>.</p>
486 pub fn chef_configuration(mut self, input: crate::types::ChefConfiguration) -> Self {
487 self.inner = self.inner.chef_configuration(input);
488 self
489 }
490 /// <p>A <code>ChefConfiguration</code> object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html">Create a New Stack</a>.</p>
491 pub fn set_chef_configuration(mut self, input: ::std::option::Option<crate::types::ChefConfiguration>) -> Self {
492 self.inner = self.inner.set_chef_configuration(input);
493 self
494 }
495 /// <p>A <code>ChefConfiguration</code> object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html">Create a New Stack</a>.</p>
496 pub fn get_chef_configuration(&self) -> &::std::option::Option<crate::types::ChefConfiguration> {
497 self.inner.get_chef_configuration()
498 }
499 /// <p>Whether to use custom cookbooks.</p>
500 pub fn use_custom_cookbooks(mut self, input: bool) -> Self {
501 self.inner = self.inner.use_custom_cookbooks(input);
502 self
503 }
504 /// <p>Whether to use custom cookbooks.</p>
505 pub fn set_use_custom_cookbooks(mut self, input: ::std::option::Option<bool>) -> Self {
506 self.inner = self.inner.set_use_custom_cookbooks(input);
507 self
508 }
509 /// <p>Whether to use custom cookbooks.</p>
510 pub fn get_use_custom_cookbooks(&self) -> &::std::option::Option<bool> {
511 self.inner.get_use_custom_cookbooks()
512 }
513 /// <p>Whether to associate the OpsWorks Stacks built-in security groups with the stack's layers.</p>
514 /// <p>OpsWorks Stacks provides a standard set of security groups, one for each layer, which are associated with layers by default. With <code>UseOpsworksSecurityGroups</code> you can instead provide your own custom security groups. <code>UseOpsworksSecurityGroups</code> has the following settings:</p>
515 /// <ul>
516 /// <li>
517 /// <p>True - OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.</p></li>
518 /// <li>
519 /// <p>False - OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.</p></li>
520 /// </ul>
521 /// <p>For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html">Create a New Stack</a>.</p>
522 pub fn use_opsworks_security_groups(mut self, input: bool) -> Self {
523 self.inner = self.inner.use_opsworks_security_groups(input);
524 self
525 }
526 /// <p>Whether to associate the OpsWorks Stacks built-in security groups with the stack's layers.</p>
527 /// <p>OpsWorks Stacks provides a standard set of security groups, one for each layer, which are associated with layers by default. With <code>UseOpsworksSecurityGroups</code> you can instead provide your own custom security groups. <code>UseOpsworksSecurityGroups</code> has the following settings:</p>
528 /// <ul>
529 /// <li>
530 /// <p>True - OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.</p></li>
531 /// <li>
532 /// <p>False - OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.</p></li>
533 /// </ul>
534 /// <p>For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html">Create a New Stack</a>.</p>
535 pub fn set_use_opsworks_security_groups(mut self, input: ::std::option::Option<bool>) -> Self {
536 self.inner = self.inner.set_use_opsworks_security_groups(input);
537 self
538 }
539 /// <p>Whether to associate the OpsWorks Stacks built-in security groups with the stack's layers.</p>
540 /// <p>OpsWorks Stacks provides a standard set of security groups, one for each layer, which are associated with layers by default. With <code>UseOpsworksSecurityGroups</code> you can instead provide your own custom security groups. <code>UseOpsworksSecurityGroups</code> has the following settings:</p>
541 /// <ul>
542 /// <li>
543 /// <p>True - OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.</p></li>
544 /// <li>
545 /// <p>False - OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.</p></li>
546 /// </ul>
547 /// <p>For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html">Create a New Stack</a>.</p>
548 pub fn get_use_opsworks_security_groups(&self) -> &::std::option::Option<bool> {
549 self.inner.get_use_opsworks_security_groups()
550 }
551 /// <p>Contains the information required to retrieve an app or cookbook from a repository. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html">Adding Apps</a> or <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html">Cookbooks and Recipes</a>.</p>
552 pub fn custom_cookbooks_source(mut self, input: crate::types::Source) -> Self {
553 self.inner = self.inner.custom_cookbooks_source(input);
554 self
555 }
556 /// <p>Contains the information required to retrieve an app or cookbook from a repository. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html">Adding Apps</a> or <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html">Cookbooks and Recipes</a>.</p>
557 pub fn set_custom_cookbooks_source(mut self, input: ::std::option::Option<crate::types::Source>) -> Self {
558 self.inner = self.inner.set_custom_cookbooks_source(input);
559 self
560 }
561 /// <p>Contains the information required to retrieve an app or cookbook from a repository. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html">Adding Apps</a> or <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html">Cookbooks and Recipes</a>.</p>
562 pub fn get_custom_cookbooks_source(&self) -> &::std::option::Option<crate::types::Source> {
563 self.inner.get_custom_cookbooks_source()
564 }
565 /// <p>A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html"> Using SSH to Communicate with an Instance</a> and <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html"> Managing SSH Access</a>. You can override this setting by specifying a different key pair, or no key pair, when you <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html"> create an instance</a>.</p>
566 pub fn default_ssh_key_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
567 self.inner = self.inner.default_ssh_key_name(input.into());
568 self
569 }
570 /// <p>A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html"> Using SSH to Communicate with an Instance</a> and <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html"> Managing SSH Access</a>. You can override this setting by specifying a different key pair, or no key pair, when you <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html"> create an instance</a>.</p>
571 pub fn set_default_ssh_key_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
572 self.inner = self.inner.set_default_ssh_key_name(input);
573 self
574 }
575 /// <p>A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html"> Using SSH to Communicate with an Instance</a> and <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html"> Managing SSH Access</a>. You can override this setting by specifying a different key pair, or no key pair, when you <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html"> create an instance</a>.</p>
576 pub fn get_default_ssh_key_name(&self) -> &::std::option::Option<::std::string::String> {
577 self.inner.get_default_ssh_key_name()
578 }
579 /// <p>Whether to clone the source stack's permissions.</p>
580 pub fn clone_permissions(mut self, input: bool) -> Self {
581 self.inner = self.inner.clone_permissions(input);
582 self
583 }
584 /// <p>Whether to clone the source stack's permissions.</p>
585 pub fn set_clone_permissions(mut self, input: ::std::option::Option<bool>) -> Self {
586 self.inner = self.inner.set_clone_permissions(input);
587 self
588 }
589 /// <p>Whether to clone the source stack's permissions.</p>
590 pub fn get_clone_permissions(&self) -> &::std::option::Option<bool> {
591 self.inner.get_clone_permissions()
592 }
593 ///
594 /// Appends an item to `CloneAppIds`.
595 ///
596 /// To override the contents of this collection use [`set_clone_app_ids`](Self::set_clone_app_ids).
597 ///
598 /// <p>A list of source stack app IDs to be included in the cloned stack.</p>
599 pub fn clone_app_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
600 self.inner = self.inner.clone_app_ids(input.into());
601 self
602 }
603 /// <p>A list of source stack app IDs to be included in the cloned stack.</p>
604 pub fn set_clone_app_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
605 self.inner = self.inner.set_clone_app_ids(input);
606 self
607 }
608 /// <p>A list of source stack app IDs to be included in the cloned stack.</p>
609 pub fn get_clone_app_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
610 self.inner.get_clone_app_ids()
611 }
612 /// <p>The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device">Storage for the Root Device</a>.</p>
613 pub fn default_root_device_type(mut self, input: crate::types::RootDeviceType) -> Self {
614 self.inner = self.inner.default_root_device_type(input);
615 self
616 }
617 /// <p>The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device">Storage for the Root Device</a>.</p>
618 pub fn set_default_root_device_type(mut self, input: ::std::option::Option<crate::types::RootDeviceType>) -> Self {
619 self.inner = self.inner.set_default_root_device_type(input);
620 self
621 }
622 /// <p>The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device">Storage for the Root Device</a>.</p>
623 pub fn get_default_root_device_type(&self) -> &::std::option::Option<crate::types::RootDeviceType> {
624 self.inner.get_default_root_device_type()
625 }
626 /// <p>The default OpsWorks Stacks agent version. You have the following options:</p>
627 /// <ul>
628 /// <li>
629 /// <p>Auto-update - Set this parameter to <code>LATEST</code>. OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.</p></li>
630 /// <li>
631 /// <p>Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. OpsWorks Stacks automatically installs that version on the stack's instances.</p></li>
632 /// </ul>
633 /// <p>The default setting is <code>LATEST</code>. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call <code>DescribeAgentVersions</code>. AgentVersion cannot be set to Chef 12.2.</p><note>
634 /// <p>You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.</p>
635 /// </note>
636 pub fn agent_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
637 self.inner = self.inner.agent_version(input.into());
638 self
639 }
640 /// <p>The default OpsWorks Stacks agent version. You have the following options:</p>
641 /// <ul>
642 /// <li>
643 /// <p>Auto-update - Set this parameter to <code>LATEST</code>. OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.</p></li>
644 /// <li>
645 /// <p>Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. OpsWorks Stacks automatically installs that version on the stack's instances.</p></li>
646 /// </ul>
647 /// <p>The default setting is <code>LATEST</code>. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call <code>DescribeAgentVersions</code>. AgentVersion cannot be set to Chef 12.2.</p><note>
648 /// <p>You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.</p>
649 /// </note>
650 pub fn set_agent_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
651 self.inner = self.inner.set_agent_version(input);
652 self
653 }
654 /// <p>The default OpsWorks Stacks agent version. You have the following options:</p>
655 /// <ul>
656 /// <li>
657 /// <p>Auto-update - Set this parameter to <code>LATEST</code>. OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.</p></li>
658 /// <li>
659 /// <p>Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. OpsWorks Stacks automatically installs that version on the stack's instances.</p></li>
660 /// </ul>
661 /// <p>The default setting is <code>LATEST</code>. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call <code>DescribeAgentVersions</code>. AgentVersion cannot be set to Chef 12.2.</p><note>
662 /// <p>You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.</p>
663 /// </note>
664 pub fn get_agent_version(&self) -> &::std::option::Option<::std::string::String> {
665 self.inner.get_agent_version()
666 }
667}