You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: _workflow_execution_configuration.rs
    path of file: ./repos/aws-sdk-rust/sdk/swf/src/types
    
    the code of the file until where you have to start completion: // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The configuration settings for a workflow execution including timeout values, tasklist etc. These configuration settings are determined from the defaults specified when registering the workflow type and those specified when starting the workflow execution.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct WorkflowExecutionConfiguration {
    /// <p>The maximum duration allowed for decision tasks for this workflow execution.</p>
    /// <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
    pub task_start_to_close_timeout: ::std::string::String,
    /// <p>The total duration for this workflow execution.</p>
    /// <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
    pub execution_start_to_close_timeout: ::std::string::String,
    /// <p>The task list used for the decision tasks generated for this workflow execution.</p>
    pub task_list: ::std::option::Option<crate::types::TaskList>,
    /// <p>The priority assigned to decision tasks for this workflow execution. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-21474
    
    pub fn build(self) -> ::std::result::Result<crate::types::WorkflowExecutionConfiguration, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::WorkflowExecutionConfiguration {
            task_start_to_close_timeout: self.task_start_to_close_timeout.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "task_start_to_close_timeout",
                    "task_start_to_close_timeout was not specified but it is required when building WorkflowExecutionConfiguration",
                )
            })?,
            execution_start_to_close_timeout: self.execution_start_to_close_timeout.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "execution_start_to_close_timeout",
                    "execution_start_to_close_timeout was not specified but it is required when building WorkflowExecutionConfiguration",
                )
            })?,
            task_list: self.task_list,
            task_priority: self.task_priority,
            child_policy: self.child_policy.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "child_policy",
                    "child_policy was not specified but it is required when building WorkflowExecutionConfiguration",
                )
            })?,
            lambda_role: self.lambda_role,
        })
    }