aws_sdk_opsworks/operation/update_instance/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_instance::_update_instance_output::UpdateInstanceOutputBuilder;
3
4pub use crate::operation::update_instance::_update_instance_input::UpdateInstanceInputBuilder;
5
6impl crate::operation::update_instance::builders::UpdateInstanceInputBuilder {
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::update_instance::UpdateInstanceOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_instance::UpdateInstanceError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_instance();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateInstance`.
24///
25/// <p>Updates a specified instance.</p>
26/// <p><b>Required Permissions</b>: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on 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 UpdateInstanceFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::update_instance::builders::UpdateInstanceInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::update_instance::UpdateInstanceOutput,
36        crate::operation::update_instance::UpdateInstanceError,
37    > for UpdateInstanceFluentBuilder
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::update_instance::UpdateInstanceOutput,
45            crate::operation::update_instance::UpdateInstanceError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl UpdateInstanceFluentBuilder {
52    /// Creates a new `UpdateInstanceFluentBuilder`.
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 UpdateInstance as a reference.
61    pub fn as_input(&self) -> &crate::operation::update_instance::builders::UpdateInstanceInputBuilder {
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::update_instance::UpdateInstanceOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::update_instance::UpdateInstanceError,
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::update_instance::UpdateInstance::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::update_instance::UpdateInstance::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::update_instance::UpdateInstanceOutput,
98        crate::operation::update_instance::UpdateInstanceError,
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 instance ID.</p>
113    pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.instance_id(input.into());
115        self
116    }
117    /// <p>The instance ID.</p>
118    pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.inner = self.inner.set_instance_id(input);
120        self
121    }
122    /// <p>The instance ID.</p>
123    pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> {
124        self.inner.get_instance_id()
125    }
126    ///
127    /// Appends an item to `LayerIds`.
128    ///
129    /// To override the contents of this collection use [`set_layer_ids`](Self::set_layer_ids).
130    ///
131    /// <p>The instance's layer IDs.</p>
132    pub fn layer_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133        self.inner = self.inner.layer_ids(input.into());
134        self
135    }
136    /// <p>The instance's layer IDs.</p>
137    pub fn set_layer_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
138        self.inner = self.inner.set_layer_ids(input);
139        self
140    }
141    /// <p>The instance's layer IDs.</p>
142    pub fn get_layer_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
143        self.inner.get_layer_ids()
144    }
145    /// <p>The instance type, such as <code>t2.micro</code>. For a list of supported instance types, open the stack in the console, choose <b>Instances</b>, and choose <b>+ Instance</b>. The <b>Size</b> list contains the currently supported types. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance Families and Types</a>. The parameter values that you use to specify the various types are in the <b>API Name</b> column of the <b>Available Instance Types</b> table.</p>
146    pub fn instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147        self.inner = self.inner.instance_type(input.into());
148        self
149    }
150    /// <p>The instance type, such as <code>t2.micro</code>. For a list of supported instance types, open the stack in the console, choose <b>Instances</b>, and choose <b>+ Instance</b>. The <b>Size</b> list contains the currently supported types. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance Families and Types</a>. The parameter values that you use to specify the various types are in the <b>API Name</b> column of the <b>Available Instance Types</b> table.</p>
151    pub fn set_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152        self.inner = self.inner.set_instance_type(input);
153        self
154    }
155    /// <p>The instance type, such as <code>t2.micro</code>. For a list of supported instance types, open the stack in the console, choose <b>Instances</b>, and choose <b>+ Instance</b>. The <b>Size</b> list contains the currently supported types. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance Families and Types</a>. The parameter values that you use to specify the various types are in the <b>API Name</b> column of the <b>Available Instance Types</b> table.</p>
156    pub fn get_instance_type(&self) -> &::std::option::Option<::std::string::String> {
157        self.inner.get_instance_type()
158    }
159    /// <p>For load-based or time-based instances, the type. Windows stacks can use only time-based instances.</p>
160    pub fn auto_scaling_type(mut self, input: crate::types::AutoScalingType) -> Self {
161        self.inner = self.inner.auto_scaling_type(input);
162        self
163    }
164    /// <p>For load-based or time-based instances, the type. Windows stacks can use only time-based instances.</p>
165    pub fn set_auto_scaling_type(mut self, input: ::std::option::Option<crate::types::AutoScalingType>) -> Self {
166        self.inner = self.inner.set_auto_scaling_type(input);
167        self
168    }
169    /// <p>For load-based or time-based instances, the type. Windows stacks can use only time-based instances.</p>
170    pub fn get_auto_scaling_type(&self) -> &::std::option::Option<crate::types::AutoScalingType> {
171        self.inner.get_auto_scaling_type()
172    }
173    /// <p>The instance host name. The following are character limits for instance host names.</p>
174    /// <ul>
175    /// <li>
176    /// <p>Linux-based instances: 63 characters</p></li>
177    /// <li>
178    /// <p>Windows-based instances: 15 characters</p></li>
179    /// </ul>
180    pub fn hostname(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
181        self.inner = self.inner.hostname(input.into());
182        self
183    }
184    /// <p>The instance host name. The following are character limits for instance host names.</p>
185    /// <ul>
186    /// <li>
187    /// <p>Linux-based instances: 63 characters</p></li>
188    /// <li>
189    /// <p>Windows-based instances: 15 characters</p></li>
190    /// </ul>
191    pub fn set_hostname(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
192        self.inner = self.inner.set_hostname(input);
193        self
194    }
195    /// <p>The instance host name. The following are character limits for instance host names.</p>
196    /// <ul>
197    /// <li>
198    /// <p>Linux-based instances: 63 characters</p></li>
199    /// <li>
200    /// <p>Windows-based instances: 15 characters</p></li>
201    /// </ul>
202    pub fn get_hostname(&self) -> &::std::option::Option<::std::string::String> {
203        self.inner.get_hostname()
204    }
205    /// <p>The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.</p>
206    /// <ul>
207    /// <li>
208    /// <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>
209    /// <li>
210    /// <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>
211    /// <li>
212    /// <p><code>CentOS Linux 7</code></p></li>
213    /// <li>
214    /// <p><code>Red Hat Enterprise Linux 7</code></p></li>
215    /// <li>
216    /// <p>A supported Windows operating system, such as <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>
217    /// </ul>
218    /// <p>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>
219    /// <p>The default option is the current Amazon Linux version. If you set this parameter to <code>Custom</code>, you must use the AmiId parameter to specify the custom AMI that you want to use. 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><note>
220    /// <p>You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.</p>
221    /// </note>
222    pub fn os(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
223        self.inner = self.inner.os(input.into());
224        self
225    }
226    /// <p>The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.</p>
227    /// <ul>
228    /// <li>
229    /// <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>
230    /// <li>
231    /// <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>
232    /// <li>
233    /// <p><code>CentOS Linux 7</code></p></li>
234    /// <li>
235    /// <p><code>Red Hat Enterprise Linux 7</code></p></li>
236    /// <li>
237    /// <p>A supported Windows operating system, such as <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>
238    /// </ul>
239    /// <p>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>
240    /// <p>The default option is the current Amazon Linux version. If you set this parameter to <code>Custom</code>, you must use the AmiId parameter to specify the custom AMI that you want to use. 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><note>
241    /// <p>You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.</p>
242    /// </note>
243    pub fn set_os(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
244        self.inner = self.inner.set_os(input);
245        self
246    }
247    /// <p>The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.</p>
248    /// <ul>
249    /// <li>
250    /// <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>
251    /// <li>
252    /// <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>
253    /// <li>
254    /// <p><code>CentOS Linux 7</code></p></li>
255    /// <li>
256    /// <p><code>Red Hat Enterprise Linux 7</code></p></li>
257    /// <li>
258    /// <p>A supported Windows operating system, such as <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>
259    /// </ul>
260    /// <p>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>
261    /// <p>The default option is the current Amazon Linux version. If you set this parameter to <code>Custom</code>, you must use the AmiId parameter to specify the custom AMI that you want to use. 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><note>
262    /// <p>You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.</p>
263    /// </note>
264    pub fn get_os(&self) -> &::std::option::Option<::std::string::String> {
265        self.inner.get_os()
266    }
267    /// <p>The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs.</p>
268    pub fn ami_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
269        self.inner = self.inner.ami_id(input.into());
270        self
271    }
272    /// <p>The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs.</p>
273    pub fn set_ami_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
274        self.inner = self.inner.set_ami_id(input);
275        self
276    }
277    /// <p>The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs.</p>
278    pub fn get_ami_id(&self) -> &::std::option::Option<::std::string::String> {
279        self.inner.get_ami_id()
280    }
281    /// <p>The instance's Amazon EC2 key name.</p>
282    pub fn ssh_key_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
283        self.inner = self.inner.ssh_key_name(input.into());
284        self
285    }
286    /// <p>The instance's Amazon EC2 key name.</p>
287    pub fn set_ssh_key_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
288        self.inner = self.inner.set_ssh_key_name(input);
289        self
290    }
291    /// <p>The instance's Amazon EC2 key name.</p>
292    pub fn get_ssh_key_name(&self) -> &::std::option::Option<::std::string::String> {
293        self.inner.get_ssh_key_name()
294    }
295    /// <p>The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance Families and Types</a>.</p>
296    pub fn architecture(mut self, input: crate::types::Architecture) -> Self {
297        self.inner = self.inner.architecture(input);
298        self
299    }
300    /// <p>The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance Families and Types</a>.</p>
301    pub fn set_architecture(mut self, input: ::std::option::Option<crate::types::Architecture>) -> Self {
302        self.inner = self.inner.set_architecture(input);
303        self
304    }
305    /// <p>The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance Families and Types</a>.</p>
306    pub fn get_architecture(&self) -> &::std::option::Option<crate::types::Architecture> {
307        self.inner.get_architecture()
308    }
309    /// <p>Whether to install operating system and package updates when the instance boots. The default value is <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then update your instances manually by using <code>CreateDeployment</code> to run the <code>update_dependencies</code> stack command or by manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.</p><note>
310    /// <p>We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest security updates.</p>
311    /// </note>
312    pub fn install_updates_on_boot(mut self, input: bool) -> Self {
313        self.inner = self.inner.install_updates_on_boot(input);
314        self
315    }
316    /// <p>Whether to install operating system and package updates when the instance boots. The default value is <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then update your instances manually by using <code>CreateDeployment</code> to run the <code>update_dependencies</code> stack command or by manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.</p><note>
317    /// <p>We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest security updates.</p>
318    /// </note>
319    pub fn set_install_updates_on_boot(mut self, input: ::std::option::Option<bool>) -> Self {
320        self.inner = self.inner.set_install_updates_on_boot(input);
321        self
322    }
323    /// <p>Whether to install operating system and package updates when the instance boots. The default value is <code>true</code>. To control when updates are installed, set this value to <code>false</code>. You must then update your instances manually by using <code>CreateDeployment</code> to run the <code>update_dependencies</code> stack command or by manually running <code>yum</code> (Amazon Linux) or <code>apt-get</code> (Ubuntu) on the instances.</p><note>
324    /// <p>We strongly recommend using the default value of <code>true</code>, to ensure that your instances have the latest security updates.</p>
325    /// </note>
326    pub fn get_install_updates_on_boot(&self) -> &::std::option::Option<bool> {
327        self.inner.get_install_updates_on_boot()
328    }
329    /// <p>This property cannot be updated.</p>
330    pub fn ebs_optimized(mut self, input: bool) -> Self {
331        self.inner = self.inner.ebs_optimized(input);
332        self
333    }
334    /// <p>This property cannot be updated.</p>
335    pub fn set_ebs_optimized(mut self, input: ::std::option::Option<bool>) -> Self {
336        self.inner = self.inner.set_ebs_optimized(input);
337        self
338    }
339    /// <p>This property cannot be updated.</p>
340    pub fn get_ebs_optimized(&self) -> &::std::option::Option<bool> {
341        self.inner.get_ebs_optimized()
342    }
343    /// <p>The default OpsWorks Stacks agent version. You have the following options:</p>
344    /// <ul>
345    /// <li>
346    /// <p><code>INHERIT</code> - Use the stack's default agent version setting.</p></li>
347    /// <li>
348    /// <p><i>version_number</i> - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. OpsWorks Stacks installs that version on the instance.</p></li>
349    /// </ul>
350    /// <p>The default setting is <code>INHERIT</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>.</p>
351    /// <p>AgentVersion cannot be set to Chef 12.2.</p>
352    pub fn agent_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
353        self.inner = self.inner.agent_version(input.into());
354        self
355    }
356    /// <p>The default OpsWorks Stacks agent version. You have the following options:</p>
357    /// <ul>
358    /// <li>
359    /// <p><code>INHERIT</code> - Use the stack's default agent version setting.</p></li>
360    /// <li>
361    /// <p><i>version_number</i> - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. OpsWorks Stacks installs that version on the instance.</p></li>
362    /// </ul>
363    /// <p>The default setting is <code>INHERIT</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>.</p>
364    /// <p>AgentVersion cannot be set to Chef 12.2.</p>
365    pub fn set_agent_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
366        self.inner = self.inner.set_agent_version(input);
367        self
368    }
369    /// <p>The default OpsWorks Stacks agent version. You have the following options:</p>
370    /// <ul>
371    /// <li>
372    /// <p><code>INHERIT</code> - Use the stack's default agent version setting.</p></li>
373    /// <li>
374    /// <p><i>version_number</i> - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. OpsWorks Stacks installs that version on the instance.</p></li>
375    /// </ul>
376    /// <p>The default setting is <code>INHERIT</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>.</p>
377    /// <p>AgentVersion cannot be set to Chef 12.2.</p>
378    pub fn get_agent_version(&self) -> &::std::option::Option<::std::string::String> {
379        self.inner.get_agent_version()
380    }
381}