// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`StartSession`](crate::operation::start_session::builders::StartSessionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`application_id(impl Into<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_application_id):<br>required: **true**<br><p>The ID of the application on which to start the session.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_client_token):<br>required: **true**<br><p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token, the server returns the successful response without performing the operation again.</p><br>
/// - [`execution_role_arn(impl Into<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_execution_role_arn):<br>required: **true**<br><p>The execution role ARN for the session. Amazon EMR Serverless uses this role to access Amazon Web Services resources on your behalf during session execution.</p><br>
/// - [`configuration_overrides(SessionConfigurationOverrides)`](crate::operation::start_session::builders::StartSessionFluentBuilder::configuration_overrides) / [`set_configuration_overrides(Option<SessionConfigurationOverrides>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_configuration_overrides):<br>required: **false**<br><p>The configuration overrides for the session. Only runtime configuration overrides are supported.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to assign to the session.</p><br>
/// - [`idle_timeout_minutes(i64)`](crate::operation::start_session::builders::StartSessionFluentBuilder::idle_timeout_minutes) / [`set_idle_timeout_minutes(Option<i64>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_idle_timeout_minutes):<br>required: **false**<br><p>The idle timeout in minutes for the session. After the session remains idle for this duration, Amazon EMR Serverless automatically terminates it.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::start_session::builders::StartSessionFluentBuilder::set_name):<br>required: **false**<br><p>The optional name for the session.</p><br>
/// - On success, responds with [`StartSessionOutput`](crate::operation::start_session::StartSessionOutput) with field(s):
/// - [`application_id(String)`](crate::operation::start_session::StartSessionOutput::application_id): <p>The output contains the application ID on which the session was started.</p>
/// - [`session_id(String)`](crate::operation::start_session::StartSessionOutput::session_id): <p>The output contains the ID of the session.</p>
/// - [`arn(String)`](crate::operation::start_session::StartSessionOutput::arn): <p>The output contains the ARN of the session.</p>
/// - On failure, responds with [`SdkError<StartSessionError>`](crate::operation::start_session::StartSessionError)
pub fn start_session(&self) -> crate::operation::start_session::builders::StartSessionFluentBuilder {
crate::operation::start_session::builders::StartSessionFluentBuilder::new(self.handle.clone())
}
}