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