Interface AmazonElastiCache

  • All Known Subinterfaces:
    AmazonElastiCacheAsync
    All Known Implementing Classes:
    AbstractAmazonElastiCache, AbstractAmazonElastiCacheAsync, AmazonElastiCacheAsyncClient, AmazonElastiCacheClient

    public interface AmazonElastiCache
    Interface for accessing Amazon ElastiCache.

    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 gain all of the benefits of a high-performance, in-memory cache with far less of the administrative burden of 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.

    • Method Detail

      • setEndpoint

        void setEndpoint​(String endpoint)
        Overrides the default endpoint for this client ("elasticache.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.

        Callers can pass in just the endpoint (ex: "elasticache.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "elasticache.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's ClientConfiguration will be used, which by default is HTTPS.

        For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912

        This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

        Parameters:
        endpoint - The endpoint (ex: "elasticache.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "elasticache.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.
      • addTagsToResource

        AddTagsToResourceResult addTagsToResource​(AddTagsToResourceRequest addTagsToResourceRequest)

        The AddTagsToResource action adds up to 10 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. Cost allocation tags can be used 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.

        Parameters:
        addTagsToResourceRequest - Represents the input of an AddTagsToResource action.
        Returns:
        Result of the AddTagsToResource operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        SnapshotNotFoundException - The requested snapshot name does not refer to an existing snapshot.
        TagQuotaPerResourceExceededException - The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 10.
        InvalidARNException - The requested Amazon Resource Name (ARN) does not refer to an existing resource.
      • authorizeCacheSecurityGroupIngress

        CacheSecurityGroup authorizeCacheSecurityGroupIngress​(AuthorizeCacheSecurityGroupIngressRequest authorizeCacheSecurityGroupIngressRequest)

        The AuthorizeCacheSecurityGroupIngress action 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.
        Parameters:
        authorizeCacheSecurityGroupIngressRequest - Represents the input of an AuthorizeCacheSecurityGroupIngress action.
        Returns:
        Result of the AuthorizeCacheSecurityGroupIngress operation returned by the service.
        Throws:
        CacheSecurityGroupNotFoundException - The requested cache security group name does not refer to an existing cache security group.
        InvalidCacheSecurityGroupStateException - The current state of the cache security group does not allow deletion.
        AuthorizationAlreadyExistsException - The specified Amazon EC2 security group is already authorized for the specified cache security group.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • createCacheSecurityGroup

        CacheSecurityGroup createCacheSecurityGroup​(CreateCacheSecurityGroupRequest createCacheSecurityGroupRequest)

        The CreateCacheSecurityGroup action creates a new cache security group. Use a cache security group to control access to one or more cache clusters.

        Cache security groups are only used when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC). If you are creating a cache cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

        Parameters:
        createCacheSecurityGroupRequest - Represents the input of a CreateCacheSecurityGroup action.
        Returns:
        Result of the CreateCacheSecurityGroup operation returned by the service.
        Throws:
        CacheSecurityGroupAlreadyExistsException - A cache security group with the specified name already exists.
        CacheSecurityGroupQuotaExceededException - The request cannot be processed because it would exceed the allowed number of cache security groups.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • createCacheSubnetGroup

        CacheSubnetGroup createCacheSubnetGroup​(CreateCacheSubnetGroupRequest createCacheSubnetGroupRequest)

        The CreateCacheSubnetGroup action creates a new cache subnet group.

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

        Parameters:
        createCacheSubnetGroupRequest - Represents the input of a CreateCacheSubnetGroup action.
        Returns:
        Result of the CreateCacheSubnetGroup operation returned by the service.
        Throws:
        CacheSubnetGroupAlreadyExistsException - The requested cache subnet group name is already in use by an existing cache subnet group.
        CacheSubnetGroupQuotaExceededException - The request cannot be processed because it would exceed the allowed number of cache subnet groups.
        CacheSubnetQuotaExceededException - The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.
        InvalidSubnetException - An invalid subnet identifier was specified.
      • deleteCacheCluster

        CacheCluster deleteCacheCluster​(DeleteCacheClusterRequest deleteCacheClusterRequest)

        The DeleteCacheCluster action deletes a previously provisioned cache cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cache cluster itself. When you receive a successful response from this action, Amazon ElastiCache immediately begins deleting the cache cluster; you cannot cancel or revert this action.

        This API cannot be used to delete a cache cluster that is the last read replica of a replication group that has Multi-AZ mode enabled.

        Parameters:
        deleteCacheClusterRequest - Represents the input of a DeleteCacheCluster action.
        Returns:
        Result of the DeleteCacheCluster operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        InvalidCacheClusterStateException - The requested cache cluster is not in the available state.
        SnapshotAlreadyExistsException - You already have a snapshot with the given name.
        SnapshotFeatureNotSupportedException - You attempted one of the following actions:

        • Creating a snapshot of a Redis cache cluster running on a t1.micro cache node.

        • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

        Neither of these are supported by ElastiCache.

        SnapshotQuotaExceededException - The request cannot be processed because it would exceed the maximum number of snapshots.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • deleteCacheSubnetGroup

        DeleteCacheSubnetGroupResult deleteCacheSubnetGroup​(DeleteCacheSubnetGroupRequest deleteCacheSubnetGroupRequest)

        The DeleteCacheSubnetGroup action deletes a cache subnet group.

        You cannot delete a cache subnet group if it is associated with any cache clusters.
        Parameters:
        deleteCacheSubnetGroupRequest - Represents the input of a DeleteCacheSubnetGroup action.
        Returns:
        Result of the DeleteCacheSubnetGroup operation returned by the service.
        Throws:
        CacheSubnetGroupInUseException - The requested cache subnet group is currently in use.
        CacheSubnetGroupNotFoundException - The requested cache subnet group name does not refer to an existing cache subnet group.
      • deleteReplicationGroup

        ReplicationGroup deleteReplicationGroup​(DeleteReplicationGroupRequest deleteReplicationGroupRequest)

        The DeleteReplicationGroup action deletes an existing replication group. By default, this action deletes the entire replication group, including the primary cluster and all of the read replicas. You can optionally delete only the read replicas, while retaining the primary cluster.

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

        Parameters:
        deleteReplicationGroupRequest - Represents the input of a DeleteReplicationGroup action.
        Returns:
        Result of the DeleteReplicationGroup operation returned by the service.
        Throws:
        ReplicationGroupNotFoundException - The specified replication group does not exist.
        InvalidReplicationGroupStateException - The requested replication group is not in the available state.
        SnapshotAlreadyExistsException - You already have a snapshot with the given name.
        SnapshotFeatureNotSupportedException - You attempted one of the following actions:

        • Creating a snapshot of a Redis cache cluster running on a t1.micro cache node.

        • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

        Neither of these are supported by ElastiCache.

        SnapshotQuotaExceededException - The request cannot be processed because it would exceed the maximum number of snapshots.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • deleteSnapshot

        Snapshot deleteSnapshot​(DeleteSnapshotRequest deleteSnapshotRequest)

        The DeleteSnapshot action deletes an existing snapshot. When you receive a successful response from this action, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this action.

        Parameters:
        deleteSnapshotRequest - Represents the input of a DeleteSnapshot action.
        Returns:
        Result of the DeleteSnapshot operation returned by the service.
        Throws:
        SnapshotNotFoundException - The requested snapshot name does not refer to an existing snapshot.
        InvalidSnapshotStateException - The current state of the snapshot does not allow the requested action to occur.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • describeCacheClusters

        DescribeCacheClustersResult describeCacheClusters​(DescribeCacheClustersRequest describeCacheClustersRequest)

        The DescribeCacheClusters action returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

        By default, abbreviated information about the cache clusters(s) will be returned. You can use the optional ShowDetails flag to retrieve detailed information about the cache nodes associated with the cache 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 will be displayed until all of the nodes are successfully provisioned.

        If the cluster is in the DELETING state, only cluster level information will be displayed.

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

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

        Parameters:
        describeCacheClustersRequest - Represents the input of a DescribeCacheClusters action.
        Returns:
        Result of the DescribeCacheClusters operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • describeCacheEngineVersions

        DescribeCacheEngineVersionsResult describeCacheEngineVersions​(DescribeCacheEngineVersionsRequest describeCacheEngineVersionsRequest)

        The DescribeCacheEngineVersions action returns a list of the available cache engines and their versions.

        Parameters:
        describeCacheEngineVersionsRequest - Represents the input of a DescribeCacheEngineVersions action.
        Returns:
        Result of the DescribeCacheEngineVersions operation returned by the service.
      • describeCacheParameterGroups

        DescribeCacheParameterGroupsResult describeCacheParameterGroups​(DescribeCacheParameterGroupsRequest describeCacheParameterGroupsRequest)

        The DescribeCacheParameterGroups action returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list will contain only the descriptions for that group.

        Parameters:
        describeCacheParameterGroupsRequest - Represents the input of a DescribeCacheParameterGroups action.
        Returns:
        Result of the DescribeCacheParameterGroups operation returned by the service.
        Throws:
        CacheParameterGroupNotFoundException - The requested cache parameter group name does not refer to an existing cache parameter group.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • describeCacheSecurityGroups

        DescribeCacheSecurityGroupsResult describeCacheSecurityGroups​(DescribeCacheSecurityGroupsRequest describeCacheSecurityGroupsRequest)

        The DescribeCacheSecurityGroups action returns a list of cache security group descriptions. If a cache security group name is specified, the list will contain only the description of that group.

        Parameters:
        describeCacheSecurityGroupsRequest - Represents the input of a DescribeCacheSecurityGroups action.
        Returns:
        Result of the DescribeCacheSecurityGroups operation returned by the service.
        Throws:
        CacheSecurityGroupNotFoundException - The requested cache security group name does not refer to an existing cache security group.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • describeCacheSubnetGroups

        DescribeCacheSubnetGroupsResult describeCacheSubnetGroups​(DescribeCacheSubnetGroupsRequest describeCacheSubnetGroupsRequest)

        The DescribeCacheSubnetGroups action returns a list of cache subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

        Parameters:
        describeCacheSubnetGroupsRequest - Represents the input of a DescribeCacheSubnetGroups action.
        Returns:
        Result of the DescribeCacheSubnetGroups operation returned by the service.
        Throws:
        CacheSubnetGroupNotFoundException - The requested cache subnet group name does not refer to an existing cache subnet group.
      • describeEngineDefaultParameters

        EngineDefaults describeEngineDefaultParameters​(DescribeEngineDefaultParametersRequest describeEngineDefaultParametersRequest)

        The DescribeEngineDefaultParameters action returns the default engine and system parameter information for the specified cache engine.

        Parameters:
        describeEngineDefaultParametersRequest - Represents the input of a DescribeEngineDefaultParameters action.
        Returns:
        Result of the DescribeEngineDefaultParameters operation returned by the service.
        Throws:
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • describeEvents

        DescribeEventsResult describeEvents​(DescribeEventsRequest describeEventsRequest)

        The DescribeEvents action returns events related to cache clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cache 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.

        Parameters:
        describeEventsRequest - Represents the input of a DescribeEvents action.
        Returns:
        Result of the DescribeEvents operation returned by the service.
        Throws:
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • describeSnapshots

        DescribeSnapshotsResult describeSnapshots​(DescribeSnapshotsRequest describeSnapshotsRequest)

        The DescribeSnapshots action returns information about cache cluster 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.

        Parameters:
        describeSnapshotsRequest - Represents the input of a DescribeSnapshotsMessage action.
        Returns:
        Result of the DescribeSnapshots operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        SnapshotNotFoundException - The requested snapshot name does not refer to an existing snapshot.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • listAllowedNodeTypeModifications

        ListAllowedNodeTypeModificationsResult listAllowedNodeTypeModifications​(ListAllowedNodeTypeModificationsRequest listAllowedNodeTypeModificationsRequest)

        The ListAllowedNodeTypeModifications action 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 APIs to scale up your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this action.

        Parameters:
        listAllowedNodeTypeModificationsRequest - The input parameters for the ListAllowedNodeTypeModifications action.
        Returns:
        Result of the ListAllowedNodeTypeModifications operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        ReplicationGroupNotFoundException - The specified replication group does not exist.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
        InvalidParameterValueException - The value for a parameter is invalid.
      • listTagsForResource

        ListTagsForResourceResult listTagsForResource​(ListTagsForResourceRequest listTagsForResourceRequest)

        The ListTagsForResource action 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. Cost allocation tags can be used to categorize and track your AWS costs.

        You can have a maximum of 10 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache.

        Parameters:
        listTagsForResourceRequest - The input parameters for the ListTagsForResource action.
        Returns:
        Result of the ListTagsForResource operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        SnapshotNotFoundException - The requested snapshot name does not refer to an existing snapshot.
        InvalidARNException - The requested Amazon Resource Name (ARN) does not refer to an existing resource.
      • modifyCacheSubnetGroup

        CacheSubnetGroup modifyCacheSubnetGroup​(ModifyCacheSubnetGroupRequest modifyCacheSubnetGroupRequest)

        The ModifyCacheSubnetGroup action modifies an existing cache subnet group.

        Parameters:
        modifyCacheSubnetGroupRequest - Represents the input of a ModifyCacheSubnetGroup action.
        Returns:
        Result of the ModifyCacheSubnetGroup operation returned by the service.
        Throws:
        CacheSubnetGroupNotFoundException - The requested cache subnet group name does not refer to an existing cache subnet group.
        CacheSubnetQuotaExceededException - The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.
        SubnetInUseException - The requested subnet is being used by another cache subnet group.
        InvalidSubnetException - An invalid subnet identifier was specified.
      • rebootCacheCluster

        CacheCluster rebootCacheCluster​(RebootCacheClusterRequest rebootCacheClusterRequest)

        The RebootCacheCluster action reboots some, or all, of the cache nodes within a provisioned cache cluster. This API will apply any modified cache parameter groups to the cache cluster. The reboot action takes place as soon as possible, and results in a momentary outage to the cache cluster. During the reboot, the cache 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 cache cluster event is created.

        Parameters:
        rebootCacheClusterRequest - Represents the input of a RebootCacheCluster action.
        Returns:
        Result of the RebootCacheCluster operation returned by the service.
        Throws:
        InvalidCacheClusterStateException - The requested cache cluster is not in the available state.
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
      • removeTagsFromResource

        RemoveTagsFromResourceResult removeTagsFromResource​(RemoveTagsFromResourceRequest removeTagsFromResourceRequest)

        The RemoveTagsFromResource action removes the tags identified by the TagKeys list from the named resource.

        Parameters:
        removeTagsFromResourceRequest - Represents the input of a RemoveTagsFromResource action.
        Returns:
        Result of the RemoveTagsFromResource operation returned by the service.
        Throws:
        CacheClusterNotFoundException - The requested cache cluster ID does not refer to an existing cache cluster.
        SnapshotNotFoundException - The requested snapshot name does not refer to an existing snapshot.
        InvalidARNException - The requested Amazon Resource Name (ARN) does not refer to an existing resource.
        TagNotFoundException - The requested tag was not found on this resource.
      • resetCacheParameterGroup

        ResetCacheParameterGroupResult resetCacheParameterGroup​(ResetCacheParameterGroupRequest resetCacheParameterGroupRequest)

        The ResetCacheParameterGroup action 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.

        Parameters:
        resetCacheParameterGroupRequest - Represents the input of a ResetCacheParameterGroup action.
        Returns:
        Result of the ResetCacheParameterGroup operation returned by the service.
        Throws:
        InvalidCacheParameterGroupStateException - The current state of the cache parameter group does not allow the requested action to occur.
        CacheParameterGroupNotFoundException - The requested cache parameter group name does not refer to an existing cache parameter group.
        InvalidParameterValueException - The value for a parameter is invalid.
        InvalidParameterCombinationException - Two or more incompatible parameters were specified.
      • shutdown

        void shutdown()
        Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests.
      • getCachedResponseMetadata

        ResponseMetadata getCachedResponseMetadata​(AmazonWebServiceRequest request)
        Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.

        Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.

        Parameters:
        request - The originally executed request.
        Returns:
        The response metadata for the specified request, or null if none is available.