1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`PublishVersion`](crate::operation::publish_version::builders::PublishVersionFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`function_name(impl Into<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::function_name) / [`set_function_name(Option<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::set_function_name): <p>The name of the Lambda function.</p>  <p class="title"> <b>Name formats</b> </p>  <ul>   <li> <p> <b>Function name</b> - <code>MyFunction</code>.</p> </li>   <li> <p> <b>Function ARN</b> - <code>arn:aws:lambda:us-west-2:123456789012:function:MyFunction</code>.</p> </li>   <li> <p> <b>Partial ARN</b> - <code>123456789012:function:MyFunction</code>.</p> </li>  </ul>  <p>The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>
    ///   - [`code_sha256(impl Into<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::code_sha256) / [`set_code_sha256(Option<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::set_code_sha256): <p>Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. You can get the hash for the version that you uploaded from the output of <code>UpdateFunctionCode</code>.</p>
    ///   - [`description(impl Into<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::set_description): <p>A description for the version to override the description in the function configuration.</p>
    ///   - [`revision_id(impl Into<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::revision_id) / [`set_revision_id(Option<String>)`](crate::operation::publish_version::builders::PublishVersionFluentBuilder::set_revision_id): <p>Only update the function if the revision ID matches the ID that's specified. Use this option to avoid publishing a version if the function configuration has changed since you last updated it.</p>
    /// - On success, responds with [`PublishVersionOutput`](crate::operation::publish_version::PublishVersionOutput) with field(s):
    ///   - [`function_name(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::function_name): <p>The name of the function.</p>
    ///   - [`function_arn(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::function_arn): <p>The function's Amazon Resource Name (ARN).</p>
    ///   - [`runtime(Option<Runtime>)`](crate::operation::publish_version::PublishVersionOutput::runtime): <p>The runtime environment for the Lambda function.</p>
    ///   - [`role(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::role): <p>The function's execution role.</p>
    ///   - [`handler(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::handler): <p>The function that Lambda calls to begin running your function.</p>
    ///   - [`code_size(i64)`](crate::operation::publish_version::PublishVersionOutput::code_size): <p>The size of the function's deployment package, in bytes.</p>
    ///   - [`description(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::description): <p>The function's description.</p>
    ///   - [`timeout(Option<i32>)`](crate::operation::publish_version::PublishVersionOutput::timeout): <p>The amount of time in seconds that Lambda allows a function to run before stopping it.</p>
    ///   - [`memory_size(Option<i32>)`](crate::operation::publish_version::PublishVersionOutput::memory_size): <p>The amount of memory available to the function at runtime.</p>
    ///   - [`last_modified(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::last_modified): <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>
    ///   - [`code_sha256(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::code_sha256): <p>The SHA256 hash of the function's deployment package.</p>
    ///   - [`version(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::version): <p>The version of the Lambda function.</p>
    ///   - [`vpc_config(Option<VpcConfigResponse>)`](crate::operation::publish_version::PublishVersionOutput::vpc_config): <p>The function's networking configuration.</p>
    ///   - [`dead_letter_config(Option<DeadLetterConfig>)`](crate::operation::publish_version::PublishVersionOutput::dead_letter_config): <p>The function's dead letter queue.</p>
    ///   - [`environment(Option<EnvironmentResponse>)`](crate::operation::publish_version::PublishVersionOutput::environment): <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>
    ///   - [`kms_key_arn(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::kms_key_arn): <p>The KMS key that's used to encrypt the function's environment variables. This key is returned only if you've configured a customer managed key.</p>
    ///   - [`tracing_config(Option<TracingConfigResponse>)`](crate::operation::publish_version::PublishVersionOutput::tracing_config): <p>The function's X-Ray tracing configuration.</p>
    ///   - [`master_arn(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::master_arn): <p>For Lambda@Edge functions, the ARN of the main function.</p>
    ///   - [`revision_id(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::revision_id): <p>The latest updated revision of the function or alias.</p>
    ///   - [`layers(Option<Vec<Layer>>)`](crate::operation::publish_version::PublishVersionOutput::layers): <p>The function's <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html">layers</a>.</p>
    ///   - [`state(Option<State>)`](crate::operation::publish_version::PublishVersionOutput::state): <p>The current state of the function. When the state is <code>Inactive</code>, you can reactivate the function by invoking it.</p>
    ///   - [`state_reason(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::state_reason): <p>The reason for the function's current state.</p>
    ///   - [`state_reason_code(Option<StateReasonCode>)`](crate::operation::publish_version::PublishVersionOutput::state_reason_code): <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>
    ///   - [`last_update_status(Option<LastUpdateStatus>)`](crate::operation::publish_version::PublishVersionOutput::last_update_status): <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>
    ///   - [`last_update_status_reason(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::last_update_status_reason): <p>The reason for the last update that was performed on the function.</p>
    ///   - [`last_update_status_reason_code(Option<LastUpdateStatusReasonCode>)`](crate::operation::publish_version::PublishVersionOutput::last_update_status_reason_code): <p>The reason code for the last update that was performed on the function.</p>
    ///   - [`file_system_configs(Option<Vec<FileSystemConfig>>)`](crate::operation::publish_version::PublishVersionOutput::file_system_configs): <p>Connection settings for an <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html">Amazon EFS file system</a>.</p>
    ///   - [`package_type(Option<PackageType>)`](crate::operation::publish_version::PublishVersionOutput::package_type): <p>The type of deployment package. Set to <code>Image</code> for container image and set <code>Zip</code> for .zip file archive.</p>
    ///   - [`image_config_response(Option<ImageConfigResponse>)`](crate::operation::publish_version::PublishVersionOutput::image_config_response): <p>The function's image configuration values.</p>
    ///   - [`signing_profile_version_arn(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::signing_profile_version_arn): <p>The ARN of the signing profile version.</p>
    ///   - [`signing_job_arn(Option<String>)`](crate::operation::publish_version::PublishVersionOutput::signing_job_arn): <p>The ARN of the signing job.</p>
    ///   - [`architectures(Option<Vec<Architecture>>)`](crate::operation::publish_version::PublishVersionOutput::architectures): <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>
    ///   - [`ephemeral_storage(Option<EphemeralStorage>)`](crate::operation::publish_version::PublishVersionOutput::ephemeral_storage): <p>The size of the function’s <code>/tmp</code> directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.</p>
    ///   - [`snap_start(Option<SnapStartResponse>)`](crate::operation::publish_version::PublishVersionOutput::snap_start): <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>
    ///   - [`runtime_version_config(Option<RuntimeVersionConfig>)`](crate::operation::publish_version::PublishVersionOutput::runtime_version_config): <p>The ARN of the runtime and any errors that occured.</p>
    /// - On failure, responds with [`SdkError<PublishVersionError>`](crate::operation::publish_version::PublishVersionError)
    pub fn publish_version(
        &self,
    ) -> crate::operation::publish_version::builders::PublishVersionFluentBuilder {
        crate::operation::publish_version::builders::PublishVersionFluentBuilder::new(
            self.handle.clone(),
        )
    }
}