NAME

Paws::ElastiCache - Perl Interface to AWS Amazon ElastiCache

SYNOPSIS

  use Paws;

  my $obj = Paws->service('ElastiCache');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Amazon ElastiCache

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

With ElastiCache, customers get all of the benefits of a high-performance, in-memory cache with less of the administrative burden involved in launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02

METHODS

AddTagsToResource

ResourceName => Str
Tags => ArrayRef[Paws::ElastiCache::Tag]

Each argument is described in detail in: Paws::ElastiCache::AddTagsToResource

Returns: a Paws::ElastiCache::TagListMessage instance

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.

When you apply tags to your ElastiCache resources, AWS generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html) in the ElastiCache User Guide.

AuthorizeCacheSecurityGroupIngress

CacheSecurityGroupName => Str
EC2SecurityGroupName => Str
EC2SecurityGroupOwnerId => Str

Each argument is described in detail in: Paws::ElastiCache::AuthorizeCacheSecurityGroupIngress

Returns: a Paws::ElastiCache::AuthorizeCacheSecurityGroupIngressResult instance

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.

You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region.

CopySnapshot

SourceSnapshotName => Str
TargetSnapshotName => Str
[TargetBucket => Str]

Each argument is described in detail in: Paws::ElastiCache::CopySnapshot

Returns: a Paws::ElastiCache::CopySnapshotResult instance

Makes a copy of an existing snapshot.

This operation is valid for Redis only.

Users or groups that have permissions to use the CopySnapshot operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html) and Authentication & Access Control (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.html).

You could receive the following error messages.

Error Messages

  • Error Message: The S3 bucket %s is outside of the region.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket) in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s does not exist.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket) in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s is not owned by the authenticated user.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket) in the ElastiCache User Guide.

  • Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.

    Solution: Contact your system administrator to get the needed permissions.

  • Error Message: The S3 bucket %s already contains an object with key %s.

    Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName.

  • Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess) in the ElastiCache User Guide.

CreateCacheCluster

CacheClusterId => Str
[AuthToken => Str]
[AutoMinorVersionUpgrade => Bool]
[AZMode => Str]
[CacheNodeType => Str]
[CacheParameterGroupName => Str]
[CacheSecurityGroupNames => ArrayRef[Str|Undef]]
[CacheSubnetGroupName => Str]
[Engine => Str]
[EngineVersion => Str]
[NotificationTopicArn => Str]
[NumCacheNodes => Int]
[Port => Int]
[PreferredAvailabilityZone => Str]
[PreferredAvailabilityZones => ArrayRef[Str|Undef]]
[PreferredMaintenanceWindow => Str]
[ReplicationGroupId => Str]
[SecurityGroupIds => ArrayRef[Str|Undef]]
[SnapshotArns => ArrayRef[Str|Undef]]
[SnapshotName => Str]
[SnapshotRetentionLimit => Int]
[SnapshotWindow => Str]
[Tags => ArrayRef[Paws::ElastiCache::Tag]]

Each argument is described in detail in: Paws::ElastiCache::CreateCacheCluster

Returns: a Paws::ElastiCache::CreateCacheClusterResult instance

Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

This operation is not supported for Redis (cluster mode enabled) clusters.

CreateCacheParameterGroup

CacheParameterGroupFamily => Str
CacheParameterGroupName => Str
Description => Str

Each argument is described in detail in: Paws::ElastiCache::CreateCacheParameterGroup

Returns: a Paws::ElastiCache::CreateCacheParameterGroupResult instance

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.

A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:

  • ModifyCacheParameterGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheParameterGroup.html) in the ElastiCache API Reference.

  • Parameters and Parameter Groups (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.html) in the ElastiCache User Guide.

CreateCacheSecurityGroup

CacheSecurityGroupName => Str
Description => Str

Each argument is described in detail in: Paws::ElastiCache::CreateCacheSecurityGroup

Returns: a Paws::ElastiCache::CreateCacheSecurityGroupResult instance

