
Amazon ElastiCache
******************


boto.elasticache
================

boto.elasticache.connect_to_region(region_name, **kw_params)

boto.elasticache.regions()

   Get all available regions for the AWS ElastiCache service.

   Return type:
      list

   Returns:
      A list of "boto.regioninfo.RegionInfo"


boto.elasticache.layer1
=======================

class class boto.elasticache.layer1.ElastiCacheConnection(**kwargs)

   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 set-up, 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.

   APIVersion = '2013-06-15'

   DefaultRegionEndpoint = 'elasticache.us-east-1.amazonaws.com'

   DefaultRegionName = 'us-east-1'

   authorize_cache_security_group_ingress(cache_security_group_name, ec2_security_group_name, ec2_security_group_owner_id)

      The AuthorizeCacheSecurityGroupIngress operation 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:
         * **cache_security_group_name** (*string*) -- The cache
           security group which will allow network ingress.

         * **ec2_security_group_name** (*string*) -- The Amazon EC2
           security group to be authorized for ingress to the cache
           security group.

         * **ec2_security_group_owner_id** (*string*) -- The AWS
           account number of the Amazon EC2 security group owner. Note
           that this is not the same thing as an AWS access key ID -
           you must provide a valid AWS account number for this
           parameter.

   create_cache_cluster(cache_cluster_id, num_cache_nodes=None, cache_node_type=None, engine=None, replication_group_id=None, engine_version=None, cache_parameter_group_name=None, cache_subnet_group_name=None, cache_security_group_names=None, security_group_ids=None, snapshot_arns=None, preferred_availability_zone=None, preferred_maintenance_window=None, port=None, notification_topic_arn=None, auto_minor_version_upgrade=None)

      The CreateCacheCluster operation creates a new cache cluster.
      All nodes in the cache cluster run the same protocol-compliant
      cache engine software - either Memcached or Redis.

      Parameters:
         **cache_cluster_id** (*string*) --

      The cache cluster identifier. This parameter is stored as a
      lowercase
         string.

      Constraints:

      * Must contain from 1 to 20 alphanumeric characters or hyphens.

      * First character must be a letter.

      * Cannot end with a hyphen or contain two consecutive hyphens.

      Parameters:
         * **replication_group_id** (*string*) -- The replication
           group to which this cache cluster should belong. If this
           parameter is specified, the cache cluster will be added to
           the specified replication group as a read replica;
           otherwise, the cache cluster will be a standalone primary
           that is not part of any replication group.

         * **num_cache_nodes** (*integer*) -- The initial number of
           cache nodes that the cache cluster will have.

      For a Memcached cluster, valid values are between 1 and 20. If
      you need
         to exceed this limit, please fill out the ElastiCache Limit
         Increase Request form at >>``<<_ .

      For Redis, only single-node cache clusters are supported at this
      time,
         so the value for this parameter must be 1.

      Parameters:
         **cache_node_type** (*string*) -- The compute and memory
         capacity of the nodes in the cache cluster.

      Valid values for Memcached:

      *cache.t1.micro* | *cache.m1.small* | *cache.m1.medium* |
         *cache.m1.large* | *cache.m1.xlarge* | *cache.m3.xlarge* |
         *cache.m3.2xlarge* | *cache.m2.xlarge* | *cache.m2.2xlarge* |
         *cache.m2.4xlarge* | *cache.c1.xlarge*

      Valid values for Redis:

      *cache.t1.micro* | *cache.m1.small* | *cache.m1.medium* |
         *cache.m1.large* | *cache.m1.xlarge* | *cache.m2.xlarge* |
         *cache.m2.2xlarge* | *cache.m2.4xlarge* | *cache.c1.xlarge*

      For a complete listing of cache node types and specifications,
      see >>`<<.

      Parameters:
         **engine** (*string*) -- The name of the cache engine to be
         used for this cache cluster.

      Valid values for this parameter are:

      *memcached* | *redis*

      Parameters:
         * **engine_version** (*string*) -- The version number of the
           cache engine to be used for this cluster. To view the
           supported cache engine versions, use the
           DescribeCacheEngineVersions operation.

         * **cache_parameter_group_name** (*string*) -- The name of
           the cache parameter group to associate with this cache
           cluster. If this argument is omitted, the default cache
           parameter group for the specified engine will be used.

         * **cache_subnet_group_name** (*string*) -- The name of the
           cache subnet group to be used for the cache cluster.

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

      Parameters:
         **cache_security_group_names** (*list*) -- A list of cache
         security group names to associate with this cache cluster.

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

      Parameters:
         **security_group_ids** (*list*) -- One or more VPC security
         groups associated with the cache cluster.

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

      Parameters:
         **snapshot_arns** (*list*) -- A single-element string list
         containing an Amazon Resource Name (ARN) that uniquely
         identifies a Redis RDB snapshot file stored in Amazon S3. The
         snapshot file will be used to populate the Redis cache in the
         new cache cluster. The Amazon S3 object name in the ARN
         cannot contain any commas.

      Here is an example of an Amazon S3 ARN:
         *arn:aws:s3:::my_bucket/snapshot1.rdb*

      **Note:** This parameter is only valid if the *Engine* parameter
      is
         *redis*.

      Parameters:
         **preferred_availability_zone** (*string*) -- The EC2
         Availability Zone in which the cache cluster will be created.

      All cache nodes belonging to a cache cluster are placed in the
         preferred availability zone.

      Default: System chosen availability zone.

      Parameters:
         **preferred_maintenance_window** (*string*) -- The weekly
         time range (in UTC) during which system maintenance can
         occur.

      Example: *sun:05:00-sun:09:00*

      Parameters:
         * **port** (*integer*) -- The port number on which each of
           the cache nodes will accept connections.

         * **notification_topic_arn** (*string*) --

      The Amazon Resource Name (ARN) of the Amazon Simple Notification
         Service (SNS) topic to which notifications will be sent.

      The Amazon SNS topic owner must be the same as the cache cluster
      owner.

      Parameters:
         **auto_minor_version_upgrade** (*boolean*) -- Determines
         whether minor engine upgrades will be applied automatically
         to the cache cluster during the maintenance window. A value
         of *True* allows these upgrades to occur; *False* disables
         automatic upgrades.

      Default: *True*

   create_cache_parameter_group(cache_parameter_group_name, cache_parameter_group_family, description)

      The CreateCacheParameterGroup operation creates a new cache
      parameter group. A cache parameter group is a collection of
      parameters that you apply to all of the nodes in a cache
      cluster.

      Parameters:
         * **cache_parameter_group_name** (*string*) -- A user-
           specified name for the cache parameter group.

         * **cache_parameter_group_family** (*string*) -- The name of
           the cache parameter group family the cache parameter group
           can be used with.

      Valid values are: *memcached1.4* | *redis2.6*

      Parameters:
         **description** (*string*) -- A user-specified description
         for the cache parameter group.

   create_cache_security_group(cache_security_group_name, description)

      The CreateCacheSecurityGroup operation 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
      cluster outside of an Amazon Virtual Private Cloud (VPC). If you
      are creating a cluster inside of a VPC, use a cache subnet group
      instead. For more information, see CreateCacheSubnetGroup .

      Parameters:
         **cache_security_group_name** (*string*) -- A name for the
         cache security group. This value is stored as a lowercase
         string.

      Constraints: Must contain no more than 255 alphanumeric
      characters.
         Must not be the word "Default".

      Example: *mysecuritygroup*

      Parameters:
         **description** (*string*) -- A description for the cache
         security group.

   create_cache_subnet_group(cache_subnet_group_name, cache_subnet_group_description, subnet_ids)

      The CreateCacheSubnetGroup operation creates a new cache subnet
      group.

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

      Parameters:
         **cache_subnet_group_name** (*string*) -- A name for the
         cache subnet group. This value is stored as a lowercase
         string.

      Constraints: Must contain no more than 255 alphanumeric
      characters or
         hyphens.

      Example: *mysubnetgroup*

      Parameters:
         * **cache_subnet_group_description** (*string*) -- A
           description for the cache subnet group.

         * **subnet_ids** (*list*) -- A list of VPC subnet IDs for the
           cache subnet group.

   create_replication_group(replication_group_id, primary_cluster_id, replication_group_description)

      The CreateReplicationGroup operation creates a replication
      group. A replication group is a collection of cache clusters,
      where one of the clusters is a read/write primary and the other
      clusters are read-only replicas. Writes to the primary are
      automatically propagated to the replicas.

      When you create a replication group, you must specify an
      existing cache cluster that is in the primary role. When the
      replication group has been successfully created, you can add one
      or more read replica replicas to it, up to a total of five read
      replicas.

      Parameters:
         **replication_group_id** (*string*) --

      The replication group identifier. This parameter is stored as a
         lowercase string.

      Constraints:

      * Must contain from 1 to 20 alphanumeric characters or hyphens.

      * First character must be a letter.

      * Cannot end with a hyphen or contain two consecutive hyphens.

      Parameters:
         * **primary_cluster_id** (*string*) -- The identifier of the
           cache cluster that will serve as the primary for this
           replication group. This cache cluster must already exist
           and have a status of available .

         * **replication_group_description** (*string*) -- A user-
           specified description for the replication group.

   delete_cache_cluster(cache_cluster_id)

      The DeleteCacheCluster operation 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
      operation, Amazon ElastiCache immediately begins deleting the
      cache cluster; you cannot cancel or revert this operation.

      Parameters:
         **cache_cluster_id** (*string*) -- The cache cluster
         identifier for the cluster to be deleted. This parameter is
         not case sensitive.

   delete_cache_parameter_group(cache_parameter_group_name)

      The DeleteCacheParameterGroup operation deletes the specified
      cache parameter group. You cannot delete a cache parameter group
      if it is associated with any cache clusters.

      Parameters:
         **cache_parameter_group_name** (*string*) --

      The name of the cache parameter group to delete.

      The specified cache security group must not be associated with
      any
         cache clusters.

   delete_cache_security_group(cache_security_group_name)

      The DeleteCacheSecurityGroup operation deletes a cache security
      group. You cannot delete a cache security group if it is
      associated with any cache clusters.

      Parameters:
         **cache_security_group_name** (*string*) --

      The name of the cache security group to delete.

      You cannot delete the default security group.

   delete_cache_subnet_group(cache_subnet_group_name)

      The DeleteCacheSubnetGroup operation deletes a cache subnet
      group. You cannot delete a cache subnet group if it is
      associated with any cache clusters.

      Parameters:
         **cache_subnet_group_name** (*string*) -- The name of the
         cache subnet group to delete.

      Constraints: Must contain no more than 255 alphanumeric
      characters or
         hyphens.

   delete_replication_group(replication_group_id)

      The DeleteReplicationGroup operation deletes an existing
      replication group. DeleteReplicationGroup deletes the primary
      cache cluster and all of the read replicas in the replication
      group. When you receive a successful response from this
      operation, Amazon ElastiCache immediately begins deleting the
      entire replication group; you cannot cancel or revert this
      operation.

      Parameters:
         **replication_group_id** (*string*) -- The identifier for the
         replication group to be deleted. This parameter is not case
         sensitive.

   describe_cache_clusters(cache_cluster_id=None, max_records=None, marker=None, show_cache_node_info=None)

      The DescribeCacheClusters operation 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:
         * **cache_cluster_id** (*string*) -- The user-supplied
           cluster identifier. If this parameter is specified, only
           information about that specific cache cluster is returned.
           This parameter isn't case sensitive.

         * **max_records** (*integer*) -- The maximum number of
           records to include in the response. If more records exist
           than the specified *MaxRecords* value, a marker is included
           in the response so that the remaining results can be
           retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         * **marker** (*string*) -- An optional marker returned from a
           prior request. Use this marker for pagination of results
           from this operation. If this parameter is specified, the
           response includes only records beyond the marker, up to the
           value specified by MaxRecords .

         * **show_cache_node_info** (*boolean*) -- An optional flag
           that can be included in the DescribeCacheCluster request to
           retrieve information about the individual cache nodes.

   describe_cache_engine_versions(engine=None, engine_version=None, cache_parameter_group_family=None, max_records=None, marker=None, default_only=None)

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

      Parameters:
         * **engine** (*string*) -- The cache engine to return. Valid
           values: *memcached* | *redis*

         * **engine_version** (*string*) -- The cache engine version
           to return.

      Example: *1.4.14*

      Parameters:
         **cache_parameter_group_family** (*string*) --

      The name of a specific cache parameter group family to return
      details
         for.

      Constraints:

      * Must be 1 to 255 alphanumeric characters

      * First character must be a letter

      * Cannot end with a hyphen or contain two consecutive hyphens

      Parameters:
         **max_records** (*integer*) -- The maximum number of records
         to include in the response. If more records exist than the
         specified *MaxRecords* value, a marker is included in the
         response so that the remaining results can be retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         * **marker** (*string*) -- An optional marker returned from a
           prior request. Use this marker for pagination of results
           from this operation. If this parameter is specified, the
           response includes only records beyond the marker, up to the
           value specified by MaxRecords .

         * **default_only** (*boolean*) -- If true , specifies that
           only the default version of the specified engine or engine
           and major version combination is to be returned.

   describe_cache_parameter_groups(cache_parameter_group_name=None, max_records=None, marker=None)

      The DescribeCacheParameterGroups operation 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:
         * **cache_parameter_group_name** (*string*) -- The name of a
           specific cache parameter group to return details for.

         * **max_records** (*integer*) -- The maximum number of
           records to include in the response. If more records exist
           than the specified *MaxRecords* value, a marker is included
           in the response so that the remaining results can be
           retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_cache_parameters(cache_parameter_group_name, source=None, max_records=None, marker=None)

      The DescribeCacheParameters operation returns the detailed
      parameter list for a particular cache parameter group.

      Parameters:
         * **cache_parameter_group_name** (*string*) -- The name of a
           specific cache parameter group to return details for.

         * **source** (*string*) -- The parameter types to return.

      Valid values: *user* | *system* | *engine-default*

      Parameters:
         **max_records** (*integer*) -- The maximum number of records
         to include in the response. If more records exist than the
         specified *MaxRecords* value, a marker is included in the
         response so that the remaining results can be retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_cache_security_groups(cache_security_group_name=None, max_records=None, marker=None)

      The DescribeCacheSecurityGroups operation 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:
         * **cache_security_group_name** (*string*) -- The name of the
           cache security group to return details for.

         * **max_records** (*integer*) -- The maximum number of
           records to include in the response. If more records exist
           than the specified *MaxRecords* value, a marker is included
           in the response so that the remaining results can be
           retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_cache_subnet_groups(cache_subnet_group_name=None, max_records=None, marker=None)

      The DescribeCacheSubnetGroups operation 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:
         * **cache_subnet_group_name** (*string*) -- The name of the
           cache subnet group to return details for.

         * **max_records** (*integer*) -- The maximum number of
           records to include in the response. If more records exist
           than the specified *MaxRecords* value, a marker is included
           in the response so that the remaining results can be
           retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_engine_default_parameters(cache_parameter_group_family, max_records=None, marker=None)

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

      Parameters:
         * **cache_parameter_group_family** (*string*) -- The name of
           the cache parameter group family. Valid values are:
           *memcached1.4* | *redis2.6*

         * **max_records** (*integer*) -- The maximum number of
           records to include in the response. If more records exist
           than the specified *MaxRecords* value, a marker is included
           in the response so that the remaining results can be
           retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_events(source_identifier=None, source_type=None, start_time=None, end_time=None, duration=None, max_records=None, marker=None)

      The DescribeEvents operation 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:
         * **source_identifier** (*string*) -- The identifier of the
           event source for which events will be returned. If not
           specified, then all sources are included in the response.

         * **source_type** (*string*) -- The event source to retrieve
           events for. If no value is specified, all events are
           returned.

      Valid values are: *cache-cluster* | *cache-parameter-group* |
      >>`<<cache-
         security-group` | *cache-subnet-group*

      Parameters:
         * **start_time** (*timestamp*) -- The beginning of the time
           interval to retrieve events for, specified in ISO 8601
           format.

         * **end_time** (*timestamp*) -- The end of the time interval
           for which to retrieve events, specified in ISO 8601 format.

         * **duration** (*integer*) -- The number of minutes' worth of
           events to retrieve.

         * **max_records** (*integer*) -- The maximum number of
           records to include in the response. If more records exist
           than the specified *MaxRecords* value, a marker is included
           in the response so that the remaining results can be
           retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_replication_groups(replication_group_id=None, max_records=None, marker=None)

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

      Parameters:
         **replication_group_id** (*string*) -- The identifier for the
         replication group to be described. This parameter is not case
         sensitive.

      If you do not specify this parameter, information about all
      replication
         groups is returned.

      Parameters:
         **max_records** (*integer*) -- The maximum number of records
         to include in the response. If more records exist than the
         specified *MaxRecords* value, a marker is included in the
         response so that the remaining results can be retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_reserved_cache_nodes(reserved_cache_node_id=None, reserved_cache_nodes_offering_id=None, cache_node_type=None, duration=None, product_description=None, offering_type=None, max_records=None, marker=None)

      The DescribeReservedCacheNodes operation returns information
      about reserved cache nodes for this account, or about a
      specified reserved cache node.

      Parameters:
         * **reserved_cache_node_id** (*string*) -- The reserved cache
           node identifier filter value. Use this parameter to show
           only the reservation that matches the specified reservation
           ID.

         * **reserved_cache_nodes_offering_id** (*string*) -- The
           offering identifier filter value. Use this parameter to
           show only purchased reservations matching the specified
           offering identifier.

         * **cache_node_type** (*string*) -- The cache node type
           filter value. Use this parameter to show only those
           reservations matching the specified cache node type.

         * **duration** (*string*) -- The duration filter value,
           specified in years or seconds. Use this parameter to show
           only reservations for this duration.

      Valid Values: *1 | 3 | 31536000 | 94608000*

      Parameters:
         * **product_description** (*string*) -- The product
           description filter value. Use this parameter to show only
           those reservations matching the specified product
           description.

         * **offering_type** (*string*) -- The offering type filter
           value. Use this parameter to show only the available
           offerings matching the specified offering type.

      Valid values: >>`<<"Light Utilization" | "Medium Utilization" |
      "Heavy
         Utilization" `

      Parameters:
         **max_records** (*integer*) -- The maximum number of records
         to include in the response. If more records exist than the
         specified *MaxRecords* value, a marker is included in the
         response so that the remaining results can be retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   describe_reserved_cache_nodes_offerings(reserved_cache_nodes_offering_id=None, cache_node_type=None, duration=None, product_description=None, offering_type=None, max_records=None, marker=None)

      The DescribeReservedCacheNodesOfferings operation lists
      available reserved cache node offerings.

      Parameters:
         **reserved_cache_nodes_offering_id** (*string*) -- The
         offering identifier filter value. Use this parameter to show
         only the available offering that matches the specified
         reservation identifier.

      Example: *438012d3-4052-4cc7-b2e3-8d3372e0e706*

      Parameters:
         * **cache_node_type** (*string*) -- The cache node type
           filter value. Use this parameter to show only the available
           offerings matching the specified cache node type.

         * **duration** (*string*) -- Duration filter value, specified
           in years or seconds. Use this parameter to show only
           reservations for a given duration.

      Valid Values: *1 | 3 | 31536000 | 94608000*

      Parameters:
         * **product_description** (*string*) -- The product
           description filter value. Use this parameter to show only
           the available offerings matching the specified product
           description.

         * **offering_type** (*string*) -- The offering type filter
           value. Use this parameter to show only the available
           offerings matching the specified offering type.

      Valid Values: >>`<<"Light Utilization" | "Medium Utilization" |
      "Heavy
         Utilization" `

      Parameters:
         **max_records** (*integer*) -- The maximum number of records
         to include in the response. If more records exist than the
         specified *MaxRecords* value, a marker is included in the
         response so that the remaining results can be retrieved.

      Default: 100

      Constraints: minimum 20; maximum 100.

      Parameters:
         **marker** (*string*) -- An optional marker returned from a
         prior request. Use this marker for pagination of results from
         this operation. If this parameter is specified, the response
         includes only records beyond the marker, up to the value
         specified by MaxRecords .

   modify_cache_cluster(cache_cluster_id, num_cache_nodes=None, cache_node_ids_to_remove=None, cache_security_group_names=None, security_group_ids=None, preferred_maintenance_window=None, notification_topic_arn=None, cache_parameter_group_name=None, notification_topic_status=None, apply_immediately=None, engine_version=None, auto_minor_version_upgrade=None)

      The ModifyCacheCluster operation modifies the settings for a
      cache cluster. You can use this operation to change one or more
      cluster configuration parameters by specifying the parameters
      and the new values.

      Parameters:
         * **cache_cluster_id** (*string*) -- The cache cluster
           identifier. This value is stored as a lowercase string.

         * **num_cache_nodes** (*integer*) -- The number of cache
           nodes that the cache cluster should have. If the value for
           NumCacheNodes is greater than the existing number of cache
           nodes, then more nodes will be added. If the value is less
           than the existing number of cache nodes, then cache nodes
           will be removed.

      If you are removing cache nodes, you must use the
      CacheNodeIdsToRemove
         parameter to provide the IDs of the specific cache nodes to
         be removed.

      Parameters:
         * **cache_node_ids_to_remove** (*list*) -- A list of cache
           node IDs to be removed. A node ID is a numeric identifier
           (0001, 0002, etc.). This parameter is only valid when
           NumCacheNodes is less than the existing number of cache
           nodes. The number of cache node IDs supplied in this
           parameter must match the difference between the existing
           number of cache nodes in the cluster and the value of
           NumCacheNodes in the request.

         * **cache_security_group_names** (*list*) -- A list of cache
           security group names to authorize on this cache cluster.
           This change is asynchronously applied as soon as possible.

      This parameter can be used only with clusters that are created
      outside
         of an Amazon Virtual Private Cloud (VPC).

      Constraints: Must contain no more than 255 alphanumeric
      characters.
         Must not be "Default".

      Parameters:
         **security_group_ids** (*list*) -- Specifies the VPC Security
         Groups associated with the cache cluster.

      This parameter can be used only with clusters that are created
      in an
         Amazon Virtual Private Cloud (VPC).

      Parameters:
         * **preferred_maintenance_window** (*string*) -- The weekly
           time range (in UTC) during which system maintenance can
           occur. Note that system maintenance may result in an
           outage. This change is made immediately. If you are moving
           this window to the current time, there must be at least 120
           minutes between the current time and end of the window to
           ensure that pending changes are applied.

         * **notification_topic_arn** (*string*) --

      The Amazon Resource Name (ARN) of the SNS topic to which
      notifications
         will be sent.

      The SNS topic owner must be same as the cache cluster owner.

      Parameters:
         * **cache_parameter_group_name** (*string*) -- The name of
           the cache parameter group to apply to this cache cluster.
           This change is asynchronously applied as soon as possible
           for parameters when the ApplyImmediately parameter is
           specified as true for this request.

         * **notification_topic_status** (*string*) -- The status of
           the Amazon SNS notification topic. Notifications are sent
           only if the status is active .

      Valid values: *active* | *inactive*

      Parameters:
         **apply_immediately** (*boolean*) -- If *True*, this
         parameter causes the modifications in this request and any
         pending modifications to be applied, asynchronously and as
         soon as possible, regardless of the
         PreferredMaintenanceWindow setting for the cache cluster.

      If *False*, then changes to the cache cluster are applied on the
      next
         maintenance reboot, or the next failure reboot, whichever
         occurs first.

      Valid values: *True* | *False*

      Default: *False*

      Parameters:
         * **engine_version** (*string*) -- The upgraded version of
           the cache engine to be run on the cache cluster nodes.

         * **auto_minor_version_upgrade** (*boolean*) -- If *True*,
           then minor engine upgrades will be applied automatically to
           the cache cluster during the maintenance window.

      Valid values: *True* | *False*

      Default: *True*

   modify_cache_parameter_group(cache_parameter_group_name, parameter_name_values)

      The ModifyCacheParameterGroup operation 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.

      Parameters:
         * **cache_parameter_group_name** (*string*) -- The name of
           the cache parameter group to modify.

         * **parameter_name_values** (*list*) -- An array of parameter
           names and values for the parameter update. You must supply
           at least one parameter name and value; subsequent arguments
           are optional. A maximum of 20 parameters may be modified
           per request.

   modify_cache_subnet_group(cache_subnet_group_name, cache_subnet_group_description=None, subnet_ids=None)

      The ModifyCacheSubnetGroup operation modifies an existing cache
      subnet group.

      Parameters:
         **cache_subnet_group_name** (*string*) -- The name for the
         cache subnet group. This value is stored as a lowercase
         string.

      Constraints: Must contain no more than 255 alphanumeric
      characters or
         hyphens.

      Example: *mysubnetgroup*

      Parameters:
         * **cache_subnet_group_description** (*string*) -- A
           description for the cache subnet group.

         * **subnet_ids** (*list*) -- The EC2 subnet IDs for the cache
           subnet group.

   modify_replication_group(replication_group_id, replication_group_description=None, cache_security_group_names=None, security_group_ids=None, preferred_maintenance_window=None, notification_topic_arn=None, cache_parameter_group_name=None, notification_topic_status=None, apply_immediately=None, engine_version=None, auto_minor_version_upgrade=None, primary_cluster_id=None)

      The ModifyReplicationGroup operation modifies the settings for a
      replication group.

      Parameters:
         * **replication_group_id** (*string*) -- The identifier of
           the replication group to modify.

         * **replication_group_description** (*string*) -- A
           description for the replication group. Maximum length is
           255 characters.

         * **cache_security_group_names** (*list*) -- A list of cache
           security group names to authorize for the clusters in this
           replication group. This change is asynchronously applied as
           soon as possible.

      This parameter can be used only with replication groups
      containing
         cache clusters running outside of an Amazon Virtual Private
         Cloud (VPC).

      Constraints: Must contain no more than 255 alphanumeric
      characters.
         Must not be "Default".

      Parameters:
         **security_group_ids** (*list*) -- Specifies the VPC Security
         Groups associated with the cache clusters in the replication
         group.

      This parameter can be used only with replication groups
      containing
         cache clusters running in an Amazon Virtual Private Cloud
         (VPC).

      Parameters:
         * **preferred_maintenance_window** (*string*) -- The weekly
           time range (in UTC) during which replication group system
           maintenance can occur. Note that system maintenance may
           result in an outage. This change is made immediately. If
           you are moving this window to the current time, there must
           be at least 120 minutes between the current time and end of
           the window to ensure that pending changes are applied.

         * **notification_topic_arn** (*string*) --

      The Amazon Resource Name (ARN) of the SNS topic to which
      notifications
         will be sent.

      The SNS topic owner must be same as the replication group owner.

      Parameters:
         * **cache_parameter_group_name** (*string*) -- The name of
           the cache parameter group to apply to all of the cache
           nodes in this replication group. This change is
           asynchronously applied as soon as possible for parameters
           when the ApplyImmediately parameter is specified as true
           for this request.

         * **notification_topic_status** (*string*) -- The status of
           the Amazon SNS notification topic for the replication
           group. Notifications are sent only if the status is active
           .

      Valid values: *active* | *inactive*

      Parameters:
         **apply_immediately** (*boolean*) -- If *True*, this
         parameter causes the modifications in this request and any
         pending modifications to be applied, asynchronously and as
         soon as possible, regardless of the
         PreferredMaintenanceWindow setting for the replication group.

      If *False*, then changes to the nodes in the replication group
      are
         applied on the next maintenance reboot, or the next failure
         reboot, whichever occurs first.

      Valid values: *True* | *False*

      Default: *False*

      Parameters:
         * **engine_version** (*string*) -- The upgraded version of
           the cache engine to be run on the nodes in the replication
           group..

         * **auto_minor_version_upgrade** (*boolean*) -- Determines
           whether minor engine upgrades will be applied automatically
           to all of the cache nodes in the replication group during
           the maintenance window. A value of *True* allows these
           upgrades to occur; *False* disables automatic upgrades.

         * **primary_cluster_id** (*string*) -- If this parameter is
           specified, ElastiCache will promote each of the nodes in
           the specified cache cluster to the primary role. The nodes
           of all other clusters in the replication group will be read
           replicas.

   purchase_reserved_cache_nodes_offering(reserved_cache_nodes_offering_id, reserved_cache_node_id=None, cache_node_count=None)

      The PurchaseReservedCacheNodesOffering operation allows you to
      purchase a reserved cache node offering.

      Parameters:
         **reserved_cache_nodes_offering_id** (*string*) -- The ID of
         the reserved cache node offering to purchase.

      Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

      Parameters:
         **reserved_cache_node_id** (*string*) -- A customer-specified
         identifier to track this reservation.

      Example: myreservationID

      Parameters:
         **cache_node_count** (*integer*) -- The number of cache node
         instances to reserve.

      Default: *1*

   reboot_cache_cluster(cache_cluster_id, cache_node_ids_to_reboot)

      The RebootCacheCluster operation reboots some, or all, of the
      cache cluster 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
      cluster node being rebooted) to be lost.

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

      Parameters:
         * **cache_cluster_id** (*string*) -- The cache cluster
           identifier. This parameter is stored as a lowercase string.

         * **cache_node_ids_to_reboot** (*list*) -- A list of cache
           cluster node IDs to reboot. A node ID is a numeric
           identifier (0001, 0002, etc.). To reboot an entire cache
           cluster, specify all of the cache cluster node IDs.

   reset_cache_parameter_group(cache_parameter_group_name, parameter_name_values, reset_all_parameters=None)

      The ResetCacheParameterGroup operation 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:
         * **cache_parameter_group_name** (*string*) -- The name of
           the cache parameter group to reset.

         * **reset_all_parameters** (*boolean*) -- If true , all
           parameters in the cache parameter group will be reset to
           default values. If false , no such action occurs.

      Valid values: *True* | *False*

      Parameters:
         **parameter_name_values** (*list*) -- An array of parameter
         names to be reset. If you are not resetting the entire cache
         parameter group, you must specify at least one parameter
         name.

   revoke_cache_security_group_ingress(cache_security_group_name, ec2_security_group_name, ec2_security_group_owner_id)

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

      Parameters:
         * **cache_security_group_name** (*string*) -- The name of the
           cache security group to revoke ingress from.

         * **ec2_security_group_name** (*string*) -- The name of the
           Amazon EC2 security group to revoke access from.

         * **ec2_security_group_owner_id** (*string*) -- The AWS
           account number of the Amazon EC2 security group owner. Note
           that this is not the same thing as an AWS access key ID -
           you must provide a valid AWS account number for this
           parameter.
