File Coverage

blib/lib/Paws/ElastiCache/ModifyCacheCluster.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1              
2             package Paws::ElastiCache::ModifyCacheCluster;
3 1     1   325 use Moose;
  1         3  
  1         8  
4             has ApplyImmediately => (is => 'ro', isa => 'Bool');
5             has AutoMinorVersionUpgrade => (is => 'ro', isa => 'Bool');
6             has AZMode => (is => 'ro', isa => 'Str');
7             has CacheClusterId => (is => 'ro', isa => 'Str', required => 1);
8             has CacheNodeIdsToRemove => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
9             has CacheNodeType => (is => 'ro', isa => 'Str');
10             has CacheParameterGroupName => (is => 'ro', isa => 'Str');
11             has CacheSecurityGroupNames => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
12             has EngineVersion => (is => 'ro', isa => 'Str');
13             has NewAvailabilityZones => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
14             has NotificationTopicArn => (is => 'ro', isa => 'Str');
15             has NotificationTopicStatus => (is => 'ro', isa => 'Str');
16             has NumCacheNodes => (is => 'ro', isa => 'Int');
17             has PreferredMaintenanceWindow => (is => 'ro', isa => 'Str');
18             has SecurityGroupIds => (is => 'ro', isa => 'ArrayRef[Str|Undef]');
19             has SnapshotRetentionLimit => (is => 'ro', isa => 'Int');
20             has SnapshotWindow => (is => 'ro', isa => 'Str');
21              
22 1     1   5518 use MooseX::ClassAttribute;
  1         3  
  1         9  