Creates a new cache security group. Use a cache security group to control access to one or more clusters.

Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html).

CreateCacheSubnetGroup

CacheSubnetGroupDescription => Str
CacheSubnetGroupName => Str
SubnetIds => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::ElastiCache::CreateCacheSubnetGroup

Returns: a Paws::ElastiCache::CreateCacheSubnetGroupResult instance

Creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

CreateReplicationGroup

ReplicationGroupDescription => Str
ReplicationGroupId => Str
[AtRestEncryptionEnabled => Bool]
[AuthToken => Str]
[AutomaticFailoverEnabled => Bool]
[AutoMinorVersionUpgrade => Bool]
[CacheNodeType => Str]
[CacheParameterGroupName => Str]
[CacheSecurityGroupNames => ArrayRef[Str|Undef]]
[CacheSubnetGroupName => Str]
[Engine => Str]
[EngineVersion => Str]
[NodeGroupConfiguration => ArrayRef[Paws::ElastiCache::NodeGroupConfiguration]]
[NotificationTopicArn => Str]
[NumCacheClusters => Int]
[NumNodeGroups => Int]
[Port => Int]
[PreferredCacheClusterAZs => ArrayRef[Str|Undef]]
[PreferredMaintenanceWindow => Str]
[PrimaryClusterId => Str]
[ReplicasPerNodeGroup => Int]
[SecurityGroupIds => ArrayRef[Str|Undef]]
[SnapshotArns => ArrayRef[Str|Undef]]
[SnapshotName => Str]
[SnapshotRetentionLimit => Int]
[SnapshotWindow => Str]
[Tags => ArrayRef[Paws::ElastiCache::Tag]]
[TransitEncryptionEnabled => Bool]

Each argument is described in detail in: Paws::ElastiCache::CreateReplicationGroup

Returns: a Paws::ElastiCache::CreateReplicationGroupResult instance

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 15 node groups (shards). Each node group (shard) has one read/write primary node and up to 5 read-only replica nodes. Writes to the primary are asynchronously propagated to the replicas. Redis (cluster mode enabled) replication groups partition the data across node groups (shards).

When a Redis (cluster mode disabled) replication group has been successfully created, you can add one or more read replicas to it, up to a total of 5 read replicas. You cannot alter a Redis (cluster mode enabled) replication group after it has been created. However, if you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' enhanced backup and restore. For more information, see Restoring From a Backup with Cluster Resizing (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-restoring.html) in the ElastiCache User Guide.

This operation is valid for Redis only.

CreateSnapshot

SnapshotName => Str
[CacheClusterId => Str]
[ReplicationGroupId => Str]

Each argument is described in detail in: Paws::ElastiCache::CreateSnapshot

Returns: a Paws::ElastiCache::CreateSnapshotResult instance

Creates a copy of an entire cluster or replication group at a specific moment in time.

This operation is valid for Redis only.

DecreaseReplicaCount

