// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateMemory`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`client_token(impl Into<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::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 ignores the request but does not return an error.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::set_name):<br>required: **true**<br><p>The name of the memory. The name must be unique within your account.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::set_description):<br>required: **false**<br><p>The description of the memory.</p><br>
/// - [`encryption_key_arn(impl Into<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::encryption_key_arn) / [`set_encryption_key_arn(Option<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::set_encryption_key_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the KMS key used to encrypt the memory data.</p><br>
/// - [`memory_execution_role_arn(impl Into<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::memory_execution_role_arn) / [`set_memory_execution_role_arn(Option<String>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::set_memory_execution_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the memory to access Amazon Web Services services.</p><br>
/// - [`event_expiry_duration(i32)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::event_expiry_duration) / [`set_event_expiry_duration(Option<i32>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::set_event_expiry_duration):<br>required: **true**<br><p>The duration after which memory events expire. Specified as an ISO 8601 duration.</p><br>
/// - [`memory_strategies(MemoryStrategyInput)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::memory_strategies) / [`set_memory_strategies(Option<Vec::<MemoryStrategyInput>>)`](crate::operation::create_memory::builders::CreateMemoryFluentBuilder::set_memory_strategies):<br>required: **false**<br><p>The memory strategies to use for this memory. Strategies define how information is extracted, processed, and consolidated.</p><br>
/// - On success, responds with [`CreateMemoryOutput`](crate::operation::create_memory::CreateMemoryOutput) with field(s):
/// - [`memory(Option<Memory>)`](crate::operation::create_memory::CreateMemoryOutput::memory): <p>The details of the created memory, including its ID, ARN, name, description, and configuration settings.</p>
/// - On failure, responds with [`SdkError<CreateMemoryError>`](crate::operation::create_memory::CreateMemoryError)
pub fn create_memory(&self) -> crate::operation::create_memory::builders::CreateMemoryFluentBuilder {
crate::operation::create_memory::builders::CreateMemoryFluentBuilder::new(self.handle.clone())
}
}