23              
24             class_has _api_call => (isa => 'Str', is => 'ro', default => 'ModifyCacheCluster');
25             class_has _returns => (isa => 'Str', is => 'ro', default => 'Paws::ElastiCache::ModifyCacheClusterResult');
26             class_has _result_key => (isa => 'Str', is => 'ro', default => 'ModifyCacheClusterResult');
27             1;
28              
29             ### main pod documentation begin ###
30              
31             =head1 NAME
32              
33             Paws::ElastiCache::ModifyCacheCluster - Arguments for method ModifyCacheCluster on Paws::ElastiCache
34              
35             =head1 DESCRIPTION
36              
37             This class represents the parameters used for calling the method ModifyCacheCluster on the
38             Amazon ElastiCache service. Use the attributes of this class
39             as arguments to method ModifyCacheCluster.
40              
41             You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to ModifyCacheCluster.
42              
43             As an example:
44              
45             $service_obj->ModifyCacheCluster(Att1 => $value1, Att2 => $value2, ...);
46              
47             Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object.
48              
49             =head1 ATTRIBUTES
50              
51              
52             =head2 ApplyImmediately => Bool
53              
54             If C<true>, this parameter causes the modifications in this request and
55             any pending modifications to be applied, asynchronously and as soon as
56             possible, regardless of the C<PreferredMaintenanceWindow> setting for
57             the cache cluster.
58              
59             If C<false>, changes to the cache cluster are applied on the next
60             maintenance reboot, or the next failure reboot, whichever occurs first.
61              
62             If you perform a C<ModifyCacheCluster> before a pending modification is
63             applied, the pending modification is replaced by the newer
64             modification.
65              
66             Valid values: C<true> | C<false>
67              
68             Default: C<false>
69              
70              
71              
72             =head2 AutoMinorVersionUpgrade => Bool
73              
74             This parameter is currently disabled.
75              
76              
77              
78             =head2 AZMode => Str
79              
80             Specifies whether the new nodes in this Memcached cache cluster are all
81             created in a single Availability Zone or created across multiple
82             Availability Zones.
83              
84             Valid values: C<single-az> | C<cross-az>.
85              
86             This option is only supported for Memcached cache clusters.
87              
88             You cannot specify C<single-az> if the Memcached cache cluster already
89             has cache nodes in different Availability Zones. If C<cross-az> is
90             specified, existing Memcached nodes remain in their current
91             Availability Zone.
92              
93             Only newly created nodes are located in different Availability Zones.
94             For instructions on how to move existing Memcached nodes to different
95             Availability Zones, see the B<Availability Zone Considerations> section
96             of Cache Node Considerations for Memcached.
97              
98             Valid values are: C<"single-az">, C<"cross-az">
99              
100             =head2 B<REQUIRED> CacheClusterId => Str
101              
102             The cache cluster identifier. This value is stored as a lowercase
103             string.
104              
105              
106              
107             =head2 CacheNodeIdsToRemove => ArrayRef[Str|Undef]
108              
109             A list of cache node IDs to be removed. A node ID is a numeric
110             identifier (0001, 0002, etc.). This parameter is only valid when
111             C<NumCacheNodes> is less than the existing number of cache nodes. The
112             number of cache node IDs supplied in this parameter must match the
113             difference between the existing number of cache nodes in the cluster or
114             pending cache nodes, whichever is greater, and the value of
115             C<NumCacheNodes> in the request.
116              
117             For example: If you have 3 active cache nodes, 7 pending cache nodes,
118             and the number of cache nodes in this C<ModifyCacheCluser> call is 5,
119             you must list 2 (7 - 5) cache node IDs to remove.
120              
121              
122              
123             =head2 CacheNodeType => Str
124              
125             A valid cache node type that you want to scale this cache cluster up
126             to.
127              
128              
129              
130             =head2 CacheParameterGroupName => Str
131              
132             The name of the cache parameter group to apply to this cache cluster.
133             This change is asynchronously applied as soon as possible for
134             parameters when the C<ApplyImmediately> parameter is specified as
135             C<true> for this request.
136              
137              
138              
139             =head2 CacheSecurityGroupNames => ArrayRef[Str|Undef]
140              
141             A list of cache security group names to authorize on this cache
142             cluster. This change is asynchronously applied as soon as possible.
143              
144             You can use this parameter only with clusters that are created outside
145             of an Amazon Virtual Private Cloud (Amazon VPC).
146              
147             Constraints: Must contain no more than 255 alphanumeric characters.
148             Must not be "Default".
149              
150              
151              
152             =head2 EngineVersion => Str
153              
154             The upgraded version of the cache engine to be run on the cache nodes.
155              
156             B<Important:> You can upgrade to a newer engine version (see Selecting
157             a Cache Engine and Version), but you cannot downgrade to an earlier
158             engine version. If you want to use an earlier engine version, you must
159             delete the existing cache cluster and create it anew with the earlier
160             engine version.
161              
162              
163              
164             =head2 NewAvailabilityZones => ArrayRef[Str|Undef]
165              
166             The list of Availability Zones where the new Memcached cache nodes are
167             created.
168              
169             This parameter is only valid when C<NumCacheNodes> in the request is
170             greater than the sum of the number of active cache nodes and the number
171             of cache nodes pending creation (which may be zero). The number of
172             Availability Zones supplied in this list must match the cache nodes
173             being added in this request.
174              
175             This option is only supported on Memcached clusters.
176              
177             Scenarios:
178              
179             =over
180              
181             =item *
182              
183             B<Scenario 1:> You have 3 active nodes and wish to add 2 nodes. Specify
184             C<NumCacheNodes=5> (3 + 2) and optionally specify two Availability
185             Zones for the two new nodes.
186              
187             =item *
188              
189             B<Scenario 2:> You have 3 active nodes and 2 nodes pending creation
190             (from the scenario 1 call) and want to add 1 more node. Specify
191             C<NumCacheNodes=6> ((3 + 2) + 1) and optionally specify an Availability
192             Zone for the new node.
193              
194             =item *
195              
196             B<Scenario 3:> You want to cancel all pending operations. Specify
197             C<NumCacheNodes=3> to cancel all pending operations.
198              
199             =back
200              
201             The Availability Zone placement of nodes pending creation cannot be
202             modified. If you wish to cancel any nodes pending creation, add 0 nodes
203             by setting C<NumCacheNodes> to the number of current nodes.
204              
205             If C<cross-az> is specified, existing Memcached nodes remain in their
206             current Availability Zone. Only newly created nodes can be located in
207             different Availability Zones. For guidance on how to move existing
208             Memcached nodes to different Availability Zones, see the B<Availability
209             Zone Considerations> section of Cache Node Considerations for
210             Memcached.
211              
212             B<Impact of new add/remove requests upon pending requests>
213              
214             =over
215              
216             =item *
217              
218             Scenario-1
219              
220             =over
221              
222             =item *
223              
224             Pending Action: Delete
225              
226             =item *
227              
228             New Request: Delete
229              
230             =item *
231              
232             Result: The new delete, pending or immediate, replaces the pending
233             delete.
234              
235             =back
236              
237             =item *
238              
239             Scenario-2
240              
241             =over
242              
243             =item *
244              
245             Pending Action: Delete
246              
247             =item *
248              
249             New Request: Create
250              
251             =item *
252              
253             Result: The new create, pending or immediate, replaces the pending
254             delete.
255              
256             =back
257              
258             =item *
259              
260             Scenario-3
261              
262             =over
263              
264             =item *
265              
266             Pending Action: Create
267              
268             =item *
269              
270             New Request: Delete
271              
272             =item *
273              
274             Result: The new delete, pending or immediate, replaces the pending
275             create.
276              
277             =back
278              
279             =item *
280              
281             Scenario-4
282              
283             =over
284              
285             =item *
286              
287             Pending Action: Create
288              
289             =item *
290              
291             New Request: Create
292              
293             =item *
294              
295             Result: The new create is added to the pending create.
296              
297             B<Important:> If the new create request is B<Apply Immediately - Yes>,
298             all creates are performed immediately. If the new create request is
299             B<Apply Immediately - No>, all creates are pending.
300              
301             =back
302              
303             =back
304              
305              
306              
307              
308             =head2 NotificationTopicArn => Str
309              
310             The Amazon Resource Name (ARN) of the Amazon SNS topic to which
311             notifications are sent.
312              
313             The Amazon SNS topic owner must be same as the cache cluster owner.
314              
315              
316              
317             =head2 NotificationTopicStatus => Str
318              
319             The status of the Amazon SNS notification topic. Notifications are sent
320             only if the status is C<active>.
321              
322             Valid values: C<active> | C<inactive>
323              
324              
325              
326             =head2 NumCacheNodes => Int
327              
328             The number of cache nodes that the cache cluster should have. If the
329             value for C<NumCacheNodes> is greater than the sum of the number of
330             current cache nodes and the number of cache nodes pending creation
331             (which may be zero), more nodes are added. If the value is less than
332             the number of existing cache nodes, nodes are removed. If the value is
333             equal to the number of current cache nodes, any pending add or remove
334             requests are canceled.
335              
336             If you are removing cache nodes, you must use the
337             C<CacheNodeIdsToRemove> parameter to provide the IDs of the specific
338             cache nodes to remove.
339              
340             For clusters running Redis, this value must be 1. For clusters running
341             Memcached, this value must be between 1 and 20.
342              
343             Adding or removing Memcached cache nodes can be applied immediately or
344             as a pending operation (see C<ApplyImmediately>).
345              
346             A pending operation to modify the number of cache nodes in a cluster
347             during its maintenance window, whether by adding or removing nodes in
348             accordance with the scale out architecture, is not queued. The
349             customer's latest request to add or remove nodes to the cluster
350             overrides any previous pending operations to modify the number of cache
351             nodes in the cluster. For example, a request to remove 2 nodes would
352             override a previous pending operation to remove 3 nodes. Similarly, a
353             request to add 2 nodes would override a previous pending operation to
354             remove 3 nodes and vice versa. As Memcached cache nodes may now be
355             provisioned in different Availability Zones with flexible cache node
356             placement, a request to add nodes does not automatically override a
357             previous pending operation to add nodes. The customer can modify the
358             previous pending operation to add more nodes or explicitly cancel the
359             pending request and retry the new request. To cancel pending operations
360             to modify the number of cache nodes in a cluster, use the
361             C<ModifyCacheCluster> request and set C<NumCacheNodes> equal to the
362             number of cache nodes currently in the cache cluster.
363              
364              
365              
366             =head2 PreferredMaintenanceWindow => Str
367              
368             Specifies the weekly time range during which maintenance on the cluster
369             is performed. It is specified as a range in the format
370             ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window
371             is a 60 minute period.
372              
373             Valid values for C<ddd> are:
374              
375             =over
376              
377             =item *
378              
379             C<sun>
380              
381             =item *
382              
383             C<mon>
384              
385             =item *
386              
387             C<tue>
388              
389             =item *
390              
391             C<wed>
392              
393             =item *
394              
395             C<thu>
396              
397             =item *
398              
399             C<fri>
400              
401             =item *
402              
403             C<sat>
404              
405             =back
406              
407             Example: C<sun:23:00-mon:01:30>
408              
409              
410              
411             =head2 SecurityGroupIds => ArrayRef[Str|Undef]
412              
413             Specifies the VPC Security Groups associated with the cache cluster.
414              
415             This parameter can be used only with clusters that are created in an
416             Amazon Virtual Private Cloud (Amazon VPC).
417              
418              
419              
420             =head2 SnapshotRetentionLimit => Int
421              
422             The number of days for which ElastiCache retains automatic cache
423             cluster snapshots before deleting them. For example, if you set
424             C<SnapshotRetentionLimit> to 5, a snapshot that was taken today is
425             retained for 5 days before being deleted.
426              
427             If the value of C<SnapshotRetentionLimit> is set to zero (0), backups
428             are turned off.
429              
430              
431              
432             =head2 SnapshotWindow => Str
433              
434             The daily time range (in UTC) during which ElastiCache begins taking a
435             daily snapshot of your cache cluster.
436              
437              
438              
439              
440             =head1 SEE ALSO
441              
442             This class forms part of L<Paws>, documenting arguments for method ModifyCacheCluster in L<Paws::ElastiCache>
443              
444             =head1 BUGS and CONTRIBUTIONS
445              
446             The source code is located here: https://github.com/pplu/aws-sdk-perl
447              
448             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
449              
450             =cut
451