ApplyImmediately => Bool
ReplicationGroupId => Str
[NewReplicaCount => Int]
[ReplicaConfiguration => ArrayRef[Paws::ElastiCache::ConfigureShard]]
[ReplicasToRemove => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::ElastiCache::DecreaseReplicaCount

Returns: a Paws::ElastiCache::DecreaseReplicaCountResult instance

Dynamically decreases 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.

DeleteCacheCluster

CacheClusterId => Str
[FinalSnapshotIdentifier => Str]

Each argument is described in detail in: Paws::ElastiCache::DeleteCacheCluster

Returns: a Paws::ElastiCache::DeleteCacheClusterResult instance

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.

This operation cannot be used to delete a cluster that is the last read replica of a replication group or node group (shard) that has Multi-AZ mode enabled or a cluster from a Redis (cluster mode enabled) replication group.

This operation is not valid for Redis (cluster mode enabled) clusters.

DeleteCacheParameterGroup

CacheParameterGroupName => Str

Each argument is described in detail in: Paws::ElastiCache::DeleteCacheParameterGroup

Returns: nothing

Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.

DeleteCacheSecurityGroup

CacheSecurityGroupName => Str

Each argument is described in detail in: Paws::ElastiCache::DeleteCacheSecurityGroup

Returns: nothing

Deletes a cache security group.

You cannot delete a cache security group if it is associated with any clusters.

DeleteCacheSubnetGroup

CacheSubnetGroupName => Str

Each argument is described in detail in: Paws::ElastiCache::DeleteCacheSubnetGroup

Returns: nothing

Deletes a cache subnet group.

You cannot delete a cache subnet group if it is associated with any clusters.

DeleteReplicationGroup

ReplicationGroupId => Str
[FinalSnapshotIdentifier => Str]
[RetainPrimaryCluster => Bool]

Each argument is described in detail in: Paws::ElastiCache::DeleteReplicationGroup

Returns: a Paws::ElastiCache::DeleteReplicationGroupResult instance

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.

When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.

This operation is valid for Redis only.

DeleteSnapshot

SnapshotName => Str

Each argument is described in detail in: Paws::ElastiCache::DeleteSnapshot

Returns: a Paws::ElastiCache::DeleteSnapshotResult instance

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.

This operation is valid for Redis only.

DescribeCacheClusters

[CacheClusterId => Str]
[Marker => Str]
[MaxRecords => Int]
[ShowCacheClustersNotInReplicationGroups => Bool]
[ShowCacheNodeInfo => Bool]

Each argument is described in detail in: Paws::ElastiCache::DescribeCacheClusters

Returns: a Paws::ElastiCache::CacheClusterMessage instance

Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.

By default, abbreviated information about the clusters is returned. You can use the optional ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the creating state, only cluster-level information is displayed until all of the nodes are successfully provisioned.

If the cluster is in the deleting state, only cluster-level information is displayed.

If cache nodes are currently being added to the cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cluster, no endpoint information for the removed nodes is displayed.

DescribeCacheEngineVersions

[CacheParameterGroupFamily => Str]
[DefaultOnly => Bool]
[Engine => Str]
[EngineVersion => Str]
[Marker => Str]
[MaxRecords => Int]

Each argument is described in detail in: Paws::ElastiCache::DescribeCacheEngineVersions

Returns: a Paws::ElastiCache::CacheEngineVersionMessage instance

Returns a list of the available cache engines and their versions.

DescribeCacheParameterGroups

[CacheParameterGroupName => Str]
[Marker => Str]
[MaxRecords => Int]

Each argument is described in detail in: Paws::ElastiCache::DescribeCacheParameterGroups

Returns: a Paws::ElastiCache::CacheParameterGroupsMessage instance

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

CacheParameterGroupName => Str
[Marker => Str]
[MaxRecords => Int]
[Source => Str]

Each argument is described in detail in: Paws::ElastiCache::DescribeCacheParameters

Returns: a Paws::ElastiCache::CacheParameterGroupDetails instance

Returns the detailed parameter list for a particular cache parameter group.

DescribeCacheSecurityGroups

[CacheSecurityGroupName => Str]
[Marker => Str]
[MaxRecords => Int]

Each argument is described in detail in: Paws::ElastiCache::DescribeCacheSecurityGroups

Returns: a Paws::ElastiCache::CacheSecurityGroupMessage instance

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.

DescribeCacheSubnetGroups

[CacheSubnetGroupName => Str]
[Marker => Str]
[MaxRecords => Int]

Each argument is described in detail in: Paws::ElastiCache::DescribeCacheSubnetGroups

Returns: a Paws::ElastiCache::CacheSubnetGroupMessage instance

Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

DescribeEngineDefaultParameters

CacheParameterGroupFamily => Str
[Marker => Str]
[MaxRecords => Int]

Each argument is described in detail in: Paws::ElastiCache::DescribeEngineDefaultParameters

Returns: a Paws::ElastiCache::DescribeEngineDefaultParametersResult instance

Returns the default engine and system parameter information for the specified cache engine.

DescribeEvents

[Duration => Int]
[EndTime => Str]
[Marker => Str]
[MaxRecords => Int]
[SourceIdentifier => Str]
[SourceType => Str]
[StartTime => Str]

Each argument is described in detail in: Paws::ElastiCache::DescribeEvents

Returns: a Paws::ElastiCache::EventsMessage instance

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.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

DescribeReplicationGroups

[Marker => Str]
[MaxRecords => Int]
[ReplicationGroupId => Str]

Each argument is described in detail in: Paws::ElastiCache::DescribeReplicationGroups

Returns: a Paws::ElastiCache::ReplicationGroupMessage instance

Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.

This operation is valid for Redis only.

DescribeReservedCacheNodes

[CacheNodeType => Str]
[Duration => Str]
[Marker => Str]
[MaxRecords => Int]
[OfferingType => Str]
[ProductDescription => Str]
[ReservedCacheNodeId => Str]
[ReservedCacheNodesOfferingId => Str]

Each argument is described in detail in: Paws::ElastiCache::DescribeReservedCacheNodes

Returns: a Paws::ElastiCache::ReservedCacheNodeMessage instance

Returns information about reserved cache nodes for this account, or about a specified reserved cache node.

DescribeReservedCacheNodesOfferings

[CacheNodeType => Str]
[Duration => Str]
[Marker => Str]
[MaxRecords => Int]
[OfferingType => Str]
[ProductDescription => Str]
[ReservedCacheNodesOfferingId => Str]

Each argument is described in detail in: Paws::ElastiCache::DescribeReservedCacheNodesOfferings

Returns: a Paws::ElastiCache::ReservedCacheNodesOfferingMessage instance

Lists available reserved cache node offerings.

DescribeSnapshots

[CacheClusterId => Str]
[Marker => Str]
[MaxRecords => Int]
[ReplicationGroupId => Str]
[ShowNodeGroupConfig => Bool]
[SnapshotName => Str]
[SnapshotSource => Str]

Each argument is described in detail in: Paws::ElastiCache::DescribeSnapshots

Returns: a Paws::ElastiCache::DescribeSnapshotsListMessage instance

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.

This operation is valid for Redis only.

IncreaseReplicaCount

ApplyImmediately => Bool
ReplicationGroupId => Str
[NewReplicaCount => Int]
[ReplicaConfiguration => ArrayRef[Paws::ElastiCache::ConfigureShard]]

Each argument is described in detail in: Paws::ElastiCache::IncreaseReplicaCount

Returns: a Paws::ElastiCache::IncreaseReplicaCountResult instance

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

[CacheClusterId => Str]
[ReplicationGroupId => Str]

Each argument is described in detail in: Paws::ElastiCache::ListAllowedNodeTypeModifications

Returns: a Paws::ElastiCache::AllowedNodeTypeModificationsMessage instance

Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.

When you use the ModifyCacheCluster or ModifyReplicationGroup operations to scale up your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this operation.

ListTagsForResource

ResourceName => Str

Each argument is described in detail in: Paws::ElastiCache::ListTagsForResource

Returns: a Paws::ElastiCache::TagListMessage instance

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.

If the cluster is not in the available state, ListTagsForResource returns an error.

You can have a maximum of 50 cost allocation tags on an ElastiCache resource. For more information, see Monitoring Costs with Tags (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html).

ModifyCacheCluster

CacheClusterId => Str
[ApplyImmediately => Bool]
[AutoMinorVersionUpgrade => Bool]
[AZMode => Str]
[CacheNodeIdsToRemove => ArrayRef[Str|Undef]]
[CacheNodeType => Str]
[CacheParameterGroupName => Str]
[CacheSecurityGroupNames => ArrayRef[Str|Undef]]
[EngineVersion => Str]
[NewAvailabilityZones => ArrayRef[Str|Undef]]
[NotificationTopicArn => Str]
[NotificationTopicStatus => Str]
[NumCacheNodes => Int]
[PreferredMaintenanceWindow => Str]
[SecurityGroupIds => ArrayRef[Str|Undef]]
[SnapshotRetentionLimit => Int]
[SnapshotWindow => Str]

Each argument is described in detail in: Paws::ElastiCache::ModifyCacheCluster

Returns: a Paws::ElastiCache::ModifyCacheClusterResult instance

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

CacheParameterGroupName => Str
ParameterNameValues => ArrayRef[Paws::ElastiCache::ParameterNameValue]

Each argument is described in detail in: Paws::ElastiCache::ModifyCacheParameterGroup

Returns: a Paws::ElastiCache::CacheParameterGroupNameMessage instance

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

CacheSubnetGroupName => Str
[CacheSubnetGroupDescription => Str]
[SubnetIds => ArrayRef[Str|Undef]]

Each argument is described in detail in: Paws::ElastiCache::ModifyCacheSubnetGroup

Returns: a Paws::ElastiCache::ModifyCacheSubnetGroupResult instance

Modifies an existing cache subnet group.

ModifyReplicationGroup

ReplicationGroupId => Str
[ApplyImmediately => Bool]
[AutomaticFailoverEnabled => Bool]
[AutoMinorVersionUpgrade => Bool]
[CacheNodeType => Str]
[CacheParameterGroupName => Str]
[CacheSecurityGroupNames => ArrayRef[Str|Undef]]
[EngineVersion => Str]
[NodeGroupId => Str]
[NotificationTopicArn => Str]
[NotificationTopicStatus => Str]
[PreferredMaintenanceWindow => Str]
[PrimaryClusterId => Str]
[ReplicationGroupDescription => Str]
[SecurityGroupIds => ArrayRef[Str|Undef]]
[SnapshotRetentionLimit => Int]
[SnapshottingClusterId => Str]
[SnapshotWindow => Str]

Each argument is described in detail in: Paws::ElastiCache::ModifyReplicationGroup

Returns: a Paws::ElastiCache::ModifyReplicationGroupResult instance

Modifies the settings for a replication group.

For Redis (cluster mode enabled) clusters, this operation cannot be used to change a cluster's node type or engine version. For more information, see:

  • Scaling for Amazon ElastiCache for Redis—Redis (cluster mode enabled) (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) in the ElastiCache User Guide

  • ModifyReplicationGroupShardConfiguration (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) in the ElastiCache API Reference

This operation is valid for Redis only.

ModifyReplicationGroupShardConfiguration

ApplyImmediately => Bool
NodeGroupCount => Int
ReplicationGroupId => Str
[NodeGroupsToRemove => ArrayRef[Str|Undef]]
[NodeGroupsToRetain => ArrayRef[Str|Undef]]
[ReshardingConfiguration => ArrayRef[Paws::ElastiCache::ReshardingConfiguration]]

Each argument is described in detail in: Paws::ElastiCache::ModifyReplicationGroupShardConfiguration

Returns: a Paws::ElastiCache::ModifyReplicationGroupShardConfigurationResult instance

Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among exisiting shards.

PurchaseReservedCacheNodesOffering

ReservedCacheNodesOfferingId => Str
[CacheNodeCount => Int]
[ReservedCacheNodeId => Str]

Each argument is described in detail in: Paws::ElastiCache::PurchaseReservedCacheNodesOffering

Returns: a Paws::ElastiCache::PurchaseReservedCacheNodesOfferingResult instance

Allows you to purchase a reserved cache node offering.

RebootCacheCluster

CacheClusterId => Str
CacheNodeIdsToReboot => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::ElastiCache::RebootCacheCluster

Returns: a Paws::ElastiCache::RebootCacheClusterResult instance

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.

The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.

When the reboot is complete, a cluster event is created.

Rebooting a cluster is currently supported on Memcached and Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis (cluster mode enabled) clusters.

If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) for an alternate process.

