// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateServerlessCacheSnapshot`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`serverless_cache_snapshot_name(impl Into<String>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::serverless_cache_snapshot_name) / [`set_serverless_cache_snapshot_name(Option<String>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::set_serverless_cache_snapshot_name):<br>required: **true**<br><p>The name for the snapshot being created. Must be unique for the customer account. Available for Redis only. Must be between 1 and 255 characters.</p><br>
/// - [`serverless_cache_name(impl Into<String>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::serverless_cache_name) / [`set_serverless_cache_name(Option<String>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::set_serverless_cache_name):<br>required: **true**<br><p>The name of an existing serverless cache. The snapshot is created from this cache. Available for Redis only.</p><br>
/// - [`kms_key_id(impl Into<String>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The ID of the KMS key used to encrypt the snapshot. Available for Redis only. Default: NULL</p><br>
/// - [`tags(Tag)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tags to be added to the snapshot resource. A tag is a key-value pair. Available for Redis only.</p><br>
/// - On success, responds with [`CreateServerlessCacheSnapshotOutput`](crate::operation::create_serverless_cache_snapshot::CreateServerlessCacheSnapshotOutput) with field(s):
/// - [`serverless_cache_snapshot(Option<ServerlessCacheSnapshot>)`](crate::operation::create_serverless_cache_snapshot::CreateServerlessCacheSnapshotOutput::serverless_cache_snapshot): <p>The state of a serverless cache snapshot at a specific point in time, to the millisecond. Available for Redis only.</p>
/// - On failure, responds with [`SdkError<CreateServerlessCacheSnapshotError>`](crate::operation::create_serverless_cache_snapshot::CreateServerlessCacheSnapshotError)
pub fn create_serverless_cache_snapshot(
&self,
) -> crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder {
crate::operation::create_serverless_cache_snapshot::builders::CreateServerlessCacheSnapshotFluentBuilder::new(self.handle.clone())
}
}