aws_sdk_lambda/operation/update_function_configuration/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_function_configuration::_update_function_configuration_output::UpdateFunctionConfigurationOutputBuilder;
3
4pub use crate::operation::update_function_configuration::_update_function_configuration_input::UpdateFunctionConfigurationInputBuilder;
5
6impl crate::operation::update_function_configuration::builders::UpdateFunctionConfigurationInputBuilder {
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_function_configuration::UpdateFunctionConfigurationOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_function_configuration();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateFunctionConfiguration`.
24///
25/// <p>Modify the version-specific settings of a Lambda function.</p>
26/// <p>When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but you can still invoke it. The <code>LastUpdateStatus</code>, <code>LastUpdateStatusReason</code>, and <code>LastUpdateStatusReasonCode</code> fields in the response from <code>GetFunctionConfiguration</code> indicate when the update is complete and the function is processing events with the new configuration. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html">Lambda function states</a>.</p>
27/// <p>These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.</p>
28/// <p>To configure function concurrency, use <code>PutFunctionConcurrency</code>. To grant invoke permissions to an Amazon Web Services account or Amazon Web Services service, use <code>AddPermission</code>.</p>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct UpdateFunctionConfigurationFluentBuilder {
31    handle: ::std::sync::Arc<crate::client::Handle>,
32    inner: crate::operation::update_function_configuration::builders::UpdateFunctionConfigurationInputBuilder,
33    config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl
36    crate::client::customize::internal::CustomizableSend<
37        crate::operation::update_function_configuration::UpdateFunctionConfigurationOutput,
38        crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
39    > for UpdateFunctionConfigurationFluentBuilder
40{
41    fn send(
42        self,
43        config_override: crate::config::Builder,
44    ) -> crate::client::customize::internal::BoxFuture<
45        crate::client::customize::internal::SendResult<
46            crate::operation::update_function_configuration::UpdateFunctionConfigurationOutput,
47            crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
48        >,
49    > {
50        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
51    }
52}
53impl UpdateFunctionConfigurationFluentBuilder {
54    /// Creates a new `UpdateFunctionConfigurationFluentBuilder`.
55    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
56        Self {
57            handle,
58            inner: ::std::default::Default::default(),
59            config_override: ::std::option::Option::None,
60        }
61    }
62    /// Access the UpdateFunctionConfiguration as a reference.
63    pub fn as_input(&self) -> &crate::operation::update_function_configuration::builders::UpdateFunctionConfigurationInputBuilder {
64        &self.inner
65    }
66    /// Sends the request and returns the response.
67    ///
68    /// If an error occurs, an `SdkError` will be returned with additional details that
69    /// can be matched against.
70    ///
71    /// By default, any retryable failures will be retried twice. Retry behavior
72    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
73    /// set when configuring the client.
74    pub async fn send(
75        self,
76    ) -> ::std::result::Result<
77        crate::operation::update_function_configuration::UpdateFunctionConfigurationOutput,
78        ::aws_smithy_runtime_api::client::result::SdkError<
79            crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
80            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
81        >,
82    > {
83        let input = self
84            .inner
85            .build()
86            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
87        let runtime_plugins = crate::operation::update_function_configuration::UpdateFunctionConfiguration::operation_runtime_plugins(
88            self.handle.runtime_plugins.clone(),
89            &self.handle.conf,
90            self.config_override,
91        );
92        crate::operation::update_function_configuration::UpdateFunctionConfiguration::orchestrate(&runtime_plugins, input).await
93    }
94
95    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
96    pub fn customize(
97        self,
98    ) -> crate::client::customize::CustomizableOperation<
99        crate::operation::update_function_configuration::UpdateFunctionConfigurationOutput,
100        crate::operation::update_function_configuration::UpdateFunctionConfigurationError,
101        Self,
102    > {
103        crate::client::customize::CustomizableOperation::new(self)
104    }
105    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
106        self.set_config_override(::std::option::Option::Some(config_override.into()));
107        self
108    }
109
110    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
111        self.config_override = config_override;
112        self
113    }
114    /// <p>The name or ARN of the Lambda function.</p>
115    /// <p class="title"><b>Name formats</b></p>
116    /// <ul>
117    /// <li>
118    /// <p><b>Function name</b> – <code>my-function</code>.</p></li>
119    /// <li>
120    /// <p><b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p></li>
121    /// <li>
122    /// <p><b>Partial ARN</b> – <code>123456789012:function:my-function</code>.</p></li>
123    /// </ul>
124    /// <p>The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>
125    pub fn function_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
126        self.inner = self.inner.function_name(input.into());
127        self
128    }
129    /// <p>The name or ARN of the Lambda function.</p>
130    /// <p class="title"><b>Name formats</b></p>
131    /// <ul>
132    /// <li>
133    /// <p><b>Function name</b> – <code>my-function</code>.</p></li>
134    /// <li>
135    /// <p><b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p></li>
136    /// <li>
137    /// <p><b>Partial ARN</b> – <code>123456789012:function:my-function</code>.</p></li>
138    /// </ul>
139    /// <p>The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>
140    pub fn set_function_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
141        self.inner = self.inner.set_function_name(input);
142        self
143    }
144    /// <p>The name or ARN of the Lambda function.</p>
145    /// <p class="title"><b>Name formats</b></p>
146    /// <ul>
147    /// <li>
148    /// <p><b>Function name</b> – <code>my-function</code>.</p></li>
149    /// <li>
150    /// <p><b>Function ARN</b> – <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p></li>
151    /// <li>
152    /// <p><b>Partial ARN</b> – <code>123456789012:function:my-function</code>.</p></li>
153    /// </ul>
154    /// <p>The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>
155    pub fn get_function_name(&self) -> &::std::option::Option<::std::string::String> {
156        self.inner.get_function_name()
157    }
158    /// <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
159    pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
160        self.inner = self.inner.role(input.into());
161        self
162    }
163    /// <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
164    pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165        self.inner = self.inner.set_role(input);
166        self
167    }
168    /// <p>The Amazon Resource Name (ARN) of the function's execution role.</p>
169    pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
170        self.inner.get_role()
171    }
172    /// <p>The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html">Lambda programming model</a>.</p>
173    pub fn handler(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.inner = self.inner.handler(input.into());
175        self
176    }
177    /// <p>The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html">Lambda programming model</a>.</p>
178    pub fn set_handler(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.inner = self.inner.set_handler(input);
180        self
181    }
182    /// <p>The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html">Lambda programming model</a>.</p>
183    pub fn get_handler(&self) -> &::std::option::Option<::std::string::String> {
184        self.inner.get_handler()
185    }
186    /// <p>A description of the function.</p>
187    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
188        self.inner = self.inner.description(input.into());
189        self
190    }
191    /// <p>A description of the function.</p>
192    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
193        self.inner = self.inner.set_description(input);
194        self
195    }
196    /// <p>A description of the function.</p>
197    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
198        self.inner.get_description()
199    }
200    /// <p>The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda execution environment</a>.</p>
201    pub fn timeout(mut self, input: i32) -> Self {
202        self.inner = self.inner.timeout(input);
203        self
204    }
205    /// <p>The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda execution environment</a>.</p>
206    pub fn set_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
207        self.inner = self.inner.set_timeout(input);
208        self
209    }
210    /// <p>The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html">Lambda execution environment</a>.</p>
211    pub fn get_timeout(&self) -> &::std::option::Option<i32> {
212        self.inner.get_timeout()
213    }
214    /// <p>The amount of <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console">memory available to the function</a> at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.</p>
215    pub fn memory_size(mut self, input: i32) -> Self {
216        self.inner = self.inner.memory_size(input);
217        self
218    }
219    /// <p>The amount of <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console">memory available to the function</a> at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.</p>
220    pub fn set_memory_size(mut self, input: ::std::option::Option<i32>) -> Self {
221        self.inner = self.inner.set_memory_size(input);
222        self
223    }
224    /// <p>The amount of <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console">memory available to the function</a> at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.</p>
225    pub fn get_memory_size(&self) -> &::std::option::Option<i32> {
226        self.inner.get_memory_size()
227    }
228    /// <p>For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">Configuring a Lambda function to access resources in a VPC</a>.</p>
229    pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
230        self.inner = self.inner.vpc_config(input);
231        self
232    }
233    /// <p>For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">Configuring a Lambda function to access resources in a VPC</a>.</p>
234    pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
235        self.inner = self.inner.set_vpc_config(input);
236        self
237    }
238    /// <p>For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html">Configuring a Lambda function to access resources in a VPC</a>.</p>
239    pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
240        self.inner.get_vpc_config()
241    }
242    /// <p>Environment variables that are accessible from function code during execution.</p>
243    pub fn environment(mut self, input: crate::types::Environment) -> Self {
244        self.inner = self.inner.environment(input);
245        self
246    }
247    /// <p>Environment variables that are accessible from function code during execution.</p>
248    pub fn set_environment(mut self, input: ::std::option::Option<crate::types::Environment>) -> Self {
249        self.inner = self.inner.set_environment(input);
250        self
251    }
252    /// <p>Environment variables that are accessible from function code during execution.</p>
253    pub fn get_environment(&self) -> &::std::option::Option<crate::types::Environment> {
254        self.inner.get_environment()
255    }
256    /// <p>The identifier of the function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html"> runtime</a>. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.</p>
257    /// <p>The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels">Runtime use after deprecation</a>.</p>
258    /// <p>For a list of all currently supported runtimes, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported">Supported runtimes</a>.</p>
259    pub fn runtime(mut self, input: crate::types::Runtime) -> Self {
260        self.inner = self.inner.runtime(input);
261        self
262    }
263    /// <p>The identifier of the function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html"> runtime</a>. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.</p>
264    /// <p>The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels">Runtime use after deprecation</a>.</p>
265    /// <p>For a list of all currently supported runtimes, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported">Supported runtimes</a>.</p>
266    pub fn set_runtime(mut self, input: ::std::option::Option<crate::types::Runtime>) -> Self {
267        self.inner = self.inner.set_runtime(input);
268        self
269    }
270    /// <p>The identifier of the function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html"> runtime</a>. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.</p>
271    /// <p>The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels">Runtime use after deprecation</a>.</p>
272    /// <p>For a list of all currently supported runtimes, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported">Supported runtimes</a>.</p>
273    pub fn get_runtime(&self) -> &::std::option::Option<crate::types::Runtime> {
274        self.inner.get_runtime()
275    }
276    /// <p>A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq">Dead-letter queues</a>.</p>
277    pub fn dead_letter_config(mut self, input: crate::types::DeadLetterConfig) -> Self {
278        self.inner = self.inner.dead_letter_config(input);
279        self
280    }
281    /// <p>A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq">Dead-letter queues</a>.</p>
282    pub fn set_dead_letter_config(mut self, input: ::std::option::Option<crate::types::DeadLetterConfig>) -> Self {
283        self.inner = self.inner.set_dead_letter_config(input);
284        self
285    }
286    /// <p>A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq">Dead-letter queues</a>.</p>
287    pub fn get_dead_letter_config(&self) -> &::std::option::Option<crate::types::DeadLetterConfig> {
288        self.inner.get_dead_letter_config()
289    }
290    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
291    /// <ul>
292    /// <li>
293    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption">environment variables</a>.</p></li>
294    /// <li>
295    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
296    /// <li>
297    /// <p>When used with <code>SourceKMSKeyArn</code>, the unzipped version of the .zip deployment package that's used for function invocations. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption"> Specifying a customer managed key for Lambda</a>.</p></li>
298    /// <li>
299    /// <p>The optimized version of the container image that's used for function invocations. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle">Function lifecycle</a>.</p></li>
300    /// </ul>
301    /// <p>If you don't provide a customer managed key, Lambda uses an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk">Amazon Web Services owned key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a>.</p>
302    pub fn kms_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
303        self.inner = self.inner.kms_key_arn(input.into());
304        self
305    }
306    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
307    /// <ul>
308    /// <li>
309    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption">environment variables</a>.</p></li>
310    /// <li>
311    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
312    /// <li>
313    /// <p>When used with <code>SourceKMSKeyArn</code>, the unzipped version of the .zip deployment package that's used for function invocations. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption"> Specifying a customer managed key for Lambda</a>.</p></li>
314    /// <li>
315    /// <p>The optimized version of the container image that's used for function invocations. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle">Function lifecycle</a>.</p></li>
316    /// </ul>
317    /// <p>If you don't provide a customer managed key, Lambda uses an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk">Amazon Web Services owned key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a>.</p>
318    pub fn set_kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
319        self.inner = self.inner.set_kms_key_arn(input);
320        self
321    }
322    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
323    /// <ul>
324    /// <li>
325    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption">environment variables</a>.</p></li>
326    /// <li>
327    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
328    /// <li>
329    /// <p>When used with <code>SourceKMSKeyArn</code>, the unzipped version of the .zip deployment package that's used for function invocations. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/encrypt-zip-package.html#enable-zip-custom-encryption"> Specifying a customer managed key for Lambda</a>.</p></li>
330    /// <li>
331    /// <p>The optimized version of the container image that's used for function invocations. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-lifecycle">Function lifecycle</a>.</p></li>
332    /// </ul>
333    /// <p>If you don't provide a customer managed key, Lambda uses an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk">Amazon Web Services owned key</a> or an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a>.</p>
334    pub fn get_kms_key_arn(&self) -> &::std::option::Option<::std::string::String> {
335        self.inner.get_kms_key_arn()
336    }
337    /// <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of incoming requests with <a href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
338    pub fn tracing_config(mut self, input: crate::types::TracingConfig) -> Self {
339        self.inner = self.inner.tracing_config(input);
340        self
341    }
342    /// <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of incoming requests with <a href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
343    pub fn set_tracing_config(mut self, input: ::std::option::Option<crate::types::TracingConfig>) -> Self {
344        self.inner = self.inner.set_tracing_config(input);
345        self
346    }
347    /// <p>Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of incoming requests with <a href="https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html">X-Ray</a>.</p>
348    pub fn get_tracing_config(&self) -> &::std::option::Option<crate::types::TracingConfig> {
349        self.inner.get_tracing_config()
350    }
351    /// <p>Update the function only if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.</p>
352    pub fn revision_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
353        self.inner = self.inner.revision_id(input.into());
354        self
355    }
356    /// <p>Update the function only if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.</p>
357    pub fn set_revision_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
358        self.inner = self.inner.set_revision_id(input);
359        self
360    }
361    /// <p>Update the function only if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.</p>
362    pub fn get_revision_id(&self) -> &::std::option::Option<::std::string::String> {
363        self.inner.get_revision_id()
364    }
365    ///
366    /// Appends an item to `Layers`.
367    ///
368    /// To override the contents of this collection use [`set_layers`](Self::set_layers).
369    ///
370    /// <p>A list of <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function layers</a> to add to the function's execution environment. Specify each layer by its ARN, including the version.</p>
371    pub fn layers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
372        self.inner = self.inner.layers(input.into());
373        self
374    }
375    /// <p>A list of <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function layers</a> to add to the function's execution environment. Specify each layer by its ARN, including the version.</p>
376    pub fn set_layers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
377        self.inner = self.inner.set_layers(input);
378        self
379    }
380    /// <p>A list of <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">function layers</a> to add to the function's execution environment. Specify each layer by its ARN, including the version.</p>
381    pub fn get_layers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
382        self.inner.get_layers()
383    }
384    ///
385    /// Appends an item to `FileSystemConfigs`.
386    ///
387    /// To override the contents of this collection use [`set_file_system_configs`](Self::set_file_system_configs).
388    ///
389    /// <p>Connection settings for an Amazon EFS file system.</p>
390    pub fn file_system_configs(mut self, input: crate::types::FileSystemConfig) -> Self {
391        self.inner = self.inner.file_system_configs(input);
392        self
393    }
394    /// <p>Connection settings for an Amazon EFS file system.</p>
395    pub fn set_file_system_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FileSystemConfig>>) -> Self {
396        self.inner = self.inner.set_file_system_configs(input);
397        self
398    }
399    /// <p>Connection settings for an Amazon EFS file system.</p>
400    pub fn get_file_system_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FileSystemConfig>> {
401        self.inner.get_file_system_configs()
402    }
403    /// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms">Container image configuration values</a> that override the values in the container image Docker file.</p>
404    pub fn image_config(mut self, input: crate::types::ImageConfig) -> Self {
405        self.inner = self.inner.image_config(input);
406        self
407    }
408    /// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms">Container image configuration values</a> that override the values in the container image Docker file.</p>
409    pub fn set_image_config(mut self, input: ::std::option::Option<crate::types::ImageConfig>) -> Self {
410        self.inner = self.inner.set_image_config(input);
411        self
412    }
413    /// <p><a href="https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms">Container image configuration values</a> that override the values in the container image Docker file.</p>
414    pub fn get_image_config(&self) -> &::std::option::Option<crate::types::ImageConfig> {
415        self.inner.get_image_config()
416    }
417    /// <p>The size of the function's <code>/tmp</code> directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage">Configuring ephemeral storage (console)</a>.</p>
418    pub fn ephemeral_storage(mut self, input: crate::types::EphemeralStorage) -> Self {
419        self.inner = self.inner.ephemeral_storage(input);
420        self
421    }
422    /// <p>The size of the function's <code>/tmp</code> directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage">Configuring ephemeral storage (console)</a>.</p>
423    pub fn set_ephemeral_storage(mut self, input: ::std::option::Option<crate::types::EphemeralStorage>) -> Self {
424        self.inner = self.inner.set_ephemeral_storage(input);
425        self
426    }
427    /// <p>The size of the function's <code>/tmp</code> directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-ephemeral-storage">Configuring ephemeral storage (console)</a>.</p>
428    pub fn get_ephemeral_storage(&self) -> &::std::option::Option<crate::types::EphemeralStorage> {
429        self.inner.get_ephemeral_storage()
430    }
431    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">SnapStart</a> setting.</p>
432    pub fn snap_start(mut self, input: crate::types::SnapStart) -> Self {
433        self.inner = self.inner.snap_start(input);
434        self
435    }
436    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">SnapStart</a> setting.</p>
437    pub fn set_snap_start(mut self, input: ::std::option::Option<crate::types::SnapStart>) -> Self {
438        self.inner = self.inner.set_snap_start(input);
439        self
440    }
441    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">SnapStart</a> setting.</p>
442    pub fn get_snap_start(&self) -> &::std::option::Option<crate::types::SnapStart> {
443        self.inner.get_snap_start()
444    }
445    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
446    pub fn logging_config(mut self, input: crate::types::LoggingConfig) -> Self {
447        self.inner = self.inner.logging_config(input);
448        self
449    }
450    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
451    pub fn set_logging_config(mut self, input: ::std::option::Option<crate::types::LoggingConfig>) -> Self {
452        self.inner = self.inner.set_logging_config(input);
453        self
454    }
455    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
456    pub fn get_logging_config(&self) -> &::std::option::Option<crate::types::LoggingConfig> {
457        self.inner.get_logging_config()
458    }
459}