RemoveTagsFromResource

ResourceName => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::ElastiCache::RemoveTagsFromResource

Returns: a Paws::ElastiCache::TagListMessage instance

Removes the tags identified by the TagKeys list from the named resource.

ResetCacheParameterGroup

CacheParameterGroupName => Str
[ParameterNameValues => ArrayRef[Paws::ElastiCache::ParameterNameValue]]
[ResetAllParameters => Bool]

Each argument is described in detail in: Paws::ElastiCache::ResetCacheParameterGroup

Returns: a Paws::ElastiCache::CacheParameterGroupNameMessage instance

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

CacheSecurityGroupName => Str
EC2SecurityGroupName => Str
EC2SecurityGroupOwnerId => Str

Each argument is described in detail in: Paws::ElastiCache::RevokeCacheSecurityGroupIngress

Returns: a Paws::ElastiCache::RevokeCacheSecurityGroupIngressResult instance

Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.

TestFailover

NodeGroupId => Str
ReplicationGroupId => Str

Each argument is described in detail in: Paws::ElastiCache::TestFailover

Returns: a Paws::ElastiCache::TestFailoverResult instance

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).

Note the following

  • A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) in any rolling 24-hour period.

  • If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently.

  • If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made.

  • To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance:

    1. Replication group message: Test Failover API called for node group <node-group-id>

    2. Cache cluster message: Failover from master node <primary-node-id> to replica node <node-id> completed

    3. Replication group message: Failover from master node <primary-node-id> to replica node <node-id> completed

    4. Cache cluster message: Recovering cache nodes <node-id>

    5. Cache cluster message: Finished recovery for cache nodes <node-id>

    For more information see:

    • Viewing ElastiCache Events (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) in the ElastiCache User Guide

    • DescribeEvents (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) in the ElastiCache API Reference

