aws_sdk_lambda/operation/create_function/
_create_function_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Details about a function's configuration.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateFunctionOutput {
7    /// <p>The name of the function.</p>
8    pub function_name: ::std::option::Option<::std::string::String>,
9    /// <p>The function's Amazon Resource Name (ARN).</p>
10    pub function_arn: ::std::option::Option<::std::string::String>,
11    /// <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>
12    /// <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>
13    /// <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>
14    pub runtime: ::std::option::Option<crate::types::Runtime>,
15    /// <p>The function's execution role.</p>
16    pub role: ::std::option::Option<::std::string::String>,
17    /// <p>The function that Lambda calls to begin running your function.</p>
18    pub handler: ::std::option::Option<::std::string::String>,
19    /// <p>The size of the function's deployment package, in bytes.</p>
20    pub code_size: i64,
21    /// <p>The function's description.</p>
22    pub description: ::std::option::Option<::std::string::String>,
23    /// <p>The amount of time in seconds that Lambda allows a function to run before stopping it.</p>
24    pub timeout: ::std::option::Option<i32>,
25    /// <p>The amount of memory available to the function at runtime.</p>
26    pub memory_size: ::std::option::Option<i32>,
27    /// <p>The date and time that the function was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
28    pub last_modified: ::std::option::Option<::std::string::String>,
29    /// <p>The SHA256 hash of the function's deployment package.</p>
30    pub code_sha256: ::std::option::Option<::std::string::String>,
31    /// <p>The version of the Lambda function.</p>
32    pub version: ::std::option::Option<::std::string::String>,
33    /// <p>The function's networking configuration.</p>
34    pub vpc_config: ::std::option::Option<crate::types::VpcConfigResponse>,
35    /// <p>The function's dead letter queue.</p>
36    pub dead_letter_config: ::std::option::Option<crate::types::DeadLetterConfig>,
37    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html">environment variables</a>. Omitted from CloudTrail logs.</p>
38    pub environment: ::std::option::Option<crate::types::EnvironmentResponse>,
39    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
40    /// <ul>
41    /// <li>
42    /// <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>
43    /// <li>
44    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
45    /// <li>
46    /// <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>
47    /// <li>
48    /// <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>
49    /// </ul>
50    /// <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>
51    pub kms_key_arn: ::std::option::Option<::std::string::String>,
52    /// <p>The function's X-Ray tracing configuration.</p>
53    pub tracing_config: ::std::option::Option<crate::types::TracingConfigResponse>,
54    /// <p>For Lambda@Edge functions, the ARN of the main function.</p>
55    pub master_arn: ::std::option::Option<::std::string::String>,
56    /// <p>The latest updated revision of the function or alias.</p>
57    pub revision_id: ::std::option::Option<::std::string::String>,
58    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">layers</a>.</p>
59    pub layers: ::std::option::Option<::std::vec::Vec<crate::types::Layer>>,
60    /// <p>The current state of the function. When the state is <code>Inactive</code>, you can reactivate the function by invoking it.</p>
61    pub state: ::std::option::Option<crate::types::State>,
62    /// <p>The reason for the function's current state.</p>
63    pub state_reason: ::std::option::Option<::std::string::String>,
64    /// <p>The reason code for the function's current state. When the code is <code>Creating</code>, you can't invoke or modify the function.</p>
65    pub state_reason_code: ::std::option::Option<crate::types::StateReasonCode>,
66    /// <p>The status of the last update that was performed on the function. This is first set to <code>Successful</code> after function creation completes.</p>
67    pub last_update_status: ::std::option::Option<crate::types::LastUpdateStatus>,
68    /// <p>The reason for the last update that was performed on the function.</p>
69    pub last_update_status_reason: ::std::option::Option<::std::string::String>,
70    /// <p>The reason code for the last update that was performed on the function.</p>
71    pub last_update_status_reason_code: ::std::option::Option<crate::types::LastUpdateStatusReasonCode>,
72    /// <p>Connection settings for an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html">Amazon EFS file system</a>.</p>
73    pub file_system_configs: ::std::option::Option<::std::vec::Vec<crate::types::FileSystemConfig>>,
74    /// <p>The type of deployment package. Set to <code>Image</code> for container image and set <code>Zip</code> for .zip file archive.</p>
75    pub package_type: ::std::option::Option<crate::types::PackageType>,
76    /// <p>The function's image configuration values.</p>
77    pub image_config_response: ::std::option::Option<crate::types::ImageConfigResponse>,
78    /// <p>The ARN of the signing profile version.</p>
79    pub signing_profile_version_arn: ::std::option::Option<::std::string::String>,
80    /// <p>The ARN of the signing job.</p>
81    pub signing_job_arn: ::std::option::Option<::std::string::String>,
82    /// <p>The instruction set architecture that the function supports. Architecture is a string array with one of the valid values. The default architecture value is <code>x86_64</code>.</p>
83    pub architectures: ::std::option::Option<::std::vec::Vec<crate::types::Architecture>>,
84    /// <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>
85    pub ephemeral_storage: ::std::option::Option<crate::types::EphemeralStorage>,
86    /// <p>Set <code>ApplyOn</code> to <code>PublishedVersions</code> to create a snapshot of the initialized execution environment when you publish a function version. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">Improving startup performance with Lambda SnapStart</a>.</p>
87    pub snap_start: ::std::option::Option<crate::types::SnapStartResponse>,
88    /// <p>The ARN of the runtime and any errors that occured.</p>
89    pub runtime_version_config: ::std::option::Option<crate::types::RuntimeVersionConfig>,
90    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
91    pub logging_config: ::std::option::Option<crate::types::LoggingConfig>,
92    _request_id: Option<String>,
93}
94impl CreateFunctionOutput {
95    /// <p>The name of the function.</p>
96    pub fn function_name(&self) -> ::std::option::Option<&str> {
97        self.function_name.as_deref()
98    }
99    /// <p>The function's Amazon Resource Name (ARN).</p>
100    pub fn function_arn(&self) -> ::std::option::Option<&str> {
101        self.function_arn.as_deref()
102    }
103    /// <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>
104    /// <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>
105    /// <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>
106    pub fn runtime(&self) -> ::std::option::Option<&crate::types::Runtime> {
107        self.runtime.as_ref()
108    }
109    /// <p>The function's execution role.</p>
110    pub fn role(&self) -> ::std::option::Option<&str> {
111        self.role.as_deref()
112    }
113    /// <p>The function that Lambda calls to begin running your function.</p>
114    pub fn handler(&self) -> ::std::option::Option<&str> {
115        self.handler.as_deref()
116    }
117    /// <p>The size of the function's deployment package, in bytes.</p>
118    pub fn code_size(&self) -> i64 {
119        self.code_size
120    }
121    /// <p>The function's description.</p>
122    pub fn description(&self) -> ::std::option::Option<&str> {
123        self.description.as_deref()
124    }
125    /// <p>The amount of time in seconds that Lambda allows a function to run before stopping it.</p>
126    pub fn timeout(&self) -> ::std::option::Option<i32> {
127        self.timeout
128    }
129    /// <p>The amount of memory available to the function at runtime.</p>
130    pub fn memory_size(&self) -> ::std::option::Option<i32> {
131        self.memory_size
132    }
133    /// <p>The date and time that the function was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
134    pub fn last_modified(&self) -> ::std::option::Option<&str> {
135        self.last_modified.as_deref()
136    }
137    /// <p>The SHA256 hash of the function's deployment package.</p>
138    pub fn code_sha256(&self) -> ::std::option::Option<&str> {
139        self.code_sha256.as_deref()
140    }
141    /// <p>The version of the Lambda function.</p>
142    pub fn version(&self) -> ::std::option::Option<&str> {
143        self.version.as_deref()
144    }
145    /// <p>The function's networking configuration.</p>
146    pub fn vpc_config(&self) -> ::std::option::Option<&crate::types::VpcConfigResponse> {
147        self.vpc_config.as_ref()
148    }
149    /// <p>The function's dead letter queue.</p>
150    pub fn dead_letter_config(&self) -> ::std::option::Option<&crate::types::DeadLetterConfig> {
151        self.dead_letter_config.as_ref()
152    }
153    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html">environment variables</a>. Omitted from CloudTrail logs.</p>
154    pub fn environment(&self) -> ::std::option::Option<&crate::types::EnvironmentResponse> {
155        self.environment.as_ref()
156    }
157    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
158    /// <ul>
159    /// <li>
160    /// <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>
161    /// <li>
162    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
163    /// <li>
164    /// <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>
165    /// <li>
166    /// <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>
167    /// </ul>
168    /// <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>
169    pub fn kms_key_arn(&self) -> ::std::option::Option<&str> {
170        self.kms_key_arn.as_deref()
171    }
172    /// <p>The function's X-Ray tracing configuration.</p>
173    pub fn tracing_config(&self) -> ::std::option::Option<&crate::types::TracingConfigResponse> {
174        self.tracing_config.as_ref()
175    }
176    /// <p>For Lambda@Edge functions, the ARN of the main function.</p>
177    pub fn master_arn(&self) -> ::std::option::Option<&str> {
178        self.master_arn.as_deref()
179    }
180    /// <p>The latest updated revision of the function or alias.</p>
181    pub fn revision_id(&self) -> ::std::option::Option<&str> {
182        self.revision_id.as_deref()
183    }
184    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">layers</a>.</p>
185    ///
186    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.layers.is_none()`.
187    pub fn layers(&self) -> &[crate::types::Layer] {
188        self.layers.as_deref().unwrap_or_default()
189    }
190    /// <p>The current state of the function. When the state is <code>Inactive</code>, you can reactivate the function by invoking it.</p>
191    pub fn state(&self) -> ::std::option::Option<&crate::types::State> {
192        self.state.as_ref()
193    }
194    /// <p>The reason for the function's current state.</p>
195    pub fn state_reason(&self) -> ::std::option::Option<&str> {
196        self.state_reason.as_deref()
197    }
198    /// <p>The reason code for the function's current state. When the code is <code>Creating</code>, you can't invoke or modify the function.</p>
199    pub fn state_reason_code(&self) -> ::std::option::Option<&crate::types::StateReasonCode> {
200        self.state_reason_code.as_ref()
201    }
202    /// <p>The status of the last update that was performed on the function. This is first set to <code>Successful</code> after function creation completes.</p>
203    pub fn last_update_status(&self) -> ::std::option::Option<&crate::types::LastUpdateStatus> {
204        self.last_update_status.as_ref()
205    }
206    /// <p>The reason for the last update that was performed on the function.</p>
207    pub fn last_update_status_reason(&self) -> ::std::option::Option<&str> {
208        self.last_update_status_reason.as_deref()
209    }
210    /// <p>The reason code for the last update that was performed on the function.</p>
211    pub fn last_update_status_reason_code(&self) -> ::std::option::Option<&crate::types::LastUpdateStatusReasonCode> {
212        self.last_update_status_reason_code.as_ref()
213    }
214    /// <p>Connection settings for an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html">Amazon EFS file system</a>.</p>
215    ///
216    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.file_system_configs.is_none()`.
217    pub fn file_system_configs(&self) -> &[crate::types::FileSystemConfig] {
218        self.file_system_configs.as_deref().unwrap_or_default()
219    }
220    /// <p>The type of deployment package. Set to <code>Image</code> for container image and set <code>Zip</code> for .zip file archive.</p>
221    pub fn package_type(&self) -> ::std::option::Option<&crate::types::PackageType> {
222        self.package_type.as_ref()
223    }
224    /// <p>The function's image configuration values.</p>
225    pub fn image_config_response(&self) -> ::std::option::Option<&crate::types::ImageConfigResponse> {
226        self.image_config_response.as_ref()
227    }
228    /// <p>The ARN of the signing profile version.</p>
229    pub fn signing_profile_version_arn(&self) -> ::std::option::Option<&str> {
230        self.signing_profile_version_arn.as_deref()
231    }
232    /// <p>The ARN of the signing job.</p>
233    pub fn signing_job_arn(&self) -> ::std::option::Option<&str> {
234        self.signing_job_arn.as_deref()
235    }
236    /// <p>The instruction set architecture that the function supports. Architecture is a string array with one of the valid values. The default architecture value is <code>x86_64</code>.</p>
237    ///
238    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.architectures.is_none()`.
239    pub fn architectures(&self) -> &[crate::types::Architecture] {
240        self.architectures.as_deref().unwrap_or_default()
241    }
242    /// <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>
243    pub fn ephemeral_storage(&self) -> ::std::option::Option<&crate::types::EphemeralStorage> {
244        self.ephemeral_storage.as_ref()
245    }
246    /// <p>Set <code>ApplyOn</code> to <code>PublishedVersions</code> to create a snapshot of the initialized execution environment when you publish a function version. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">Improving startup performance with Lambda SnapStart</a>.</p>
247    pub fn snap_start(&self) -> ::std::option::Option<&crate::types::SnapStartResponse> {
248        self.snap_start.as_ref()
249    }
250    /// <p>The ARN of the runtime and any errors that occured.</p>
251    pub fn runtime_version_config(&self) -> ::std::option::Option<&crate::types::RuntimeVersionConfig> {
252        self.runtime_version_config.as_ref()
253    }
254    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
255    pub fn logging_config(&self) -> ::std::option::Option<&crate::types::LoggingConfig> {
256        self.logging_config.as_ref()
257    }
258}
259impl ::aws_types::request_id::RequestId for CreateFunctionOutput {
260    fn request_id(&self) -> Option<&str> {
261        self._request_id.as_deref()
262    }
263}
264impl CreateFunctionOutput {
265    /// Creates a new builder-style object to manufacture [`CreateFunctionOutput`](crate::operation::create_function::CreateFunctionOutput).
266    pub fn builder() -> crate::operation::create_function::builders::CreateFunctionOutputBuilder {
267        crate::operation::create_function::builders::CreateFunctionOutputBuilder::default()
268    }
269}
270
271/// A builder for [`CreateFunctionOutput`](crate::operation::create_function::CreateFunctionOutput).
272#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
273#[non_exhaustive]
274pub struct CreateFunctionOutputBuilder {
275    pub(crate) function_name: ::std::option::Option<::std::string::String>,
276    pub(crate) function_arn: ::std::option::Option<::std::string::String>,
277    pub(crate) runtime: ::std::option::Option<crate::types::Runtime>,
278    pub(crate) role: ::std::option::Option<::std::string::String>,
279    pub(crate) handler: ::std::option::Option<::std::string::String>,
280    pub(crate) code_size: ::std::option::Option<i64>,
281    pub(crate) description: ::std::option::Option<::std::string::String>,
282    pub(crate) timeout: ::std::option::Option<i32>,
283    pub(crate) memory_size: ::std::option::Option<i32>,
284    pub(crate) last_modified: ::std::option::Option<::std::string::String>,
285    pub(crate) code_sha256: ::std::option::Option<::std::string::String>,
286    pub(crate) version: ::std::option::Option<::std::string::String>,
287    pub(crate) vpc_config: ::std::option::Option<crate::types::VpcConfigResponse>,
288    pub(crate) dead_letter_config: ::std::option::Option<crate::types::DeadLetterConfig>,
289    pub(crate) environment: ::std::option::Option<crate::types::EnvironmentResponse>,
290    pub(crate) kms_key_arn: ::std::option::Option<::std::string::String>,
291    pub(crate) tracing_config: ::std::option::Option<crate::types::TracingConfigResponse>,
292    pub(crate) master_arn: ::std::option::Option<::std::string::String>,
293    pub(crate) revision_id: ::std::option::Option<::std::string::String>,
294    pub(crate) layers: ::std::option::Option<::std::vec::Vec<crate::types::Layer>>,
295    pub(crate) state: ::std::option::Option<crate::types::State>,
296    pub(crate) state_reason: ::std::option::Option<::std::string::String>,
297    pub(crate) state_reason_code: ::std::option::Option<crate::types::StateReasonCode>,
298    pub(crate) last_update_status: ::std::option::Option<crate::types::LastUpdateStatus>,
299    pub(crate) last_update_status_reason: ::std::option::Option<::std::string::String>,
300    pub(crate) last_update_status_reason_code: ::std::option::Option<crate::types::LastUpdateStatusReasonCode>,
301    pub(crate) file_system_configs: ::std::option::Option<::std::vec::Vec<crate::types::FileSystemConfig>>,
302    pub(crate) package_type: ::std::option::Option<crate::types::PackageType>,
303    pub(crate) image_config_response: ::std::option::Option<crate::types::ImageConfigResponse>,
304    pub(crate) signing_profile_version_arn: ::std::option::Option<::std::string::String>,
305    pub(crate) signing_job_arn: ::std::option::Option<::std::string::String>,
306    pub(crate) architectures: ::std::option::Option<::std::vec::Vec<crate::types::Architecture>>,
307    pub(crate) ephemeral_storage: ::std::option::Option<crate::types::EphemeralStorage>,
308    pub(crate) snap_start: ::std::option::Option<crate::types::SnapStartResponse>,
309    pub(crate) runtime_version_config: ::std::option::Option<crate::types::RuntimeVersionConfig>,
310    pub(crate) logging_config: ::std::option::Option<crate::types::LoggingConfig>,
311    _request_id: Option<String>,
312}
313impl CreateFunctionOutputBuilder {
314    /// <p>The name of the function.</p>
315    pub fn function_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
316        self.function_name = ::std::option::Option::Some(input.into());
317        self
318    }
319    /// <p>The name of the function.</p>
320    pub fn set_function_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321        self.function_name = input;
322        self
323    }
324    /// <p>The name of the function.</p>
325    pub fn get_function_name(&self) -> &::std::option::Option<::std::string::String> {
326        &self.function_name
327    }
328    /// <p>The function's Amazon Resource Name (ARN).</p>
329    pub fn function_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
330        self.function_arn = ::std::option::Option::Some(input.into());
331        self
332    }
333    /// <p>The function's Amazon Resource Name (ARN).</p>
334    pub fn set_function_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
335        self.function_arn = input;
336        self
337    }
338    /// <p>The function's Amazon Resource Name (ARN).</p>
339    pub fn get_function_arn(&self) -> &::std::option::Option<::std::string::String> {
340        &self.function_arn
341    }
342    /// <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>
343    /// <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>
344    /// <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>
345    pub fn runtime(mut self, input: crate::types::Runtime) -> Self {
346        self.runtime = ::std::option::Option::Some(input);
347        self
348    }
349    /// <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>
350    /// <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>
351    /// <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>
352    pub fn set_runtime(mut self, input: ::std::option::Option<crate::types::Runtime>) -> Self {
353        self.runtime = input;
354        self
355    }
356    /// <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>
357    /// <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>
358    /// <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>
359    pub fn get_runtime(&self) -> &::std::option::Option<crate::types::Runtime> {
360        &self.runtime
361    }
362    /// <p>The function's execution role.</p>
363    pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
364        self.role = ::std::option::Option::Some(input.into());
365        self
366    }
367    /// <p>The function's execution role.</p>
368    pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
369        self.role = input;
370        self
371    }
372    /// <p>The function's execution role.</p>
373    pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
374        &self.role
375    }
376    /// <p>The function that Lambda calls to begin running your function.</p>
377    pub fn handler(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
378        self.handler = ::std::option::Option::Some(input.into());
379        self
380    }
381    /// <p>The function that Lambda calls to begin running your function.</p>
382    pub fn set_handler(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
383        self.handler = input;
384        self
385    }
386    /// <p>The function that Lambda calls to begin running your function.</p>
387    pub fn get_handler(&self) -> &::std::option::Option<::std::string::String> {
388        &self.handler
389    }
390    /// <p>The size of the function's deployment package, in bytes.</p>
391    pub fn code_size(mut self, input: i64) -> Self {
392        self.code_size = ::std::option::Option::Some(input);
393        self
394    }
395    /// <p>The size of the function's deployment package, in bytes.</p>
396    pub fn set_code_size(mut self, input: ::std::option::Option<i64>) -> Self {
397        self.code_size = input;
398        self
399    }
400    /// <p>The size of the function's deployment package, in bytes.</p>
401    pub fn get_code_size(&self) -> &::std::option::Option<i64> {
402        &self.code_size
403    }
404    /// <p>The function's description.</p>
405    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
406        self.description = ::std::option::Option::Some(input.into());
407        self
408    }
409    /// <p>The function's description.</p>
410    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
411        self.description = input;
412        self
413    }
414    /// <p>The function's description.</p>
415    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
416        &self.description
417    }
418    /// <p>The amount of time in seconds that Lambda allows a function to run before stopping it.</p>
419    pub fn timeout(mut self, input: i32) -> Self {
420        self.timeout = ::std::option::Option::Some(input);
421        self
422    }
423    /// <p>The amount of time in seconds that Lambda allows a function to run before stopping it.</p>
424    pub fn set_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
425        self.timeout = input;
426        self
427    }
428    /// <p>The amount of time in seconds that Lambda allows a function to run before stopping it.</p>
429    pub fn get_timeout(&self) -> &::std::option::Option<i32> {
430        &self.timeout
431    }
432    /// <p>The amount of memory available to the function at runtime.</p>
433    pub fn memory_size(mut self, input: i32) -> Self {
434        self.memory_size = ::std::option::Option::Some(input);
435        self
436    }
437    /// <p>The amount of memory available to the function at runtime.</p>
438    pub fn set_memory_size(mut self, input: ::std::option::Option<i32>) -> Self {
439        self.memory_size = input;
440        self
441    }
442    /// <p>The amount of memory available to the function at runtime.</p>
443    pub fn get_memory_size(&self) -> &::std::option::Option<i32> {
444        &self.memory_size
445    }
446    /// <p>The date and time that the function was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
447    pub fn last_modified(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
448        self.last_modified = ::std::option::Option::Some(input.into());
449        self
450    }
451    /// <p>The date and time that the function was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
452    pub fn set_last_modified(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
453        self.last_modified = input;
454        self
455    }
456    /// <p>The date and time that the function was last updated, in <a href="https://www.w3.org/TR/NOTE-datetime">ISO-8601 format</a> (YYYY-MM-DDThh:mm:ss.sTZD).</p>
457    pub fn get_last_modified(&self) -> &::std::option::Option<::std::string::String> {
458        &self.last_modified
459    }
460    /// <p>The SHA256 hash of the function's deployment package.</p>
461    pub fn code_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
462        self.code_sha256 = ::std::option::Option::Some(input.into());
463        self
464    }
465    /// <p>The SHA256 hash of the function's deployment package.</p>
466    pub fn set_code_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
467        self.code_sha256 = input;
468        self
469    }
470    /// <p>The SHA256 hash of the function's deployment package.</p>
471    pub fn get_code_sha256(&self) -> &::std::option::Option<::std::string::String> {
472        &self.code_sha256
473    }
474    /// <p>The version of the Lambda function.</p>
475    pub fn version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
476        self.version = ::std::option::Option::Some(input.into());
477        self
478    }
479    /// <p>The version of the Lambda function.</p>
480    pub fn set_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
481        self.version = input;
482        self
483    }
484    /// <p>The version of the Lambda function.</p>
485    pub fn get_version(&self) -> &::std::option::Option<::std::string::String> {
486        &self.version
487    }
488    /// <p>The function's networking configuration.</p>
489    pub fn vpc_config(mut self, input: crate::types::VpcConfigResponse) -> Self {
490        self.vpc_config = ::std::option::Option::Some(input);
491        self
492    }
493    /// <p>The function's networking configuration.</p>
494    pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfigResponse>) -> Self {
495        self.vpc_config = input;
496        self
497    }
498    /// <p>The function's networking configuration.</p>
499    pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfigResponse> {
500        &self.vpc_config
501    }
502    /// <p>The function's dead letter queue.</p>
503    pub fn dead_letter_config(mut self, input: crate::types::DeadLetterConfig) -> Self {
504        self.dead_letter_config = ::std::option::Option::Some(input);
505        self
506    }
507    /// <p>The function's dead letter queue.</p>
508    pub fn set_dead_letter_config(mut self, input: ::std::option::Option<crate::types::DeadLetterConfig>) -> Self {
509        self.dead_letter_config = input;
510        self
511    }
512    /// <p>The function's dead letter queue.</p>
513    pub fn get_dead_letter_config(&self) -> &::std::option::Option<crate::types::DeadLetterConfig> {
514        &self.dead_letter_config
515    }
516    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html">environment variables</a>. Omitted from CloudTrail logs.</p>
517    pub fn environment(mut self, input: crate::types::EnvironmentResponse) -> Self {
518        self.environment = ::std::option::Option::Some(input);
519        self
520    }
521    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html">environment variables</a>. Omitted from CloudTrail logs.</p>
522    pub fn set_environment(mut self, input: ::std::option::Option<crate::types::EnvironmentResponse>) -> Self {
523        self.environment = input;
524        self
525    }
526    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html">environment variables</a>. Omitted from CloudTrail logs.</p>
527    pub fn get_environment(&self) -> &::std::option::Option<crate::types::EnvironmentResponse> {
528        &self.environment
529    }
530    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
531    /// <ul>
532    /// <li>
533    /// <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>
534    /// <li>
535    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
536    /// <li>
537    /// <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>
538    /// <li>
539    /// <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>
540    /// </ul>
541    /// <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>
542    pub fn kms_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
543        self.kms_key_arn = ::std::option::Option::Some(input.into());
544        self
545    }
546    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
547    /// <ul>
548    /// <li>
549    /// <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>
550    /// <li>
551    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
552    /// <li>
553    /// <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>
554    /// <li>
555    /// <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>
556    /// </ul>
557    /// <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>
558    pub fn set_kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
559        self.kms_key_arn = input;
560        self
561    }
562    /// <p>The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt the following resources:</p>
563    /// <ul>
564    /// <li>
565    /// <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>
566    /// <li>
567    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html">Lambda SnapStart</a> snapshots.</p></li>
568    /// <li>
569    /// <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>
570    /// <li>
571    /// <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>
572    /// </ul>
573    /// <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>
574    pub fn get_kms_key_arn(&self) -> &::std::option::Option<::std::string::String> {
575        &self.kms_key_arn
576    }
577    /// <p>The function's X-Ray tracing configuration.</p>
578    pub fn tracing_config(mut self, input: crate::types::TracingConfigResponse) -> Self {
579        self.tracing_config = ::std::option::Option::Some(input);
580        self
581    }
582    /// <p>The function's X-Ray tracing configuration.</p>
583    pub fn set_tracing_config(mut self, input: ::std::option::Option<crate::types::TracingConfigResponse>) -> Self {
584        self.tracing_config = input;
585        self
586    }
587    /// <p>The function's X-Ray tracing configuration.</p>
588    pub fn get_tracing_config(&self) -> &::std::option::Option<crate::types::TracingConfigResponse> {
589        &self.tracing_config
590    }
591    /// <p>For Lambda@Edge functions, the ARN of the main function.</p>
592    pub fn master_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
593        self.master_arn = ::std::option::Option::Some(input.into());
594        self
595    }
596    /// <p>For Lambda@Edge functions, the ARN of the main function.</p>
597    pub fn set_master_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
598        self.master_arn = input;
599        self
600    }
601    /// <p>For Lambda@Edge functions, the ARN of the main function.</p>
602    pub fn get_master_arn(&self) -> &::std::option::Option<::std::string::String> {
603        &self.master_arn
604    }
605    /// <p>The latest updated revision of the function or alias.</p>
606    pub fn revision_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
607        self.revision_id = ::std::option::Option::Some(input.into());
608        self
609    }
610    /// <p>The latest updated revision of the function or alias.</p>
611    pub fn set_revision_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
612        self.revision_id = input;
613        self
614    }
615    /// <p>The latest updated revision of the function or alias.</p>
616    pub fn get_revision_id(&self) -> &::std::option::Option<::std::string::String> {
617        &self.revision_id
618    }
619    /// Appends an item to `layers`.
620    ///
621    /// To override the contents of this collection use [`set_layers`](Self::set_layers).
622    ///
623    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">layers</a>.</p>
624    pub fn layers(mut self, input: crate::types::Layer) -> Self {
625        let mut v = self.layers.unwrap_or_default();
626        v.push(input);
627        self.layers = ::std::option::Option::Some(v);
628        self
629    }
630    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">layers</a>.</p>
631    pub fn set_layers(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Layer>>) -> Self {
632        self.layers = input;
633        self
634    }
635    /// <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">layers</a>.</p>
636    pub fn get_layers(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Layer>> {
637        &self.layers
638    }
639    /// <p>The current state of the function. When the state is <code>Inactive</code>, you can reactivate the function by invoking it.</p>
640    pub fn state(mut self, input: crate::types::State) -> Self {
641        self.state = ::std::option::Option::Some(input);
642        self
643    }
644    /// <p>The current state of the function. When the state is <code>Inactive</code>, you can reactivate the function by invoking it.</p>
645    pub fn set_state(mut self, input: ::std::option::Option<crate::types::State>) -> Self {
646        self.state = input;
647        self
648    }
649    /// <p>The current state of the function. When the state is <code>Inactive</code>, you can reactivate the function by invoking it.</p>
650    pub fn get_state(&self) -> &::std::option::Option<crate::types::State> {
651        &self.state
652    }
653    /// <p>The reason for the function's current state.</p>
654    pub fn state_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
655        self.state_reason = ::std::option::Option::Some(input.into());
656        self
657    }
658    /// <p>The reason for the function's current state.</p>
659    pub fn set_state_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
660        self.state_reason = input;
661        self
662    }
663    /// <p>The reason for the function's current state.</p>
664    pub fn get_state_reason(&self) -> &::std::option::Option<::std::string::String> {
665        &self.state_reason
666    }
667    /// <p>The reason code for the function's current state. When the code is <code>Creating</code>, you can't invoke or modify the function.</p>
668    pub fn state_reason_code(mut self, input: crate::types::StateReasonCode) -> Self {
669        self.state_reason_code = ::std::option::Option::Some(input);
670        self
671    }
672    /// <p>The reason code for the function's current state. When the code is <code>Creating</code>, you can't invoke or modify the function.</p>
673    pub fn set_state_reason_code(mut self, input: ::std::option::Option<crate::types::StateReasonCode>) -> Self {
674        self.state_reason_code = input;
675        self
676    }
677    /// <p>The reason code for the function's current state. When the code is <code>Creating</code>, you can't invoke or modify the function.</p>
678    pub fn get_state_reason_code(&self) -> &::std::option::Option<crate::types::StateReasonCode> {
679        &self.state_reason_code
680    }
681    /// <p>The status of the last update that was performed on the function. This is first set to <code>Successful</code> after function creation completes.</p>
682    pub fn last_update_status(mut self, input: crate::types::LastUpdateStatus) -> Self {
683        self.last_update_status = ::std::option::Option::Some(input);
684        self
685    }
686    /// <p>The status of the last update that was performed on the function. This is first set to <code>Successful</code> after function creation completes.</p>
687    pub fn set_last_update_status(mut self, input: ::std::option::Option<crate::types::LastUpdateStatus>) -> Self {
688        self.last_update_status = input;
689        self
690    }
691    /// <p>The status of the last update that was performed on the function. This is first set to <code>Successful</code> after function creation completes.</p>
692    pub fn get_last_update_status(&self) -> &::std::option::Option<crate::types::LastUpdateStatus> {
693        &self.last_update_status
694    }
695    /// <p>The reason for the last update that was performed on the function.</p>
696    pub fn last_update_status_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
697        self.last_update_status_reason = ::std::option::Option::Some(input.into());
698        self
699    }
700    /// <p>The reason for the last update that was performed on the function.</p>
701    pub fn set_last_update_status_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
702        self.last_update_status_reason = input;
703        self
704    }
705    /// <p>The reason for the last update that was performed on the function.</p>
706    pub fn get_last_update_status_reason(&self) -> &::std::option::Option<::std::string::String> {
707        &self.last_update_status_reason
708    }
709    /// <p>The reason code for the last update that was performed on the function.</p>
710    pub fn last_update_status_reason_code(mut self, input: crate::types::LastUpdateStatusReasonCode) -> Self {
711        self.last_update_status_reason_code = ::std::option::Option::Some(input);
712        self
713    }
714    /// <p>The reason code for the last update that was performed on the function.</p>
715    pub fn set_last_update_status_reason_code(mut self, input: ::std::option::Option<crate::types::LastUpdateStatusReasonCode>) -> Self {
716        self.last_update_status_reason_code = input;
717        self
718    }
719    /// <p>The reason code for the last update that was performed on the function.</p>
720    pub fn get_last_update_status_reason_code(&self) -> &::std::option::Option<crate::types::LastUpdateStatusReasonCode> {
721        &self.last_update_status_reason_code
722    }
723    /// Appends an item to `file_system_configs`.
724    ///
725    /// To override the contents of this collection use [`set_file_system_configs`](Self::set_file_system_configs).
726    ///
727    /// <p>Connection settings for an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html">Amazon EFS file system</a>.</p>
728    pub fn file_system_configs(mut self, input: crate::types::FileSystemConfig) -> Self {
729        let mut v = self.file_system_configs.unwrap_or_default();
730        v.push(input);
731        self.file_system_configs = ::std::option::Option::Some(v);
732        self
733    }
734    /// <p>Connection settings for an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html">Amazon EFS file system</a>.</p>
735    pub fn set_file_system_configs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FileSystemConfig>>) -> Self {
736        self.file_system_configs = input;
737        self
738    }
739    /// <p>Connection settings for an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html">Amazon EFS file system</a>.</p>
740    pub fn get_file_system_configs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FileSystemConfig>> {
741        &self.file_system_configs
742    }
743    /// <p>The type of deployment package. Set to <code>Image</code> for container image and set <code>Zip</code> for .zip file archive.</p>
744    pub fn package_type(mut self, input: crate::types::PackageType) -> Self {
745        self.package_type = ::std::option::Option::Some(input);
746        self
747    }
748    /// <p>The type of deployment package. Set to <code>Image</code> for container image and set <code>Zip</code> for .zip file archive.</p>
749    pub fn set_package_type(mut self, input: ::std::option::Option<crate::types::PackageType>) -> Self {
750        self.package_type = input;
751        self
752    }
753    /// <p>The type of deployment package. Set to <code>Image</code> for container image and set <code>Zip</code> for .zip file archive.</p>
754    pub fn get_package_type(&self) -> &::std::option::Option<crate::types::PackageType> {
755        &self.package_type
756    }
757    /// <p>The function's image configuration values.</p>
758    pub fn image_config_response(mut self, input: crate::types::ImageConfigResponse) -> Self {
759        self.image_config_response = ::std::option::Option::Some(input);
760        self
761    }
762    /// <p>The function's image configuration values.</p>
763    pub fn set_image_config_response(mut self, input: ::std::option::Option<crate::types::ImageConfigResponse>) -> Self {
764        self.image_config_response = input;
765        self
766    }
767    /// <p>The function's image configuration values.</p>
768    pub fn get_image_config_response(&self) -> &::std::option::Option<crate::types::ImageConfigResponse> {
769        &self.image_config_response
770    }
771    /// <p>The ARN of the signing profile version.</p>
772    pub fn signing_profile_version_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
773        self.signing_profile_version_arn = ::std::option::Option::Some(input.into());
774        self
775    }
776    /// <p>The ARN of the signing profile version.</p>
777    pub fn set_signing_profile_version_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
778        self.signing_profile_version_arn = input;
779        self
780    }
781    /// <p>The ARN of the signing profile version.</p>
782    pub fn get_signing_profile_version_arn(&self) -> &::std::option::Option<::std::string::String> {
783        &self.signing_profile_version_arn
784    }
785    /// <p>The ARN of the signing job.</p>
786    pub fn signing_job_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
787        self.signing_job_arn = ::std::option::Option::Some(input.into());
788        self
789    }
790    /// <p>The ARN of the signing job.</p>
791    pub fn set_signing_job_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
792        self.signing_job_arn = input;
793        self
794    }
795    /// <p>The ARN of the signing job.</p>
796    pub fn get_signing_job_arn(&self) -> &::std::option::Option<::std::string::String> {
797        &self.signing_job_arn
798    }
799    /// Appends an item to `architectures`.
800    ///
801    /// To override the contents of this collection use [`set_architectures`](Self::set_architectures).
802    ///
803    /// <p>The instruction set architecture that the function supports. Architecture is a string array with one of the valid values. The default architecture value is <code>x86_64</code>.</p>
804    pub fn architectures(mut self, input: crate::types::Architecture) -> Self {
805        let mut v = self.architectures.unwrap_or_default();
806        v.push(input);
807        self.architectures = ::std::option::Option::Some(v);
808        self
809    }
810    /// <p>The instruction set architecture that the function supports. Architecture is a string array with one of the valid values. The default architecture value is <code>x86_64</code>.</p>
811    pub fn set_architectures(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Architecture>>) -> Self {
812        self.architectures = input;
813        self
814    }
815    /// <p>The instruction set architecture that the function supports. Architecture is a string array with one of the valid values. The default architecture value is <code>x86_64</code>.</p>
816    pub fn get_architectures(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Architecture>> {
817        &self.architectures
818    }
819    /// <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>
820    pub fn ephemeral_storage(mut self, input: crate::types::EphemeralStorage) -> Self {
821        self.ephemeral_storage = ::std::option::Option::Some(input);
822        self
823    }
824    /// <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>
825    pub fn set_ephemeral_storage(mut self, input: ::std::option::Option<crate::types::EphemeralStorage>) -> Self {
826        self.ephemeral_storage = input;
827        self
828    }
829    /// <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>
830    pub fn get_ephemeral_storage(&self) -> &::std::option::Option<crate::types::EphemeralStorage> {
831        &self.ephemeral_storage
832    }
833    /// <p>Set <code>ApplyOn</code> to <code>PublishedVersions</code> to create a snapshot of the initialized execution environment when you publish a function version. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">Improving startup performance with Lambda SnapStart</a>.</p>
834    pub fn snap_start(mut self, input: crate::types::SnapStartResponse) -> Self {
835        self.snap_start = ::std::option::Option::Some(input);
836        self
837    }
838    /// <p>Set <code>ApplyOn</code> to <code>PublishedVersions</code> to create a snapshot of the initialized execution environment when you publish a function version. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">Improving startup performance with Lambda SnapStart</a>.</p>
839    pub fn set_snap_start(mut self, input: ::std::option::Option<crate::types::SnapStartResponse>) -> Self {
840        self.snap_start = input;
841        self
842    }
843    /// <p>Set <code>ApplyOn</code> to <code>PublishedVersions</code> to create a snapshot of the initialized execution environment when you publish a function version. For more information, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">Improving startup performance with Lambda SnapStart</a>.</p>
844    pub fn get_snap_start(&self) -> &::std::option::Option<crate::types::SnapStartResponse> {
845        &self.snap_start
846    }
847    /// <p>The ARN of the runtime and any errors that occured.</p>
848    pub fn runtime_version_config(mut self, input: crate::types::RuntimeVersionConfig) -> Self {
849        self.runtime_version_config = ::std::option::Option::Some(input);
850        self
851    }
852    /// <p>The ARN of the runtime and any errors that occured.</p>
853    pub fn set_runtime_version_config(mut self, input: ::std::option::Option<crate::types::RuntimeVersionConfig>) -> Self {
854        self.runtime_version_config = input;
855        self
856    }
857    /// <p>The ARN of the runtime and any errors that occured.</p>
858    pub fn get_runtime_version_config(&self) -> &::std::option::Option<crate::types::RuntimeVersionConfig> {
859        &self.runtime_version_config
860    }
861    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
862    pub fn logging_config(mut self, input: crate::types::LoggingConfig) -> Self {
863        self.logging_config = ::std::option::Option::Some(input);
864        self
865    }
866    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
867    pub fn set_logging_config(mut self, input: ::std::option::Option<crate::types::LoggingConfig>) -> Self {
868        self.logging_config = input;
869        self
870    }
871    /// <p>The function's Amazon CloudWatch Logs configuration settings.</p>
872    pub fn get_logging_config(&self) -> &::std::option::Option<crate::types::LoggingConfig> {
873        &self.logging_config
874    }
875    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
876        self._request_id = Some(request_id.into());
877        self
878    }
879
880    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
881        self._request_id = request_id;
882        self
883    }
884    /// Consumes the builder and constructs a [`CreateFunctionOutput`](crate::operation::create_function::CreateFunctionOutput).
885    pub fn build(self) -> crate::operation::create_function::CreateFunctionOutput {
886        crate::operation::create_function::CreateFunctionOutput {
887            function_name: self.function_name,
888            function_arn: self.function_arn,
889            runtime: self.runtime,
890            role: self.role,
891            handler: self.handler,
892            code_size: self.code_size.unwrap_or_default(),
893            description: self.description,
894            timeout: self.timeout,
895            memory_size: self.memory_size,
896            last_modified: self.last_modified,
897            code_sha256: self.code_sha256,
898            version: self.version,
899            vpc_config: self.vpc_config,
900            dead_letter_config: self.dead_letter_config,
901            environment: self.environment,
902            kms_key_arn: self.kms_key_arn,
903            tracing_config: self.tracing_config,
904            master_arn: self.master_arn,
905            revision_id: self.revision_id,
906            layers: self.layers,
907            state: self.state,
908            state_reason: self.state_reason,
909            state_reason_code: self.state_reason_code,
910            last_update_status: self.last_update_status,
911            last_update_status_reason: self.last_update_status_reason,
912            last_update_status_reason_code: self.last_update_status_reason_code,
913            file_system_configs: self.file_system_configs,
914            package_type: self.package_type,
915            image_config_response: self.image_config_response,
916            signing_profile_version_arn: self.signing_profile_version_arn,
917            signing_job_arn: self.signing_job_arn,
918            architectures: self.architectures,
919            ephemeral_storage: self.ephemeral_storage,
920            snap_start: self.snap_start,
921            runtime_version_config: self.runtime_version_config,
922            logging_config: self.logging_config,
923            _request_id: self._request_id,
924        }
925    }
926}