Skip to content

Commit ccbd4b5

Browse files
Added support for IPv6 and dual stack for Valkey and Redis clusters. Customers can now launch new Valkey and Redis clusters with IPv6 and dual stack networking support.
1 parent 3f1898d commit ccbd4b5

25 files changed

+788
-80
lines changed

generator/ServiceModels/memorydb/memorydb-2021-01-01.api.json

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -890,7 +890,9 @@
890890
"SnapshotWindow":{"shape":"String"},
891891
"ACLName":{"shape":"ACLName"},
892892
"AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
893-
"DataTiering":{"shape":"DataTieringStatus"}
893+
"DataTiering":{"shape":"DataTieringStatus"},
894+
"NetworkType":{"shape":"NetworkType"},
895+
"IpDiscovery":{"shape":"IpDiscovery"}
894896
}
895897
},
896898
"ClusterAlreadyExistsFault":{
@@ -1016,7 +1018,9 @@
10161018
"Engine":{"shape":"String"},
10171019
"EngineVersion":{"shape":"String"},
10181020
"AutoMinorVersionUpgrade":{"shape":"BooleanOptional"},
1019-
"DataTiering":{"shape":"BooleanOptional"}
1021+
"DataTiering":{"shape":"BooleanOptional"},
1022+
"NetworkType":{"shape":"NetworkType"},
1023+
"IpDiscovery":{"shape":"IpDiscovery"}
10201024
}
10211025
},
10221026
"CreateClusterResponse":{
@@ -1638,6 +1642,13 @@
16381642
},
16391643
"exception":true
16401644
},
1645+
"IpDiscovery":{
1646+
"type":"string",
1647+
"enum":[
1648+
"ipv4",
1649+
"ipv6"
1650+
]
1651+
},
16411652
"KeyList":{
16421653
"type":"list",
16431654
"member":{"shape":"String"}
@@ -1725,6 +1736,18 @@
17251736
},
17261737
"exception":true
17271738
},
1739+
"NetworkType":{
1740+
"type":"string",
1741+
"enum":[
1742+
"ipv4",
1743+
"ipv6",
1744+
"dual_stack"
1745+
]
1746+
},
1747+
"NetworkTypeList":{
1748+
"type":"list",
1749+
"member":{"shape":"NetworkType"}
1750+
},
17281751
"NoOperationFault":{
17291752
"type":"structure",
17301753
"members":{
@@ -2146,7 +2169,8 @@
21462169
"type":"structure",
21472170
"members":{
21482171
"Identifier":{"shape":"String"},
2149-
"AvailabilityZone":{"shape":"AvailabilityZone"}
2172+
"AvailabilityZone":{"shape":"AvailabilityZone"},
2173+
"SupportedNetworkTypes":{"shape":"NetworkTypeList"}
21502174
}
21512175
},
21522176
"SubnetGroup":{
@@ -2156,7 +2180,8 @@
21562180
"Description":{"shape":"String"},
21572181
"VpcId":{"shape":"String"},
21582182
"Subnets":{"shape":"SubnetList"},
2159-
"ARN":{"shape":"String"}
2183+
"ARN":{"shape":"String"},
2184+
"SupportedNetworkTypes":{"shape":"NetworkTypeList"}
21602185
}
21612186
},
21622187
"SubnetGroupAlreadyExistsFault":{
@@ -2328,7 +2353,8 @@
23282353
"EngineVersion":{"shape":"String"},
23292354
"ReplicaConfiguration":{"shape":"ReplicaConfigurationRequest"},
23302355
"ShardConfiguration":{"shape":"ShardConfigurationRequest"},
2331-
"ACLName":{"shape":"ACLName"}
2356+
"ACLName":{"shape":"ACLName"},
2357+
"IpDiscovery":{"shape":"IpDiscovery"}
23322358
}
23332359
},
23342360
"UpdateClusterResponse":{

generator/ServiceModels/memorydb/memorydb-2021-01-01.docs.json

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@
3434
"FailoverShard": "<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 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>",
3535
"ListAllowedMultiRegionClusterUpdates": "<p>Lists the allowed updates for a multi-Region cluster.</p>",
3636
"ListAllowedNodeTypeUpdates": "<p>Lists all available node types that you can scale to from your cluster's current node type. When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.</p>",
37-
"ListTags": "<p>Lists all tags currently on a named resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p>",
37+
"ListTags": "<p>Lists all tags currently on a named resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p> <p>When you add or remove tags from multi region clusters, you might not immediately see the latest effective tags in the ListTags API response due to it being eventually consistent specifically for multi region clusters. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p> <p/>",
3838
"PurchaseReservedNodesOffering": "<p>Allows you to purchase a reserved node offering. Reserved nodes are not eligible for cancellation and are non-refundable.</p>",
3939
"ResetParameterGroup": "<p>Modifies the parameters of a 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 parameter group, specify the AllParameters and ParameterGroupName parameters.</p>",
40-
"TagResource": "<p>A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/iam.resourcelevelpermissions.html\">Resource-level permissions</a>.</p> <p>For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging.html\">Using Cost Allocation Tags</a>.</p>",
41-
"UntagResource": "<p>Use this operation to remove tags on a resource.</p>",
40+
"TagResource": "<p> Use this operation to add tags to a resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p> <p>When you add tags to multi region clusters, you might not immediately see the latest effective tags in the ListTags API response due to it being eventually consistent specifically for multi region clusters. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p> <p>You can specify cost-allocation tags for your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging.html\">Using Cost Allocation Tags</a>.</p>",
41+
"UntagResource": "<p>Use this operation to remove tags on a resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p> <p>When you remove tags from multi region clusters, you might not immediately see the latest effective tags in the ListTags API response due to it being eventually consistent specifically for multi region clusters. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/Tagging-Resources.html\">Tagging your MemoryDB resources</a>.</p> <p>You can specify cost-allocation tags for your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see <a href=\"https://docs.aws.amazon.com/MemoryDB/latest/devguide/tagging.html\">Using Cost Allocation Tags</a>.</p>",
4242
"UpdateACL": "<p>Changes the list of users that belong to the Access Control List.</p>",
4343
"UpdateCluster": "<p>Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.</p>",
4444
"UpdateMultiRegionCluster": "<p>Updates the configuration of an existing multi-Region cluster.</p>",
@@ -748,6 +748,14 @@
748748
"refs": {
749749
}
750750
},
751+
"IpDiscovery": {
752+
"base": null,
753+
"refs": {
754+
"Cluster$IpDiscovery": "<p>The mechanism that the cluster uses to discover IP addresses. Returns 'ipv4' when DNS endpoints resolve to IPv4 addresses, or 'ipv6' when DNS endpoints resolve to IPv6 addresses.</p>",
755+
"CreateClusterRequest$IpDiscovery": "<p>The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.</p>",
756+
"UpdateClusterRequest$IpDiscovery": "<p>The mechanism for discovering IP addresses for the cluster discovery protocol. Valid values are 'ipv4' or 'ipv6'. When set to 'ipv4', cluster discovery functions such as cluster slots, cluster shards, and cluster nodes will return IPv4 addresses for cluster nodes. When set to 'ipv6', the cluster discovery functions return IPv6 addresses for cluster nodes. The value must be compatible with the NetworkType parameter. If not specified, the default is 'ipv4'.</p>"
757+
}
758+
},
751759
"KeyList": {
752760
"base": null,
753761
"refs": {
@@ -820,6 +828,21 @@
820828
"refs": {
821829
}
822830
},
831+
"NetworkType": {
832+
"base": null,
833+
"refs": {
834+
"Cluster$NetworkType": "<p>The IP address type for the cluster. Returns 'ipv4' for IPv4 only, 'ipv6' for IPv6 only, or 'dual-stack' if the cluster supports both IPv4 and IPv6 addressing.</p>",
835+
"CreateClusterRequest$NetworkType": "<p>Specifies the IP address type for the cluster. Valid values are 'ipv4', 'ipv6', or 'dual_stack'. When set to 'ipv4', the cluster will only be accessible via IPv4 addresses. When set to 'ipv6', the cluster will only be accessible via IPv6 addresses. When set to 'dual_stack', the cluster will be accessible via both IPv4 and IPv6 addresses. If not specified, the default is 'ipv4'.</p>",
836+
"NetworkTypeList$member": null
837+
}
838+
},
839+
"NetworkTypeList": {
840+
"base": null,
841+
"refs": {
842+
"Subnet$SupportedNetworkTypes": "<p>The network types supported by this subnet. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating whether the subnet supports IPv4 only, IPv6 only, or dual-stack deployments.</p>",
843+
"SubnetGroup$SupportedNetworkTypes": "<p>The network types supported by this subnet group. Returns an array of strings that can include 'ipv4', 'ipv6', or both, indicating the IP address types that can be used for clusters deployed in this subnet group.</p>"
844+
}
845+
},
823846
"NoOperationFault": {
824847
"base": "<p/>",
825848
"refs": {
@@ -1256,7 +1279,7 @@
12561279
"CreateClusterRequest$SnapshotWindow": "<p>The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.</p> <p> Example: 05:00-09:00</p> <p> If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.</p>",
12571280
"CreateClusterRequest$Engine": "<p>The name of the engine to be used for the cluster.</p>",
12581281
"CreateClusterRequest$EngineVersion": "<p>The version number of the Redis OSS engine to be used for the cluster.</p>",
1259-
"CreateMultiRegionClusterRequest$MultiRegionClusterNameSuffix": "<p>A suffix to be added to the multi-Region cluster name.</p>",
1282+
"CreateMultiRegionClusterRequest$MultiRegionClusterNameSuffix": "<p>A suffix to be added to the Multi-Region cluster name. Amazon MemoryDB automatically applies a prefix to the Multi-Region cluster Name when it is created. Each Amazon Region has its own prefix. For instance, a Multi-Region cluster Name created in the US-West-1 region will begin with \"virxk\", along with the suffix name you provide. The suffix guarantees uniqueness of the Multi-Region cluster name across multiple regions.</p>",
12601283
"CreateMultiRegionClusterRequest$Description": "<p>A description for the multi-Region cluster.</p>",
12611284
"CreateMultiRegionClusterRequest$Engine": "<p>The name of the engine to be used for the multi-Region cluster.</p>",
12621285
"CreateMultiRegionClusterRequest$EngineVersion": "<p>The version of the engine to be used for the multi-Region cluster.</p>",
@@ -1646,7 +1669,7 @@
16461669
"UpdateStrategy": {
16471670
"base": null,
16481671
"refs": {
1649-
"UpdateMultiRegionClusterRequest$UpdateStrategy": "<p>Whether to force the update even if it may cause data loss.</p>"
1672+
"UpdateMultiRegionClusterRequest$UpdateStrategy": "<p>The strategy to use for the update operation. Supported values are \"coordinated\" or \"uncoordinated\".</p>"
16501673
}
16511674
},
16521675
"UpdateSubnetGroupRequest": {

0 commit comments

Comments
 (0)