#[non_exhaustive]
pub struct Snapshot {
Show 28 fields pub snapshot_name: Option<String>, pub replication_group_id: Option<String>, pub replication_group_description: Option<String>, pub cache_cluster_id: Option<String>, pub snapshot_status: Option<String>, pub snapshot_source: Option<String>, pub cache_node_type: Option<String>, pub engine: Option<String>, pub engine_version: Option<String>, pub num_cache_nodes: Option<i32>, pub preferred_availability_zone: Option<String>, pub preferred_outpost_arn: Option<String>, pub cache_cluster_create_time: Option<DateTime>, pub preferred_maintenance_window: Option<String>, pub topic_arn: Option<String>, pub port: Option<i32>, pub cache_parameter_group_name: Option<String>, pub cache_subnet_group_name: Option<String>, pub vpc_id: Option<String>, pub auto_minor_version_upgrade: Option<bool>, pub snapshot_retention_limit: Option<i32>, pub snapshot_window: Option<String>, pub num_node_groups: Option<i32>, pub automatic_failover: Option<AutomaticFailoverStatus>, pub node_snapshots: Option<Vec<NodeSnapshot>>, pub kms_key_id: Option<String>, pub arn: Option<String>, pub data_tiering: Option<DataTieringStatus>,
}
Expand description

Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§snapshot_name: Option<String>

The name of a snapshot. For an automatic snapshot, the name is system-generated. For a manual snapshot, this is the user-provided name.

§replication_group_id: Option<String>

The unique identifier of the source replication group.

§replication_group_description: Option<String>

A description of the source replication group.

§cache_cluster_id: Option<String>

The user-supplied identifier of the source cluster.

§snapshot_status: Option<String>

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

§snapshot_source: Option<String>

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

§cache_node_type: Option<String>

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M7g node types: cache.m7g.large, cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, cache.m7g.12xlarge, cache.m7g.16xlarge

      For region availability, see Supported Node Types

      M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R7g node types: cache.r7g.large, cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, cache.r7g.12xlarge, cache.r7g.16xlarge

      For region availability, see Supported Node Types

      R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

§engine: Option<String>

The name of the cache engine (memcached or redis) used by the source cluster.

§engine_version: Option<String>

The version of the cache engine version that is used by the source cluster.

§num_cache_nodes: Option<i32>

The number of cache nodes in the source cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.

§preferred_availability_zone: Option<String>

The name of the Availability Zone in which the source cluster is located.

§preferred_outpost_arn: Option<String>

The ARN (Amazon Resource Name) of the preferred outpost.

§cache_cluster_create_time: Option<DateTime>

The date and time when the source cluster was created.

§preferred_maintenance_window: Option<String>

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

§topic_arn: Option<String>

The Amazon Resource Name (ARN) for the topic used by the source cluster for publishing notifications.

§port: Option<i32>

The port number used by each cache nodes in the source cluster.

§cache_parameter_group_name: Option<String>

The cache parameter group that is associated with the source cluster.

§cache_subnet_group_name: Option<String>

The name of the cache subnet group associated with the source cluster.

§vpc_id: Option<String>

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cluster.

§auto_minor_version_upgrade: Option<bool>

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

§snapshot_retention_limit: Option<i32>

For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.

For manual snapshots, this field reflects the SnapshotRetentionLimit for the source cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot operation.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

§snapshot_window: Option<String>

The daily time range during which ElastiCache takes daily snapshots of the source cluster.

§num_node_groups: Option<i32>

The number of node groups (shards) in this snapshot. When restoring from a snapshot, the number of node groups (shards) in the snapshot and in the restored replication group must be the same.

§automatic_failover: Option<AutomaticFailoverStatus>

Indicates the status of automatic failover for the source Redis replication group.

§node_snapshots: Option<Vec<NodeSnapshot>>

A list of the cache nodes in the source cluster.

§kms_key_id: Option<String>

The ID of the KMS key used to encrypt the snapshot.

§arn: Option<String>

The ARN (Amazon Resource Name) of the snapshot.

§data_tiering: Option<DataTieringStatus>

Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.

Implementations§

source§

impl Snapshot

source

pub fn snapshot_name(&self) -> Option<&str>

The name of a snapshot. For an automatic snapshot, the name is system-generated. For a manual snapshot, this is the user-provided name.

source

