Index: tools/telemetry/third_party/gsutil/third_party/boto/boto/elasticache/layer1.py |
diff --git a/tools/telemetry/third_party/gsutil/third_party/boto/boto/elasticache/layer1.py b/tools/telemetry/third_party/gsutil/third_party/boto/boto/elasticache/layer1.py |
deleted file mode 100644 |
index 62bdefd18797bcfd5c88d405e75a9626dbc7c3ac..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/third_party/gsutil/third_party/boto/boto/elasticache/layer1.py |
+++ /dev/null |
@@ -1,1664 +0,0 @@ |
-# Copyright (c) 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved |
-# |
-# Permission is hereby granted, free of charge, to any person obtaining a |
-# copy of this software and associated documentation files (the |
-# "Software"), to deal in the Software without restriction, including |
-# without limitation the rights to use, copy, modify, merge, publish, dis- |
-# tribute, sublicense, and/or sell copies of the Software, and to permit |
-# persons to whom the Software is furnished to do so, subject to the fol- |
-# lowing conditions: |
-# |
-# The above copyright notice and this permission notice shall be included |
-# in all copies or substantial portions of the Software. |
-# |
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- |
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT |
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
-# IN THE SOFTWARE. |
-# |
- |
-import boto |
-from boto.compat import json |
-from boto.connection import AWSQueryConnection |
-from boto.regioninfo import RegionInfo |
- |
- |
-class ElastiCacheConnection(AWSQueryConnection): |
- """ |
- 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" |
- DefaultRegionName = "us-east-1" |
- DefaultRegionEndpoint = "elasticache.us-east-1.amazonaws.com" |
- |
- def __init__(self, **kwargs): |
- region = kwargs.get('region') |
- if not region: |
- region = RegionInfo(self, self.DefaultRegionName, |
- self.DefaultRegionEndpoint) |
- else: |
- del kwargs['region'] |
- kwargs['host'] = region.endpoint |
- super(ElastiCacheConnection, self).__init__(**kwargs) |
- self.region = region |
- |
- def _required_auth_capability(self): |
- return ['hmac-v4'] |
- |
- def authorize_cache_security_group_ingress(self, |
- 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. |
- |
- :type cache_security_group_name: string |
- :param cache_security_group_name: The cache security group which will |
- allow network ingress. |
- |
- :type ec2_security_group_name: string |
- :param ec2_security_group_name: The Amazon EC2 security group to be |
- authorized for ingress to the cache security group. |
- |
- :type ec2_security_group_owner_id: string |
- :param ec2_security_group_owner_id: 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. |
- |
- """ |
- params = { |
- 'CacheSecurityGroupName': cache_security_group_name, |
- 'EC2SecurityGroupName': ec2_security_group_name, |
- 'EC2SecurityGroupOwnerId': ec2_security_group_owner_id, |
- } |
- return self._make_request( |
- action='AuthorizeCacheSecurityGroupIngress', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_cache_cluster(self, 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. |
- |
- :type cache_cluster_id: string |
- :param cache_cluster_id: |
- 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. |
- |
- :type replication_group_id: string |
- :param replication_group_id: 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. |
- |
- :type num_cache_nodes: integer |
- :param num_cache_nodes: 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. |
- |
- :type cache_node_type: string |
- :param cache_node_type: 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 `. |
- |
- :type engine: string |
- :param engine: The name of the cache engine to be used for this cache |
- cluster. |
- Valid values for this parameter are: |
- |
- `memcached` | `redis` |
- |
- :type engine_version: string |
- :param engine_version: The version number of the cache engine to be |
- used for this cluster. To view the supported cache engine versions, |
- use the DescribeCacheEngineVersions operation. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: 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. |
- |
- :type cache_subnet_group_name: string |
- :param cache_subnet_group_name: 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). |
- |
- :type cache_security_group_names: list |
- :param cache_security_group_names: 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). |
- |
- :type security_group_ids: list |
- :param security_group_ids: 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). |
- |
- :type snapshot_arns: list |
- :param snapshot_arns: 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`. |
- |
- :type preferred_availability_zone: string |
- :param preferred_availability_zone: 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. |
- |
- :type preferred_maintenance_window: string |
- :param preferred_maintenance_window: The weekly time range (in UTC) |
- during which system maintenance can occur. |
- Example: `sun:05:00-sun:09:00` |
- |
- :type port: integer |
- :param port: The port number on which each of the cache nodes will |
- accept connections. |
- |
- :type notification_topic_arn: string |
- :param notification_topic_arn: |
- 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. |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: 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` |
- |
- """ |
- params = { |
- 'CacheClusterId': cache_cluster_id, |
- } |
- if num_cache_nodes is not None: |
- params['NumCacheNodes'] = num_cache_nodes |
- if cache_node_type is not None: |
- params['CacheNodeType'] = cache_node_type |
- if engine is not None: |
- params['Engine'] = engine |
- if replication_group_id is not None: |
- params['ReplicationGroupId'] = replication_group_id |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if cache_parameter_group_name is not None: |
- params['CacheParameterGroupName'] = cache_parameter_group_name |
- if cache_subnet_group_name is not None: |
- params['CacheSubnetGroupName'] = cache_subnet_group_name |
- if cache_security_group_names is not None: |
- self.build_list_params(params, |
- cache_security_group_names, |
- 'CacheSecurityGroupNames.member') |
- if security_group_ids is not None: |
- self.build_list_params(params, |
- security_group_ids, |
- 'SecurityGroupIds.member') |
- if snapshot_arns is not None: |
- self.build_list_params(params, |
- snapshot_arns, |
- 'SnapshotArns.member') |
- if preferred_availability_zone is not None: |
- params['PreferredAvailabilityZone'] = preferred_availability_zone |
- if preferred_maintenance_window is not None: |
- params['PreferredMaintenanceWindow'] = preferred_maintenance_window |
- if port is not None: |
- params['Port'] = port |
- if notification_topic_arn is not None: |
- params['NotificationTopicArn'] = notification_topic_arn |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- return self._make_request( |
- action='CreateCacheCluster', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_cache_parameter_group(self, 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: A user-specified name for the cache |
- parameter group. |
- |
- :type cache_parameter_group_family: string |
- :param cache_parameter_group_family: The name of the cache parameter |
- group family the cache parameter group can be used with. |
- Valid values are: `memcached1.4` | `redis2.6` |
- |
- :type description: string |
- :param description: A user-specified description for the cache |
- parameter group. |
- |
- """ |
- params = { |
- 'CacheParameterGroupName': cache_parameter_group_name, |
- 'CacheParameterGroupFamily': cache_parameter_group_family, |
- 'Description': description, |
- } |
- return self._make_request( |
- action='CreateCacheParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_cache_security_group(self, 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 . |
- |
- :type cache_security_group_name: string |
- :param cache_security_group_name: 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` |
- |
- :type description: string |
- :param description: A description for the cache security group. |
- |
- """ |
- params = { |
- 'CacheSecurityGroupName': cache_security_group_name, |
- 'Description': description, |
- } |
- return self._make_request( |
- action='CreateCacheSecurityGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_cache_subnet_group(self, 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). |
- |
- :type cache_subnet_group_name: string |
- :param cache_subnet_group_name: 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` |
- |
- :type cache_subnet_group_description: string |
- :param cache_subnet_group_description: A description for the cache |
- subnet group. |
- |
- :type subnet_ids: list |
- :param subnet_ids: A list of VPC subnet IDs for the cache subnet group. |
- |
- """ |
- params = { |
- 'CacheSubnetGroupName': cache_subnet_group_name, |
- 'CacheSubnetGroupDescription': cache_subnet_group_description, |
- } |
- self.build_list_params(params, |
- subnet_ids, |
- 'SubnetIds.member') |
- return self._make_request( |
- action='CreateCacheSubnetGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def create_replication_group(self, 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. |
- |
- :type replication_group_id: string |
- :param replication_group_id: |
- 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. |
- |
- :type primary_cluster_id: string |
- :param primary_cluster_id: 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 . |
- |
- :type replication_group_description: string |
- :param replication_group_description: A user-specified description for |
- the replication group. |
- |
- """ |
- params = { |
- 'ReplicationGroupId': replication_group_id, |
- 'PrimaryClusterId': primary_cluster_id, |
- 'ReplicationGroupDescription': replication_group_description, |
- } |
- return self._make_request( |
- action='CreateReplicationGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_cache_cluster(self, 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. |
- |
- :type cache_cluster_id: string |
- :param cache_cluster_id: The cache cluster identifier for the cluster |
- to be deleted. This parameter is not case sensitive. |
- |
- """ |
- params = {'CacheClusterId': cache_cluster_id, } |
- return self._make_request( |
- action='DeleteCacheCluster', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_cache_parameter_group(self, 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: |
- The name of the cache parameter group to delete. |
- |
- The specified cache security group must not be associated with any |
- cache clusters. |
- |
- """ |
- params = { |
- 'CacheParameterGroupName': cache_parameter_group_name, |
- } |
- return self._make_request( |
- action='DeleteCacheParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_cache_security_group(self, 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. |
- |
- :type cache_security_group_name: string |
- :param cache_security_group_name: |
- The name of the cache security group to delete. |
- |
- You cannot delete the default security group. |
- |
- """ |
- params = { |
- 'CacheSecurityGroupName': cache_security_group_name, |
- } |
- return self._make_request( |
- action='DeleteCacheSecurityGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_cache_subnet_group(self, 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. |
- |
- :type cache_subnet_group_name: string |
- :param cache_subnet_group_name: The name of the cache subnet group to |
- delete. |
- Constraints: Must contain no more than 255 alphanumeric characters or |
- hyphens. |
- |
- """ |
- params = {'CacheSubnetGroupName': cache_subnet_group_name, } |
- return self._make_request( |
- action='DeleteCacheSubnetGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def delete_replication_group(self, 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. |
- |
- :type replication_group_id: string |
- :param replication_group_id: The identifier for the replication group |
- to be deleted. This parameter is not case sensitive. |
- |
- """ |
- params = {'ReplicationGroupId': replication_group_id, } |
- return self._make_request( |
- action='DeleteReplicationGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_cache_clusters(self, 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. |
- |
- :type cache_cluster_id: string |
- :param cache_cluster_id: 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. |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- :type show_cache_node_info: boolean |
- :param show_cache_node_info: An optional flag that can be included in |
- the DescribeCacheCluster request to retrieve information about the |
- individual cache nodes. |
- |
- """ |
- params = {} |
- if cache_cluster_id is not None: |
- params['CacheClusterId'] = cache_cluster_id |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- if show_cache_node_info is not None: |
- params['ShowCacheNodeInfo'] = str( |
- show_cache_node_info).lower() |
- return self._make_request( |
- action='DescribeCacheClusters', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_cache_engine_versions(self, 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. |
- |
- :type engine: string |
- :param engine: The cache engine to return. Valid values: `memcached` | |
- `redis` |
- |
- :type engine_version: string |
- :param engine_version: The cache engine version to return. |
- Example: `1.4.14` |
- |
- :type cache_parameter_group_family: string |
- :param cache_parameter_group_family: |
- 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 |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- :type default_only: boolean |
- :param default_only: If true , specifies that only the default version |
- of the specified engine or engine and major version combination is |
- to be returned. |
- |
- """ |
- params = {} |
- if engine is not None: |
- params['Engine'] = engine |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if cache_parameter_group_family is not None: |
- params['CacheParameterGroupFamily'] = cache_parameter_group_family |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- if default_only is not None: |
- params['DefaultOnly'] = str( |
- default_only).lower() |
- return self._make_request( |
- action='DescribeCacheEngineVersions', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_cache_parameter_groups(self, |
- 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: The name of a specific cache |
- parameter group to return details for. |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if cache_parameter_group_name is not None: |
- params['CacheParameterGroupName'] = cache_parameter_group_name |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeCacheParameterGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_cache_parameters(self, 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: The name of a specific cache |
- parameter group to return details for. |
- |
- :type source: string |
- :param source: The parameter types to return. |
- Valid values: `user` | `system` | `engine-default` |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = { |
- 'CacheParameterGroupName': cache_parameter_group_name, |
- } |
- if source is not None: |
- params['Source'] = source |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeCacheParameters', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_cache_security_groups(self, 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. |
- |
- :type cache_security_group_name: string |
- :param cache_security_group_name: The name of the cache security group |
- to return details for. |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if cache_security_group_name is not None: |
- params['CacheSecurityGroupName'] = cache_security_group_name |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeCacheSecurityGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_cache_subnet_groups(self, 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. |
- |
- :type cache_subnet_group_name: string |
- :param cache_subnet_group_name: The name of the cache subnet group to |
- return details for. |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if cache_subnet_group_name is not None: |
- params['CacheSubnetGroupName'] = cache_subnet_group_name |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeCacheSubnetGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_engine_default_parameters(self, |
- 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. |
- |
- :type cache_parameter_group_family: string |
- :param cache_parameter_group_family: The name of the cache parameter |
- group family. Valid values are: `memcached1.4` | `redis2.6` |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = { |
- 'CacheParameterGroupFamily': cache_parameter_group_family, |
- } |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeEngineDefaultParameters', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_events(self, 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. |
- |
- :type source_identifier: string |
- :param source_identifier: The identifier of the event source for which |
- events will be returned. If not specified, then all sources are |
- included in the response. |
- |
- :type source_type: string |
- :param source_type: 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` |
- |
- :type start_time: timestamp |
- :param start_time: The beginning of the time interval to retrieve |
- events for, specified in ISO 8601 format. |
- |
- :type end_time: timestamp |
- :param end_time: The end of the time interval for which to retrieve |
- events, specified in ISO 8601 format. |
- |
- :type duration: integer |
- :param duration: The number of minutes' worth of events to retrieve. |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if source_identifier is not None: |
- params['SourceIdentifier'] = source_identifier |
- if source_type is not None: |
- params['SourceType'] = source_type |
- if start_time is not None: |
- params['StartTime'] = start_time |
- if end_time is not None: |
- params['EndTime'] = end_time |
- if duration is not None: |
- params['Duration'] = duration |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeEvents', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_replication_groups(self, 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. |
- |
- :type replication_group_id: string |
- :param replication_group_id: 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. |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if replication_group_id is not None: |
- params['ReplicationGroupId'] = replication_group_id |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeReplicationGroups', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_reserved_cache_nodes(self, 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. |
- |
- :type reserved_cache_node_id: string |
- :param reserved_cache_node_id: The reserved cache node identifier |
- filter value. Use this parameter to show only the reservation that |
- matches the specified reservation ID. |
- |
- :type reserved_cache_nodes_offering_id: string |
- :param reserved_cache_nodes_offering_id: The offering identifier filter |
- value. Use this parameter to show only purchased reservations |
- matching the specified offering identifier. |
- |
- :type cache_node_type: string |
- :param cache_node_type: The cache node type filter value. Use this |
- parameter to show only those reservations matching the specified |
- cache node type. |
- |
- :type duration: string |
- :param duration: 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` |
- |
- :type product_description: string |
- :param product_description: The product description filter value. Use |
- this parameter to show only those reservations matching the |
- specified product description. |
- |
- :type offering_type: string |
- :param offering_type: 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" ` |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if reserved_cache_node_id is not None: |
- params['ReservedCacheNodeId'] = reserved_cache_node_id |
- if reserved_cache_nodes_offering_id is not None: |
- params['ReservedCacheNodesOfferingId'] = reserved_cache_nodes_offering_id |
- if cache_node_type is not None: |
- params['CacheNodeType'] = cache_node_type |
- if duration is not None: |
- params['Duration'] = duration |
- if product_description is not None: |
- params['ProductDescription'] = product_description |
- if offering_type is not None: |
- params['OfferingType'] = offering_type |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeReservedCacheNodes', |
- verb='POST', |
- path='/', params=params) |
- |
- def describe_reserved_cache_nodes_offerings(self, |
- 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. |
- |
- :type reserved_cache_nodes_offering_id: string |
- :param reserved_cache_nodes_offering_id: 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` |
- |
- :type cache_node_type: string |
- :param cache_node_type: The cache node type filter value. Use this |
- parameter to show only the available offerings matching the |
- specified cache node type. |
- |
- :type duration: string |
- :param duration: 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` |
- |
- :type product_description: string |
- :param product_description: The product description filter value. Use |
- this parameter to show only the available offerings matching the |
- specified product description. |
- |
- :type offering_type: string |
- :param offering_type: 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" ` |
- |
- :type max_records: integer |
- :param max_records: 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. |
- |
- :type marker: string |
- :param marker: 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 . |
- |
- """ |
- params = {} |
- if reserved_cache_nodes_offering_id is not None: |
- params['ReservedCacheNodesOfferingId'] = reserved_cache_nodes_offering_id |
- if cache_node_type is not None: |
- params['CacheNodeType'] = cache_node_type |
- if duration is not None: |
- params['Duration'] = duration |
- if product_description is not None: |
- params['ProductDescription'] = product_description |
- if offering_type is not None: |
- params['OfferingType'] = offering_type |
- if max_records is not None: |
- params['MaxRecords'] = max_records |
- if marker is not None: |
- params['Marker'] = marker |
- return self._make_request( |
- action='DescribeReservedCacheNodesOfferings', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_cache_cluster(self, 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. |
- |
- :type cache_cluster_id: string |
- :param cache_cluster_id: The cache cluster identifier. This value is |
- stored as a lowercase string. |
- |
- :type num_cache_nodes: integer |
- :param num_cache_nodes: 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. |
- |
- :type cache_node_ids_to_remove: list |
- :param cache_node_ids_to_remove: 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. |
- |
- :type cache_security_group_names: list |
- :param cache_security_group_names: 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". |
- |
- :type security_group_ids: list |
- :param security_group_ids: 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). |
- |
- :type preferred_maintenance_window: string |
- :param preferred_maintenance_window: 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. |
- |
- :type notification_topic_arn: string |
- :param notification_topic_arn: |
- 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: 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. |
- |
- :type notification_topic_status: string |
- :param notification_topic_status: The status of the Amazon SNS |
- notification topic. Notifications are sent only if the status is |
- active . |
- Valid values: `active` | `inactive` |
- |
- :type apply_immediately: boolean |
- :param apply_immediately: 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` |
- |
- :type engine_version: string |
- :param engine_version: The upgraded version of the cache engine to be |
- run on the cache cluster nodes. |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: If `True`, then minor engine |
- upgrades will be applied automatically to the cache cluster during |
- the maintenance window. |
- Valid values: `True` | `False` |
- |
- Default: `True` |
- |
- """ |
- params = {'CacheClusterId': cache_cluster_id, } |
- if num_cache_nodes is not None: |
- params['NumCacheNodes'] = num_cache_nodes |
- if cache_node_ids_to_remove is not None: |
- self.build_list_params(params, |
- cache_node_ids_to_remove, |
- 'CacheNodeIdsToRemove.member') |
- if cache_security_group_names is not None: |
- self.build_list_params(params, |
- cache_security_group_names, |
- 'CacheSecurityGroupNames.member') |
- if security_group_ids is not None: |
- self.build_list_params(params, |
- security_group_ids, |
- 'SecurityGroupIds.member') |
- if preferred_maintenance_window is not None: |
- params['PreferredMaintenanceWindow'] = preferred_maintenance_window |
- if notification_topic_arn is not None: |
- params['NotificationTopicArn'] = notification_topic_arn |
- if cache_parameter_group_name is not None: |
- params['CacheParameterGroupName'] = cache_parameter_group_name |
- if notification_topic_status is not None: |
- params['NotificationTopicStatus'] = notification_topic_status |
- if apply_immediately is not None: |
- params['ApplyImmediately'] = str( |
- apply_immediately).lower() |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- return self._make_request( |
- action='ModifyCacheCluster', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_cache_parameter_group(self, 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: The name of the cache parameter |
- group to modify. |
- |
- :type parameter_name_values: list |
- :param parameter_name_values: 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. |
- |
- """ |
- params = { |
- 'CacheParameterGroupName': cache_parameter_group_name, |
- } |
- self.build_complex_list_params( |
- params, parameter_name_values, |
- 'ParameterNameValues.member', |
- ('ParameterName', 'ParameterValue')) |
- return self._make_request( |
- action='ModifyCacheParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_cache_subnet_group(self, cache_subnet_group_name, |
- cache_subnet_group_description=None, |
- subnet_ids=None): |
- """ |
- The ModifyCacheSubnetGroup operation modifies an existing |
- cache subnet group. |
- |
- :type cache_subnet_group_name: string |
- :param cache_subnet_group_name: 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` |
- |
- :type cache_subnet_group_description: string |
- :param cache_subnet_group_description: A description for the cache |
- subnet group. |
- |
- :type subnet_ids: list |
- :param subnet_ids: The EC2 subnet IDs for the cache subnet group. |
- |
- """ |
- params = {'CacheSubnetGroupName': cache_subnet_group_name, } |
- if cache_subnet_group_description is not None: |
- params['CacheSubnetGroupDescription'] = cache_subnet_group_description |
- if subnet_ids is not None: |
- self.build_list_params(params, |
- subnet_ids, |
- 'SubnetIds.member') |
- return self._make_request( |
- action='ModifyCacheSubnetGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def modify_replication_group(self, 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. |
- |
- :type replication_group_id: string |
- :param replication_group_id: The identifier of the replication group to |
- modify. |
- |
- :type replication_group_description: string |
- :param replication_group_description: A description for the replication |
- group. Maximum length is 255 characters. |
- |
- :type cache_security_group_names: list |
- :param cache_security_group_names: 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". |
- |
- :type security_group_ids: list |
- :param security_group_ids: 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). |
- |
- :type preferred_maintenance_window: string |
- :param preferred_maintenance_window: 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. |
- |
- :type notification_topic_arn: string |
- :param notification_topic_arn: |
- 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: 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. |
- |
- :type notification_topic_status: string |
- :param notification_topic_status: 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` |
- |
- :type apply_immediately: boolean |
- :param apply_immediately: 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` |
- |
- :type engine_version: string |
- :param engine_version: The upgraded version of the cache engine to be |
- run on the nodes in the replication group.. |
- |
- :type auto_minor_version_upgrade: boolean |
- :param auto_minor_version_upgrade: 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. |
- |
- :type primary_cluster_id: string |
- :param primary_cluster_id: 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. |
- |
- """ |
- params = {'ReplicationGroupId': replication_group_id, } |
- if replication_group_description is not None: |
- params['ReplicationGroupDescription'] = replication_group_description |
- if cache_security_group_names is not None: |
- self.build_list_params(params, |
- cache_security_group_names, |
- 'CacheSecurityGroupNames.member') |
- if security_group_ids is not None: |
- self.build_list_params(params, |
- security_group_ids, |
- 'SecurityGroupIds.member') |
- if preferred_maintenance_window is not None: |
- params['PreferredMaintenanceWindow'] = preferred_maintenance_window |
- if notification_topic_arn is not None: |
- params['NotificationTopicArn'] = notification_topic_arn |
- if cache_parameter_group_name is not None: |
- params['CacheParameterGroupName'] = cache_parameter_group_name |
- if notification_topic_status is not None: |
- params['NotificationTopicStatus'] = notification_topic_status |
- if apply_immediately is not None: |
- params['ApplyImmediately'] = str( |
- apply_immediately).lower() |
- if engine_version is not None: |
- params['EngineVersion'] = engine_version |
- if auto_minor_version_upgrade is not None: |
- params['AutoMinorVersionUpgrade'] = str( |
- auto_minor_version_upgrade).lower() |
- if primary_cluster_id is not None: |
- params['PrimaryClusterId'] = primary_cluster_id |
- return self._make_request( |
- action='ModifyReplicationGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def purchase_reserved_cache_nodes_offering(self, |
- 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. |
- |
- :type reserved_cache_nodes_offering_id: string |
- :param reserved_cache_nodes_offering_id: The ID of the reserved cache |
- node offering to purchase. |
- Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 |
- |
- :type reserved_cache_node_id: string |
- :param reserved_cache_node_id: A customer-specified identifier to track |
- this reservation. |
- Example: myreservationID |
- |
- :type cache_node_count: integer |
- :param cache_node_count: The number of cache node instances to reserve. |
- Default: `1` |
- |
- """ |
- params = { |
- 'ReservedCacheNodesOfferingId': reserved_cache_nodes_offering_id, |
- } |
- if reserved_cache_node_id is not None: |
- params['ReservedCacheNodeId'] = reserved_cache_node_id |
- if cache_node_count is not None: |
- params['CacheNodeCount'] = cache_node_count |
- return self._make_request( |
- action='PurchaseReservedCacheNodesOffering', |
- verb='POST', |
- path='/', params=params) |
- |
- def reboot_cache_cluster(self, 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. |
- |
- :type cache_cluster_id: string |
- :param cache_cluster_id: The cache cluster identifier. This parameter |
- is stored as a lowercase string. |
- |
- :type cache_node_ids_to_reboot: list |
- :param cache_node_ids_to_reboot: 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. |
- |
- """ |
- params = {'CacheClusterId': cache_cluster_id, } |
- self.build_list_params(params, |
- cache_node_ids_to_reboot, |
- 'CacheNodeIdsToReboot.member') |
- return self._make_request( |
- action='RebootCacheCluster', |
- verb='POST', |
- path='/', params=params) |
- |
- def reset_cache_parameter_group(self, 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. |
- |
- :type cache_parameter_group_name: string |
- :param cache_parameter_group_name: The name of the cache parameter |
- group to reset. |
- |
- :type reset_all_parameters: boolean |
- :param reset_all_parameters: 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` |
- |
- :type parameter_name_values: list |
- :param parameter_name_values: 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. |
- |
- """ |
- params = { |
- 'CacheParameterGroupName': cache_parameter_group_name, |
- } |
- self.build_complex_list_params( |
- params, parameter_name_values, |
- 'ParameterNameValues.member', |
- ('ParameterName', 'ParameterValue')) |
- if reset_all_parameters is not None: |
- params['ResetAllParameters'] = str( |
- reset_all_parameters).lower() |
- return self._make_request( |
- action='ResetCacheParameterGroup', |
- verb='POST', |
- path='/', params=params) |
- |
- def revoke_cache_security_group_ingress(self, 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. |
- |
- :type cache_security_group_name: string |
- :param cache_security_group_name: The name of the cache security group |
- to revoke ingress from. |
- |
- :type ec2_security_group_name: string |
- :param ec2_security_group_name: The name of the Amazon EC2 security |
- group to revoke access from. |
- |
- :type ec2_security_group_owner_id: string |
- :param ec2_security_group_owner_id: 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. |
- |
- """ |
- params = { |
- 'CacheSecurityGroupName': cache_security_group_name, |
- 'EC2SecurityGroupName': ec2_security_group_name, |
- 'EC2SecurityGroupOwnerId': ec2_security_group_owner_id, |
- } |
- return self._make_request( |
- action='RevokeCacheSecurityGroupIngress', |
- verb='POST', |
- path='/', params=params) |
- |
- def _make_request(self, action, verb, path, params): |
- params['ContentType'] = 'JSON' |
- response = self.make_request(action=action, verb='POST', |
- path='/', params=params) |
- body = response.read().decode('utf-8') |
- boto.log.debug(body) |
- if response.status == 200: |
- return json.loads(body) |
- else: |
- raise self.ResponseError(response.status, response.reason, body) |