// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateBrowser`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_name):<br>required: **true**<br><p>The name of the browser. The name must be unique within your account.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_description):<br>required: **false**<br><p>The description of the browser.</p><br>
/// - [`execution_role_arn(impl Into<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_execution_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the browser to access Amazon Web Services services.</p><br>
/// - [`network_configuration(BrowserNetworkConfiguration)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::network_configuration) / [`set_network_configuration(Option<BrowserNetworkConfiguration>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_network_configuration):<br>required: **true**<br><p>The network configuration for the browser. This configuration specifies the network mode for the browser.</p><br>
/// - [`recording(RecordingConfig)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::recording) / [`set_recording(Option<RecordingConfig>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_recording):<br>required: **false**<br><p>The recording configuration for the browser. When enabled, browser sessions are recorded and stored in the specified Amazon S3 location.</p><br>
/// - [`browser_signing(BrowserSigningConfigInput)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::browser_signing) / [`set_browser_signing(Option<BrowserSigningConfigInput>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_browser_signing):<br>required: **false**<br><p>The browser signing configuration that enables cryptographic agent identification using HTTP message signatures for web bot authentication.</p><br>
/// - [`enterprise_policies(BrowserEnterprisePolicy)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::enterprise_policies) / [`set_enterprise_policies(Option<Vec::<BrowserEnterprisePolicy>>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_enterprise_policies):<br>required: **false**<br><p>A list of enterprise policy files for the browser.</p><br>
/// - [`certificates(Certificate)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::certificates) / [`set_certificates(Option<Vec::<Certificate>>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_certificates):<br>required: **false**<br><p>A list of certificates to install in the browser.</p><br>
/// - [`filesystem_configurations(ToolsFileSystemConfiguration)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::filesystem_configurations) / [`set_filesystem_configurations(Option<Vec::<ToolsFileSystemConfiguration>>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_filesystem_configurations):<br>required: **false**<br><p>The file system configurations to mount into the browser. Use these configurations to mount your own Amazon Simple Storage Service (Amazon S3) Files or Amazon Elastic File System (Amazon EFS) access points. Your sessions can then access your data. If you don't specify this field, no file systems are mounted.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock AgentCore ignores the request but does not return an error.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_browser::builders::CreateBrowserFluentBuilder::set_tags):<br>required: **false**<br><p>A map of tag keys and values to assign to the browser. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.</p><br>
/// - On success, responds with [`CreateBrowserOutput`](crate::operation::create_browser::CreateBrowserOutput) with field(s):
/// - [`browser_id(String)`](crate::operation::create_browser::CreateBrowserOutput::browser_id): <p>The unique identifier of the created browser.</p>
/// - [`browser_arn(String)`](crate::operation::create_browser::CreateBrowserOutput::browser_arn): <p>The Amazon Resource Name (ARN) of the created browser.</p>
/// - [`created_at(DateTime)`](crate::operation::create_browser::CreateBrowserOutput::created_at): <p>The timestamp when the browser was created.</p>
/// - [`status(BrowserStatus)`](crate::operation::create_browser::CreateBrowserOutput::status): <p>The current status of the browser.</p>
/// - On failure, responds with [`SdkError<CreateBrowserError>`](crate::operation::create_browser::CreateBrowserError)
pub fn create_browser(&self) -> crate::operation::create_browser::builders::CreateBrowserFluentBuilder {
crate::operation::create_browser::builders::CreateBrowserFluentBuilder::new(self.handle.clone())
}
}