pub fn replication_group_id(&self) -> Option<&str>

The unique identifier of the source replication group.

source

pub fn replication_group_description(&self) -> Option<&str>

A description of the source replication group.

source

pub fn cache_cluster_id(&self) -> Option<&str>

The user-supplied identifier of the source cluster.

source

pub fn snapshot_status(&self) -> Option<&str>

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

source

pub fn snapshot_source(&self) -> Option<&str>

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

source

pub fn cache_node_type(&self) -> Option<&str>

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M7g node types: cache.m7g.large, cache.m7g.xlarge, cache.m7g.2xlarge, cache.m7g.4xlarge, cache.m7g.8xlarge, cache.m7g.12xlarge, cache.m7g.16xlarge

      For region availability, see Supported Node Types

      M6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T4g node types (available only for Redis engine version 5.0.6 onward and Memcached engine version 1.5.16 onward): cache.t4g.micro, cache.t4g.small, cache.t4g.medium

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R7g node types: cache.r7g.large, cache.r7g.xlarge, cache.r7g.2xlarge, cache.r7g.4xlarge, cache.r7g.8xlarge, cache.r7g.12xlarge, cache.r7g.16xlarge

      For region availability, see Supported Node Types

      R6g node types (available only for Redis engine version 5.0.6 onward and for Memcached engine version 1.5.16 onward): cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

source

pub fn engine(&self) -> Option<&str>

The name of the cache engine (memcached or redis) used by the source cluster.

source

pub fn engine_version(&self) -> Option<&str>

The version of the cache engine version that is used by the source cluster.

source

pub fn num_cache_nodes(&self) -> Option<i32>

The number of cache nodes in the source cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 40.

source

pub fn preferred_availability_zone(&self) -> Option<&str>

The name of the Availability Zone in which the source cluster is located.

source

pub fn preferred_outpost_arn(&self) -> Option<&str>

The ARN (Amazon Resource Name) of the preferred outpost.

source

pub fn cache_cluster_create_time(&self) -> Option<&DateTime>

The date and time when the source cluster was created.

source

pub fn preferred_maintenance_window(&self) -> Option<&str>

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

source

pub fn topic_arn(&self) -> Option<&str>

The Amazon Resource Name (ARN) for the topic used by the source cluster for publishing notifications.

source

pub fn port(&self) -> Option<i32>

The port number used by each cache nodes in the source cluster.

source

pub fn cache_parameter_group_name(&self) -> Option<&str>

The cache parameter group that is associated with the source cluster.

source

pub fn cache_subnet_group_name(&self) -> Option<&str>

The name of the cache subnet group associated with the source cluster.

source

pub fn vpc_id(&self) -> Option<&str>

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cluster.

source

pub fn auto_minor_version_upgrade(&self) -> Option<bool>

 If you are running Redis engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign. This parameter is disabled for previous versions. 

source

pub fn snapshot_retention_limit(&self) -> Option<i32>

For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.

For manual snapshots, this field reflects the SnapshotRetentionLimit for the source cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot operation.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

source

pub fn snapshot_window(&self) -> Option<&str>

The daily time range during which ElastiCache takes daily snapshots of the source cluster.

source

pub fn num_node_groups(&self) -> Option<i32>

The number of node groups (shards) in this snapshot. When restoring from a snapshot, the number of node groups (shards) in the snapshot and in the restored replication group must be the same.

source

pub fn automatic_failover(&self) -> Option<&AutomaticFailoverStatus>

Indicates the status of automatic failover for the source Redis replication group.

source

pub fn node_snapshots(&self) -> &[NodeSnapshot]

A list of the cache nodes in the source cluster.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .node_snapshots.is_none().

source

pub fn kms_key_id(&self) -> Option<&str>

The ID of the KMS key used to encrypt the snapshot.

source

pub fn arn(&self) -> Option<&str>

The ARN (Amazon Resource Name) of the snapshot.

source

pub fn data_tiering(&self) -> Option<&DataTieringStatus>

Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.

source§

impl Snapshot

source

pub fn builder() -> SnapshotBuilder

Creates a new builder-style object to manufacture Snapshot.

Trait Implementations§

source§

impl Clone for Snapshot

source§

fn clone(&self) -> Snapshot

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Snapshot

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Snapshot

source§

fn eq(&self, other: &Snapshot) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Snapshot

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more