Skip to content

Commit 8a58304

Browse files
author
awstools
committed
feat(client-memorydb): Adding support for r6gd instances for MemoryDB Redis with data tiering. In a cluster with data tiering enabled, when available memory capacity is exhausted, the least recently used data is automatically tiered to solid state drives for cost-effective capacity scaling with minimal performance impact.
1 parent a74c2b1 commit 8a58304

File tree

5 files changed

+406
-237
lines changed

5 files changed

+406
-237
lines changed

clients/client-memorydb/src/MemoryDB.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -901,7 +901,8 @@ export class MemoryDB extends MemoryDBClient {
901901
}
902902

903903
/**
904-
* <p>Used to failover a shard</p>
904+
* <p>Used to failover a shard. This API is designed for testing the behavior of your application in case of MemoryDB failover. It is not designed to be used as a production-level tool for initiating
905+
* a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large scale operational events, Amazon may block this API. </p>
905906
*/
906907
public failoverShard(
907908
args: FailoverShardCommandInput,

clients/client-memorydb/src/commands/FailoverShardCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ export interface FailoverShardCommandInput extends FailoverShardRequest {}
2929
export interface FailoverShardCommandOutput extends FailoverShardResponse, __MetadataBearer {}
3030

3131
/**
32-
* <p>Used to failover a shard</p>
32+
* <p>Used to failover a shard. This API is designed for testing the behavior of your application in case of MemoryDB failover. It is not designed to be used as a production-level tool for initiating
33+
* a failover to overcome a problem you may have with the cluster. Moreover, in certain conditions such as large scale operational events, Amazon may block this API. </p>
3334
* @example
3435
* Use a bare-bones client and the command you need to make an API call.
3536
* ```javascript

clients/client-memorydb/src/models/models_0.ts

Lines changed: 111 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,11 @@ export interface Endpoint {
169169
Port?: number;
170170
}
171171

172+
export enum DataTieringStatus {
173+
FALSE = "false",
174+
TRUE = "true",
175+
}
176+
172177
/**
173178
* <p>Represents the progress of an online resharding operation.</p>
174179
*/
@@ -438,6 +443,12 @@ export interface Cluster {
438443
* <p>When set to true, the cluster will automatically receive minor engine version upgrades after launch.</p>
439444
*/
440445
AutoMinorVersionUpgrade?: boolean;
446+
447+
/**
448+
* <p>Enables data tiering. Data tiering is only supported for clusters using the r6gd node type.
449+
* This parameter must be set when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.</p>
450+
*/
451+
DataTiering?: DataTieringStatus | string;
441452
}
442453

443454
/**
@@ -709,6 +720,12 @@ export interface Snapshot {
709720
* <p>The configuration of the cluster from which the snapshot was taken</p>
710721
*/
711722
ClusterConfiguration?: ClusterConfiguration;
723+
724+
/**
725+
* <p>Enables data tiering. Data tiering is only supported for clusters using the r6gd node type.
726+
* This parameter must be set when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.</p>
727+
*/
728+
DataTiering?: DataTieringStatus | string;
712729
}
713730

