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