Also see, Testing Multi-AZ with Automatic Failover (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) in the ElastiCache User Guide.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

DescribeAllCacheClusters(sub { },[CacheClusterId => Str, Marker => Str, MaxRecords => Int, ShowCacheClustersNotInReplicationGroups => Bool, ShowCacheNodeInfo => Bool])

DescribeAllCacheClusters([CacheClusterId => Str, Marker => Str, MaxRecords => Int, ShowCacheClustersNotInReplicationGroups => Bool, ShowCacheNodeInfo => Bool])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CacheClusters, passing the object as the first parameter, and the string 'CacheClusters' as the second parameter 

If not, it will return a a Paws::ElastiCache::CacheClusterMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllCacheEngineVersions(sub { },[CacheParameterGroupFamily => Str, DefaultOnly => Bool, Engine => Str, EngineVersion => Str, Marker => Str, MaxRecords => Int])

DescribeAllCacheEngineVersions([CacheParameterGroupFamily => Str, DefaultOnly => Bool, Engine => Str, EngineVersion => Str, Marker => Str, MaxRecords => Int])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CacheEngineVersions, passing the object as the first parameter, and the string 'CacheEngineVersions' as the second parameter 

If not, it will return a a Paws::ElastiCache::CacheEngineVersionMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllCacheParameterGroups(sub { },[CacheParameterGroupName => Str, Marker => Str, MaxRecords => Int])