714731
export interface CopySnapshotResponse {
@@ -1012,7 +1029,50 @@ export interface CreateClusterRequest {
10121029
SecurityGroupIds?: string[];
10131030

10141031
/**
1015-
* <p>Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format <code>ddd:hh24:mi-ddd:hh24:mi</code> (24H Clock UTC). The minimum maintenance window is a 60 minute period.</p>
1032+
* <p>Specifies the weekly time range during which maintenance
1033+
* on the cluster is performed. It is specified as a range in
1034+
* the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum
1035+
* maintenance window is a 60 minute period.</p>
1036+
* <p>Valid values for <code>ddd</code> are:</p>
1037+
* <ul>
1038+
* <li>
1039+
* <p>
1040+
* <code>sun</code>
1041+
* </p>
1042+
* </li>
1043+
* <li>
1044+
* <p>
1045+
* <code>mon</code>
1046+
* </p>
1047+
* </li>
1048+
* <li>
1049+
* <p>
1050+
* <code>tue</code>
1051+
* </p>
1052+
* </li>
1053+
* <li>
1054+
* <p>
1055+
* <code>wed</code>
1056+
* </p>
1057+
* </li>
1058+
* <li>
1059+
* <p>
1060+
* <code>thu</code>
1061+
* </p>
1062+
* </li>
1063+
* <li>
1064+
* <p>
1065+
* <code>fri</code>
1066+
* </p>
1067+
* </li>
1068+
* <li>
1069+
* <p>
1070+
* <code>sat</code>
1071+
* </p>
1072+
* </li>
1073+
* </ul>
1074+
* <p>Example: <code>sun:23:00-mon:01:30</code>
1075+
* </p>
10161076
*/
10171077
MaintenanceWindow?: string;
10181078

@@ -1079,6 +1139,12 @@ export interface CreateClusterRequest {
10791139
* <p>When set to true, the cluster will automatically receive minor engine version upgrades after launch.</p>
10801140
*/
10811141
AutoMinorVersionUpgrade?: boolean;
1142+
1143+
/**
1144+
* <p>Enables data tiering. Data tiering is only supported for clusters using the r6gd node type.
1145+
* This parameter must be set when using r6gd nodes. For more information, see <a href="https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html">Data tiering</a>.</p>
1146+
*/
1147+
DataTiering?: boolean;
10821148
}
10831149

10841150
export interface CreateClusterResponse {
@@ -2741,7 +2807,50 @@ export interface UpdateClusterRequest {
27412807
SecurityGroupIds?: string[];
27422808

27432809
/**
2744-
* <p>The maintenance window to update</p>
2810+
* <p>Specifies the weekly time range during which maintenance
2811+
* on the cluster is performed. It is specified as a range in
2812+
* the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum
2813+
* maintenance window is a 60 minute period.</p>
2814+
* <p>Valid values for <code>ddd</code> are:</p>
2815+
* <ul>
2816+
* <li>
2817+
* <p>
2818+
* <code>sun</code>
2819+
* </p>
2820+
* </li>
2821+
* <li>
2822+
* <p>
2823+
* <code>mon</code>
2824+
* </p>
2825+
* </li>
2826+
* <li>
2827+
* <p>
2828+
* <code>tue</code>
2829+
* </p>
2830+
* </li>
2831+
* <li>
2832+
* <p>
2833+
* <code>wed</code>
2834+
* </p>
2835+
* </li>
2836+
* <li>
2837+
* <p>
2838+
* <code>thu</code>
2839+
* </p>
2840+
* </li>
2841+
* <li>
2842+
* <p>
2843+
* <code>fri</code>
2844+
* </p>
2845+
* </li>
2846+
* <li>
2847+
* <p>
2848+
* <code>sat</code>
2849+
* </p>
2850+
* </li>
2851+
* </ul>
2852+
* <p>Example: <code>sun:23:00-mon:01:30</code>
2853+
* </p>
27452854
*/
27462855
MaintenanceWindow?: string;
27472856

clients/client-memorydb/src/protocols/Aws_json1_1.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3312,6 +3312,7 @@ const serializeAws_json1_1CreateClusterRequest = (input: CreateClusterRequest, c
33123312
...(input.ACLName != null && { ACLName: input.ACLName }),
33133313
...(input.AutoMinorVersionUpgrade != null && { AutoMinorVersionUpgrade: input.AutoMinorVersionUpgrade }),
33143314
...(input.ClusterName != null && { ClusterName: input.ClusterName }),
3315+
...(input.DataTiering != null && { DataTiering: input.DataTiering }),
33153316
...(input.Description != null && { Description: input.Description }),
33163317
...(input.EngineVersion != null && { EngineVersion: input.EngineVersion }),
33173318
...(input.KmsKeyId != null && { KmsKeyId: input.KmsKeyId }),
@@ -3932,6 +3933,7 @@ const deserializeAws_json1_1Cluster = (output: any, context: __SerdeContext): Cl
39323933
AvailabilityMode: __expectString(output.AvailabilityMode),
39333934
ClusterEndpoint:
39343935
output.ClusterEndpoint != null ? deserializeAws_json1_1Endpoint(output.ClusterEndpoint, context) : undefined,
3936+
DataTiering: __expectString(output.DataTiering),
39353937
Description: __expectString(output.Description),
39363938
EnginePatchVersion: __expectString(output.EnginePatchVersion),
39373939
EngineVersion: __expectString(output.EngineVersion),
@@ -4750,6 +4752,7 @@ const deserializeAws_json1_1Snapshot = (output: any, context: __SerdeContext): S
47504752
output.ClusterConfiguration != null
47514753
? deserializeAws_json1_1ClusterConfiguration(output.ClusterConfiguration, context)
47524754
: undefined,
4755+
DataTiering: __expectString(output.DataTiering),
47534756
KmsKeyId: __expectString(output.KmsKeyId),
47544757
Name: __expectString(output.Name),
47554758
Source: __expectString(output.Source),

0 commit comments

Comments
 (0)