ElastiCache class

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

Constructors

ElastiCache({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shapes Map<String, Shape>
final

Methods

addTagsToResource({required String resourceName, required List<Tag> tags}) Future<TagListMessage>
Adds up to 50 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. You can use cost allocation tags to categorize and track your AWS costs.
authorizeCacheSecurityGroupIngress({required String cacheSecurityGroupName, required String eC2SecurityGroupName, required String eC2SecurityGroupOwnerId}) Future<AuthorizeCacheSecurityGroupIngressResult>
Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.
batchApplyUpdateAction({required String serviceUpdateName, List<String>? cacheClusterIds, List<String>? replicationGroupIds}) Future<UpdateActionResultsMessage>
Apply the service update. For more information on service updates and applying them, see Applying Service Updates.
batchStopUpdateAction({required String serviceUpdateName, List<String>? cacheClusterIds, List<String>? replicationGroupIds}) Future<UpdateActionResultsMessage>
Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates.
close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
completeMigration({required String replicationGroupId, bool? force}) Future<CompleteMigrationResponse>
Complete the migration of data.
copySnapshot({required String sourceSnapshotName, required String targetSnapshotName, String? kmsKeyId, String? targetBucket}) Future<CopySnapshotResult>
Makes a copy of an existing snapshot. You could receive the following error messages.
createCacheCluster({required String cacheClusterId, AZMode? aZMode, String? authToken, bool? autoMinorVersionUpgrade, String? cacheNodeType, String? cacheParameterGroupName, List<String>? cacheSecurityGroupNames, String? cacheSubnetGroupName, String? engine, String? engineVersion, String? notificationTopicArn, int? numCacheNodes, OutpostMode? outpostMode, int? port, String? preferredAvailabilityZone, List<String>? preferredAvailabilityZones, String? preferredMaintenanceWindow, String? preferredOutpostArn, List<String>? preferredOutpostArns, String? replicationGroupId, List<String>? securityGroupIds, List<String>? snapshotArns, String? snapshotName, int? snapshotRetentionLimit, String? snapshotWindow, List<Tag>? tags}) Future<CreateCacheClusterResult>
Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached or Redis.
createCacheParameterGroup({required String cacheParameterGroupFamily, required String cacheParameterGroupName, required String description}) Future<CreateCacheParameterGroupResult>
Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.
createCacheSecurityGroup({required String cacheSecurityGroupName, required String description}) Future<CreateCacheSecurityGroupResult>
Creates a new cache security group. Use a cache security group to control access to one or more clusters.
createCacheSubnetGroup({required String cacheSubnetGroupDescription, required String cacheSubnetGroupName, required List<String> subnetIds}) Future<CreateCacheSubnetGroupResult>
Creates a new cache subnet group.
createGlobalReplicationGroup({required String globalReplicationGroupIdSuffix, required String primaryReplicationGroupId, String? globalReplicationGroupDescription}) Future<CreateGlobalReplicationGroupResult>
Global Datastore for Redis offers fully managed, fast, reliable and secure cross-region replication. Using Global Datastore for Redis, you can create cross-region read replica clusters for ElastiCache for Redis to enable low-latency reads and disaster recovery across regions. For more information, see Replication Across Regions Using Global Datastore.
createReplicationGroup({required String replicationGroupDescription, required String replicationGroupId, bool? atRestEncryptionEnabled, String? authToken, bool? autoMinorVersionUpgrade, bool? automaticFailoverEnabled, String? cacheNodeType, String? cacheParameterGroupName, List<String>? cacheSecurityGroupNames, String? cacheSubnetGroupName, String? engine, String? engineVersion, String? globalReplicationGroupId, String? kmsKeyId, bool? multiAZEnabled, List<NodeGroupConfiguration>? nodeGroupConfiguration, String? notificationTopicArn, int? numCacheClusters, int? numNodeGroups, int? port, List<String>? preferredCacheClusterAZs, String? preferredMaintenanceWindow, String? primaryClusterId, int? replicasPerNodeGroup, List<String>? securityGroupIds, List<String>? snapshotArns, String? snapshotName, int? snapshotRetentionLimit, String? snapshotWindow, List<Tag>? tags, bool? transitEncryptionEnabled, List<String>? userGroupIds}) Future<CreateReplicationGroupResult>
Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.
createSnapshot({required String snapshotName, String? cacheClusterId, String? kmsKeyId, String? replicationGroupId}) Future<CreateSnapshotResult>
Creates a copy of an entire cluster or replication group at a specific moment in time.
createUser({required String accessString, required String engine, required String userId, required String userName, bool? noPasswordRequired, List<String>? passwords}) Future<User>
For Redis engine version 6.x onwards: Creates a Redis user. For more information, see Using Role Based Access Control (RBAC).
createUserGroup({required String engine, required String userGroupId, List<String>? userIds}) Future<UserGroup>
For Redis engine version 6.x onwards: Creates a Redis user group. For more information, see Using Role Based Access Control (RBAC)
decreaseNodeGroupsInGlobalReplicationGroup({required bool applyImmediately, required String globalReplicationGroupId, required int nodeGroupCount, List<String>? globalNodeGroupsToRemove, List<String>? globalNodeGroupsToRetain}) Future<DecreaseNodeGroupsInGlobalReplicationGroupResult>
Decreases the number of node groups in a Global Datastore
decreaseReplicaCount({required bool applyImmediately, required String replicationGroupId, int? newReplicaCount, List<ConfigureShard>? replicaConfiguration, List<String>? replicasToRemove}) Future<DecreaseReplicaCountResult>
Dynamically decreases the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time.
deleteCacheCluster({required String cacheClusterId, String? finalSnapshotIdentifier}) Future<DeleteCacheClusterResult>
Deletes a previously provisioned cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.
deleteCacheParameterGroup({required String cacheParameterGroupName}) Future<void>
Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.
deleteCacheSecurityGroup({required String cacheSecurityGroupName}) Future<void>
Deletes a cache security group.
deleteCacheSubnetGroup({required String cacheSubnetGroupName}) Future<void>
Deletes a cache subnet group.
deleteGlobalReplicationGroup({required String globalReplicationGroupId, required bool retainPrimaryReplicationGroup}) Future<DeleteGlobalReplicationGroupResult>
Deleting a Global Datastore is a two-step process:
deleteReplicationGroup({required String replicationGroupId, String? finalSnapshotIdentifier, bool? retainPrimaryCluster}) Future<DeleteReplicationGroupResult>
Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true.
deleteSnapshot({required String snapshotName}) Future<DeleteSnapshotResult>
Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.
deleteUser({required String userId}) Future<User>
For Redis engine version 6.x onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).
deleteUserGroup({required String userGroupId}) Future<UserGroup>
For Redis engine version 6.x onwards: Deletes a ser group. The user group must first be disassociated from the replcation group before it can be deleted. For more information, see Using Role Based Access Control (RBAC).
describeCacheClusters({String? cacheClusterId, String? marker, int? maxRecords, bool? showCacheClustersNotInReplicationGroups, bool? showCacheNodeInfo}) Future<CacheClusterMessage>
Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.
describeCacheEngineVersions({String? cacheParameterGroupFamily, bool? defaultOnly, String? engine, String? engineVersion, String? marker, int? maxRecords}) Future<CacheEngineVersionMessage>
Returns a list of the available cache engines and their versions.
describeCacheParameterGroups({String? cacheParameterGroupName, String? marker, int? maxRecords}) Future<CacheParameterGroupsMessage>
Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.
describeCacheParameters({required String cacheParameterGroupName, String? marker, int? maxRecords, String? source}) Future<CacheParameterGroupDetails>
Returns the detailed parameter list for a particular cache parameter group.
describeCacheSecurityGroups({String? cacheSecurityGroupName, String? marker, int? maxRecords}) Future<CacheSecurityGroupMessage>
Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group. This applicable only when you have ElastiCache in Classic setup
describeCacheSubnetGroups({String? cacheSubnetGroupName, String? marker, int? maxRecords}) Future<CacheSubnetGroupMessage>
Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default.
describeEngineDefaultParameters({required String cacheParameterGroupFamily, String? marker, int? maxRecords}) Future<DescribeEngineDefaultParametersResult>
Returns the default engine and system parameter information for the specified cache engine.
describeEvents({int? duration, DateTime? endTime, String? marker, int? maxRecords, String? sourceIdentifier, SourceType? sourceType, DateTime? startTime}) Future<EventsMessage>
Returns events related to clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cluster, cache security group, or cache parameter group by providing the name as a parameter.
describeGlobalReplicationGroups({String? globalReplicationGroupId, String? marker, int? maxRecords, bool? showMemberInfo}) Future<DescribeGlobalReplicationGroupsResult>
Returns information about a particular global replication group. If no identifier is specified, returns information about all Global Datastores.
describeReplicationGroups({String? marker, int? maxRecords, String? replicationGroupId}) Future<ReplicationGroupMessage>
Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.
describeReservedCacheNodes({String? cacheNodeType, String? duration, String? marker, int? maxRecords, String? offeringType, String? productDescription, String? reservedCacheNodeId, String? reservedCacheNodesOfferingId}) Future<ReservedCacheNodeMessage>
Returns information about reserved cache nodes for this account, or about a specified reserved cache node.
describeReservedCacheNodesOfferings({String? cacheNodeType, String? duration, String? marker, int? maxRecords, String? offeringType, String? productDescription, String? reservedCacheNodesOfferingId}) Future<ReservedCacheNodesOfferingMessage>
Lists available reserved cache node offerings.
describeServiceUpdates({String? marker, int? maxRecords, String? serviceUpdateName, List<ServiceUpdateStatus>? serviceUpdateStatus}) Future<ServiceUpdatesMessage>
Returns details of the service updates
describeSnapshots({String? cacheClusterId, String? marker, int? maxRecords, String? replicationGroupId, bool? showNodeGroupConfig, String? snapshotName, String? snapshotSource}) Future<DescribeSnapshotsListMessage>
Returns information about cluster or replication group snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.
describeUpdateActions({List<String>? cacheClusterIds, String? engine, String? marker, int? maxRecords, List<String>? replicationGroupIds, String? serviceUpdateName, List<ServiceUpdateStatus>? serviceUpdateStatus, TimeRangeFilter? serviceUpdateTimeRange, bool? showNodeLevelUpdateStatus, List<UpdateActionStatus>? updateActionStatus}) Future<UpdateActionsMessage>
Returns details of the update actions
describeUserGroups({String? marker, int? maxRecords, String? userGroupId}) Future<DescribeUserGroupsResult>
Returns a list of user groups.
describeUsers({String? engine, List<Filter>? filters, String? marker, int? maxRecords, String? userId}) Future<DescribeUsersResult>
Returns a list of users.
disassociateGlobalReplicationGroup({required String globalReplicationGroupId, required String replicationGroupId, required String replicationGroupRegion}) Future<DisassociateGlobalReplicationGroupResult>
Remove a secondary cluster from the Global Datastore using the Global Datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that AWS region.
failoverGlobalReplicationGroup({required String globalReplicationGroupId, required String primaryRegion, required String primaryReplicationGroupId}) Future<FailoverGlobalReplicationGroupResult>
Used to failover the primary region to a selected secondary region. The selected secondary region will become primary, and all other clusters will become secondary.
increaseNodeGroupsInGlobalReplicationGroup({required bool applyImmediately, required String globalReplicationGroupId, required int nodeGroupCount, List<RegionalConfiguration>? regionalConfigurations}) Future<IncreaseNodeGroupsInGlobalReplicationGroupResult>
Increase the number of node groups in the Global Datastore
increaseReplicaCount({required bool applyImmediately, required String replicationGroupId, int? newReplicaCount, List<ConfigureShard>? replicaConfiguration}) Future<IncreaseReplicaCountResult>
Dynamically increases the number of replics in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time.
listAllowedNodeTypeModifications({String? cacheClusterId, String? replicationGroupId}) Future<AllowedNodeTypeModificationsMessage>
Lists all available node types that you can scale your Redis cluster's or replication group's current node type.
listTagsForResource({required String resourceName}) Future<TagListMessage>
Lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. You can use cost allocation tags to categorize and track your AWS costs.
modifyCacheCluster({required String cacheClusterId, AZMode? aZMode, bool? applyImmediately, String? authToken, AuthTokenUpdateStrategyType? authTokenUpdateStrategy, bool? autoMinorVersionUpgrade, List<String>? cacheNodeIdsToRemove, String? cacheNodeType, String? cacheParameterGroupName, List<String>? cacheSecurityGroupNames, String? engineVersion, List<String>? newAvailabilityZones, String? notificationTopicArn, String? notificationTopicStatus, int? numCacheNodes, String? preferredMaintenanceWindow, List<String>? securityGroupIds, int? snapshotRetentionLimit, String? snapshotWindow}) Future<ModifyCacheClusterResult>
Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values.
modifyCacheParameterGroup({required String cacheParameterGroupName, required List<ParameterNameValue> parameterNameValues}) Future<CacheParameterGroupNameMessage>
Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.
modifyCacheSubnetGroup({required String cacheSubnetGroupName, String? cacheSubnetGroupDescription, List<String>? subnetIds}) Future<ModifyCacheSubnetGroupResult>
Modifies an existing cache subnet group.
modifyGlobalReplicationGroup({required bool applyImmediately, required String globalReplicationGroupId, bool? automaticFailoverEnabled, String? cacheNodeType, String? engineVersion, String? globalReplicationGroupDescription}) Future<ModifyGlobalReplicationGroupResult>
Modifies the settings for a Global Datastore.
modifyReplicationGroup({required String replicationGroupId, bool? applyImmediately, String? authToken, AuthTokenUpdateStrategyType? authTokenUpdateStrategy, bool? autoMinorVersionUpgrade, bool? automaticFailoverEnabled, String? cacheNodeType, String? cacheParameterGroupName, List<String>? cacheSecurityGroupNames, String? engineVersion, bool? multiAZEnabled, String? nodeGroupId, String? notificationTopicArn, String? notificationTopicStatus, String? preferredMaintenanceWindow, String? primaryClusterId, bool? removeUserGroups, String? replicationGroupDescription, List<String>? securityGroupIds, int? snapshotRetentionLimit, String? snapshotWindow, String? snapshottingClusterId, List<String>? userGroupIdsToAdd, List<String>? userGroupIdsToRemove}) Future<ModifyReplicationGroupResult>
Modifies the settings for a replication group.
modifyReplicationGroupShardConfiguration({required bool applyImmediately, required int nodeGroupCount, required String replicationGroupId, List<String>? nodeGroupsToRemove, List<String>? nodeGroupsToRetain, List<ReshardingConfiguration>? reshardingConfiguration}) Future<ModifyReplicationGroupShardConfigurationResult>
Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among exisiting shards.
modifyUser({required String userId, String? accessString, String? appendAccessString, bool? noPasswordRequired, List<String>? passwords}) Future<User>
Changes user password(s) and/or access string.
modifyUserGroup({required String userGroupId, List<String>? userIdsToAdd, List<String>? userIdsToRemove}) Future<UserGroup>
Changes the list of users that belong to the user group.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
purchaseReservedCacheNodesOffering({required String reservedCacheNodesOfferingId, int? cacheNodeCount, String? reservedCacheNodeId}) Future<PurchaseReservedCacheNodesOfferingResult>
Allows you to purchase a reserved cache node offering.
rebalanceSlotsInGlobalReplicationGroup({required bool applyImmediately, required String globalReplicationGroupId}) Future<RebalanceSlotsInGlobalReplicationGroupResult>
Redistribute slots to ensure uniform distribution across existing shards in the cluster.
rebootCacheCluster({required String cacheClusterId, required List<String> cacheNodeIdsToReboot}) Future<RebootCacheClusterResult>
Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cluster. During the reboot, the cluster status is set to REBOOTING.
removeTagsFromResource({required String resourceName, required List<String> tagKeys}) Future<TagListMessage>
Removes the tags identified by the TagKeys list from the named resource.
resetCacheParameterGroup({required String cacheParameterGroupName, List<ParameterNameValue>? parameterNameValues, bool? resetAllParameters}) Future<CacheParameterGroupNameMessage>
Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.
revokeCacheSecurityGroupIngress({required String cacheSecurityGroupName, required String eC2SecurityGroupName, required String eC2SecurityGroupOwnerId}) Future<RevokeCacheSecurityGroupIngressResult>
Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.
startMigration({required List<CustomerNodeEndpoint> customerNodeEndpointList, required String replicationGroupId}) Future<StartMigrationResponse>
Start the migration of data.
testFailover({required String nodeGroupId, required String replicationGroupId}) Future<TestFailoverResult>
Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited