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}