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