aws-sdk-elasticache 1.110.0

AWS SDK for Amazon ElastiCache
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateServerlessCache`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`serverless_cache_name(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::serverless_cache_name) / [`set_serverless_cache_name(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_serverless_cache_name):<br>required: **true**<br><p>User-provided identifier for the serverless cache. This parameter is stored as a lowercase string.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_description):<br>required: **false**<br><p>User-provided description for the serverless cache. The default is NULL, i.e. if no description is provided then an empty string will be returned. The maximum length is 255 characters.</p><br>
    ///   - [`engine(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::engine) / [`set_engine(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_engine):<br>required: **true**<br><p>The name of the cache engine to be used for creating the serverless cache.</p><br>
    ///   - [`major_engine_version(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::major_engine_version) / [`set_major_engine_version(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_major_engine_version):<br>required: **false**<br><p>The version of the cache engine that will be used to create the serverless cache.</p><br>
    ///   - [`cache_usage_limits(CacheUsageLimits)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::cache_usage_limits) / [`set_cache_usage_limits(Option<CacheUsageLimits>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_cache_usage_limits):<br>required: **false**<br><p>Sets the cache usage limits for storage and ElastiCache Processing Units for the cache.</p><br>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.</p><br>
    ///   - [`security_group_ids(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::security_group_ids) / [`set_security_group_ids(Option<Vec::<String>>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_security_group_ids):<br>required: **false**<br><p>A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.</p><br>
    ///   - [`snapshot_arns_to_restore(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::snapshot_arns_to_restore) / [`set_snapshot_arns_to_restore(Option<Vec::<String>>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_snapshot_arns_to_restore):<br>required: **false**<br><p>The ARN(s) of the snapshot that the new serverless cache will be created from. Available for Valkey, Redis OSS and Serverless Memcached only.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_tags):<br>required: **false**<br><p>The list of tags (key, value) pairs to be added to the serverless cache resource. Default is NULL.</p><br>
    ///   - [`user_group_id(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::user_group_id) / [`set_user_group_id(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_user_group_id):<br>required: **false**<br><p>The identifier of the UserGroup to be associated with the serverless cache. Available for Valkey and Redis OSS only. Default is NULL.</p><br>
    ///   - [`subnet_ids(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec::<String>>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_subnet_ids):<br>required: **false**<br><p>A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.</p><br>
    ///   - [`snapshot_retention_limit(i32)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::snapshot_retention_limit) / [`set_snapshot_retention_limit(Option<i32>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_snapshot_retention_limit):<br>required: **false**<br><p>The number of days for which ElastiCache retains automatic snapshots before deleting them. Available for Valkey, Redis OSS and Serverless Memcached only. The maximum value allowed is 35 days.</p><br>
    ///   - [`daily_snapshot_time(impl Into<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::daily_snapshot_time) / [`set_daily_snapshot_time(Option<String>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_daily_snapshot_time):<br>required: **false**<br><p>The daily time that snapshots will be created from the new serverless cache. By default this number is populated with 0, i.e. no snapshots will be created on an automatic daily basis. Available for Valkey, Redis OSS and Serverless Memcached only.</p><br>
    ///   - [`network_type(NetworkType)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::network_type) / [`set_network_type(Option<NetworkType>)`](crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::set_network_type):<br>required: **false**<br><p>The IP protocol version used by the serverless cache. Must be either <code>ipv4</code> | <code>ipv6</code> | <code>dual_stack</code>. <code>ipv6</code> is only supported with IPv6-only subnets. If not specified, defaults to <code>ipv4</code>, unless all provided subnets are IPv6-only, in which case it defaults to <code>ipv6</code>.</p><br>
    /// - On success, responds with [`CreateServerlessCacheOutput`](crate::operation::create_serverless_cache::CreateServerlessCacheOutput) with field(s):
    ///   - [`serverless_cache(Option<ServerlessCache>)`](crate::operation::create_serverless_cache::CreateServerlessCacheOutput::serverless_cache): <p>The response for the attempt to create the serverless cache.</p>
    /// - On failure, responds with [`SdkError<CreateServerlessCacheError>`](crate::operation::create_serverless_cache::CreateServerlessCacheError)
    pub fn create_serverless_cache(&self) -> crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder {
        crate::operation::create_serverless_cache::builders::CreateServerlessCacheFluentBuilder::new(self.handle.clone())
    }
}