DescribeAllCacheParameterGroups([CacheParameterGroupName => Str, Marker => Str, MaxRecords => Int])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CacheParameterGroups, passing the object as the first parameter, and the string 'CacheParameterGroups' as the second parameter 

If not, it will return a a Paws::ElastiCache::CacheParameterGroupsMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllCacheParameters(sub { },CacheParameterGroupName => Str, [Marker => Str, MaxRecords => Int, Source => Str])

DescribeAllCacheParameters(CacheParameterGroupName => Str, [Marker => Str, MaxRecords => Int, Source => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Parameters, passing the object as the first parameter, and the string 'Parameters' as the second parameter 

If not, it will return a a Paws::ElastiCache::CacheParameterGroupDetails instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllCacheSecurityGroups(sub { },[CacheSecurityGroupName => Str, Marker => Str, MaxRecords => Int])

DescribeAllCacheSecurityGroups([CacheSecurityGroupName => Str, Marker => Str, MaxRecords => Int])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CacheSecurityGroups, passing the object as the first parameter, and the string 'CacheSecurityGroups' as the second parameter 

If not, it will return a a Paws::ElastiCache::CacheSecurityGroupMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllCacheSubnetGroups(sub { },[CacheSubnetGroupName => Str, Marker => Str, MaxRecords => Int])

DescribeAllCacheSubnetGroups([CacheSubnetGroupName => Str, Marker => Str, MaxRecords => Int])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CacheSubnetGroups, passing the object as the first parameter, and the string 'CacheSubnetGroups' as the second parameter 

If not, it will return a a Paws::ElastiCache::CacheSubnetGroupMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllEngineDefaultParameters(sub { },CacheParameterGroupFamily => Str, [Marker => Str, MaxRecords => Int])

DescribeAllEngineDefaultParameters(CacheParameterGroupFamily => Str, [Marker => Str, MaxRecords => Int])

If passed a sub as first parameter, it will call the sub for each element found in :

 - EngineDefaults.Parameters, passing the object as the first parameter, and the string 'EngineDefaults.Parameters' as the second parameter 

If not, it will return a a Paws::ElastiCache::DescribeEngineDefaultParametersResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllEvents(sub { },[Duration => Int, EndTime => Str, Marker => Str, MaxRecords => Int, SourceIdentifier => Str, SourceType => Str, StartTime => Str])

DescribeAllEvents([Duration => Int, EndTime => Str, Marker => Str, MaxRecords => Int, SourceIdentifier => Str, SourceType => Str, StartTime => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Events, passing the object as the first parameter, and the string 'Events' as the second parameter 

If not, it will return a a Paws::ElastiCache::EventsMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllReplicationGroups(sub { },[Marker => Str, MaxRecords => Int, ReplicationGroupId => Str])

DescribeAllReplicationGroups([Marker => Str, MaxRecords => Int, ReplicationGroupId => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - ReplicationGroups, passing the object as the first parameter, and the string 'ReplicationGroups' as the second parameter 

If not, it will return a a Paws::ElastiCache::ReplicationGroupMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllReservedCacheNodes(sub { },[CacheNodeType => Str, Duration => Str, Marker => Str, MaxRecords => Int, OfferingType => Str, ProductDescription => Str, ReservedCacheNodeId => Str, ReservedCacheNodesOfferingId => Str])

DescribeAllReservedCacheNodes([CacheNodeType => Str, Duration => Str, Marker => Str, MaxRecords => Int, OfferingType => Str, ProductDescription => Str, ReservedCacheNodeId => Str, ReservedCacheNodesOfferingId => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - ReservedCacheNodes, passing the object as the first parameter, and the string 'ReservedCacheNodes' as the second parameter 

If not, it will return a a Paws::ElastiCache::ReservedCacheNodeMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllReservedCacheNodesOfferings(sub { },[CacheNodeType => Str, Duration => Str, Marker => Str, MaxRecords => Int, OfferingType => Str, ProductDescription => Str, ReservedCacheNodesOfferingId => Str])

DescribeAllReservedCacheNodesOfferings([CacheNodeType => Str, Duration => Str, Marker => Str, MaxRecords => Int, OfferingType => Str, ProductDescription => Str, ReservedCacheNodesOfferingId => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - ReservedCacheNodesOfferings, passing the object as the first parameter, and the string 'ReservedCacheNodesOfferings' as the second parameter 

If not, it will return a a Paws::ElastiCache::ReservedCacheNodesOfferingMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

DescribeAllSnapshots(sub { },[CacheClusterId => Str, Marker => Str, MaxRecords => Int, ReplicationGroupId => Str, ShowNodeGroupConfig => Bool, SnapshotName => Str, SnapshotSource => Str])

DescribeAllSnapshots([CacheClusterId => Str, Marker => Str, MaxRecords => Int, ReplicationGroupId => Str, ShowNodeGroupConfig => Bool, SnapshotName => Str, SnapshotSource => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Snapshots, passing the object as the first parameter, and the string 'Snapshots' as the second parameter 

If not, it will return a a Paws::ElastiCache::DescribeSnapshotsListMessage instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues