Skip to content

Commit 350f91f

Browse files
Vinay Pundirvsin12
authored andcommitted
Added - Support for OCI Cache - Valkey Support and valkey migration
example tf update
1 parent aa0dba4 commit 350f91f

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

examples/redis/redis_cluster/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ variable "redis_cluster_node_memory_in_gbs" {
3232
}
3333

3434
variable "redis_cluster_software_version" {
35-
default = "REDIS_7_0"
35+
default = "VALKEY_7_2"
3636
}
3737

3838
variable "redis_cluster_state" {

internal/integrationtest/redis_redis_cluster_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ var (
5252
"display_name": acctest.Representation{RepType: acctest.Required, Create: `displayNameNonSharded`, Update: `displayNameNonSharded2`},
5353
"node_count": acctest.Representation{RepType: acctest.Required, Create: `3`, Update: `5`},
5454
"node_memory_in_gbs": acctest.Representation{RepType: acctest.Required, Create: `2`, Update: `3`},
55-
"software_version": acctest.Representation{RepType: acctest.Required, Create: `REDIS_7_0`},
55+
"software_version": acctest.Representation{RepType: acctest.Required, Create: `REDIS_7_0`, Update: `VALKEY_7_2`},
5656
"subnet_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_subnet.test_subnet.id}`},
5757
"cluster_mode": acctest.Representation{RepType: acctest.Optional, Create: `NONSHARDED`},
5858
"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
5959
"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"bar-key": "value"}, Update: map[string]string{"Department": "Accounting"}},
60-
"nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${oci_core_network_security_group.test_network_security_group.id}`}, Update: []string{}},
60+
"nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${oci_core_network_security_group.test_network_security_group.id}`}},
6161
"lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: ignoreRedisTagsChangesRepresentation},
6262
}
6363

@@ -72,7 +72,7 @@ var (
7272
"cluster_mode": acctest.Representation{RepType: acctest.Required, Create: `SHARDED`},
7373
"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
7474
"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"bar-key": "value"}, Update: map[string]string{"Department": "Accounting"}},
75-
"nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${oci_core_network_security_group.test_network_security_group.id}`}, Update: []string{}},
75+
"nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${oci_core_network_security_group.test_network_security_group.id}`}},
7676
"lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: ignoreRedisTagsChangesRepresentation},
7777
}
7878

@@ -220,12 +220,12 @@ func TestRedisRedisClusterResource_basic(t *testing.T) {
220220
resource.TestCheckResourceAttr(resourceName, "node_collection.0.items.#", "5"),
221221
resource.TestCheckResourceAttr(resourceName, "node_count", "5"),
222222
resource.TestCheckResourceAttr(resourceName, "node_memory_in_gbs", "3"),
223-
resource.TestCheckResourceAttr(resourceName, "nsg_ids.#", "0"),
223+
resource.TestCheckResourceAttr(resourceName, "nsg_ids.#", "1"),
224224
resource.TestCheckResourceAttrSet(resourceName, "primary_endpoint_ip_address"),
225225
resource.TestCheckResourceAttrSet(resourceName, "primary_fqdn"),
226226
resource.TestCheckResourceAttrSet(resourceName, "replicas_endpoint_ip_address"),
227227
resource.TestCheckResourceAttrSet(resourceName, "replicas_fqdn"),
228-
resource.TestCheckResourceAttr(resourceName, "software_version", "REDIS_7_0"),
228+
resource.TestCheckResourceAttr(resourceName, "software_version", "VALKEY_7_2"),
229229
resource.TestCheckResourceAttrSet(resourceName, "subnet_id"),
230230

231231
func(s *terraform.State) (err error) {
@@ -312,7 +312,7 @@ func TestRedisRedisClusterResource_basic(t *testing.T) {
312312
resource.TestCheckResourceAttr(shardedResourceName, "node_collection.0.items.#", "0"),
313313
resource.TestCheckResourceAttr(shardedResourceName, "node_count", "3"),
314314
resource.TestCheckResourceAttr(shardedResourceName, "node_memory_in_gbs", "3"),
315-
resource.TestCheckResourceAttr(shardedResourceName, "nsg_ids.#", "0"),
315+
resource.TestCheckResourceAttr(shardedResourceName, "nsg_ids.#", "1"),
316316
resource.TestCheckResourceAttr(shardedResourceName, "shard_count", "5"),
317317
resource.TestCheckResourceAttr(shardedResourceName, "software_version", "V7_0_5"),
318318
resource.TestCheckResourceAttrSet(shardedResourceName, "subnet_id"),
@@ -359,12 +359,12 @@ func TestRedisRedisClusterResource_basic(t *testing.T) {
359359
resource.TestCheckResourceAttr(singularDatasourceName, "node_collection.0.items.#", "5"),
360360
resource.TestCheckResourceAttr(singularDatasourceName, "node_count", "5"),
361361
resource.TestCheckResourceAttr(singularDatasourceName, "node_memory_in_gbs", "3"),
362-
resource.TestCheckResourceAttr(singularDatasourceName, "nsg_ids.#", "0"),
362+
resource.TestCheckResourceAttr(singularDatasourceName, "nsg_ids.#", "1"),
363363
resource.TestCheckResourceAttrSet(singularDatasourceName, "primary_endpoint_ip_address"),
364364
resource.TestCheckResourceAttrSet(singularDatasourceName, "primary_fqdn"),
365365
resource.TestCheckResourceAttrSet(singularDatasourceName, "replicas_endpoint_ip_address"),
366366
resource.TestCheckResourceAttrSet(singularDatasourceName, "replicas_fqdn"),
367-
resource.TestCheckResourceAttr(singularDatasourceName, "software_version", "REDIS_7_0"),
367+
resource.TestCheckResourceAttr(singularDatasourceName, "software_version", "VALKEY_7_2"),
368368
resource.TestCheckResourceAttrSet(singularDatasourceName, "state"),
369369
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
370370
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_updated"),

internal/service/redis/redis_redis_cluster_resource.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ func RedisRedisClusterResource() *schema.Resource {
5151
"software_version": {
5252
Type: schema.TypeString,
5353
Required: true,
54-
ForceNew: true,
5554
},
5655
"subnet_id": {
5756
Type: schema.TypeString,
@@ -581,6 +580,16 @@ func (s *RedisRedisClusterResourceCrud) Update() error {
581580
return err
582581
}
583582
}
583+
584+
if softwareVersion, ok := s.D.GetOkExists("software_version"); ok && s.D.HasChange("software_version") {
585+
request := oci_redis.UpdateRedisClusterRequest{}
586+
request.SoftwareVersion = oci_redis.RedisClusterSoftwareVersionEnum(softwareVersion.(string))
587+
err := s.updateRedisCluster(request)
588+
if err != nil {
589+
return err
590+
}
591+
}
592+
584593
return nil
585594
}
586595

website/docs/r/redis_redis_cluster.html.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ The following arguments are supported:
4747
* `node_memory_in_gbs` - (Required) (Updatable) The amount of memory allocated to the cluster's nodes, in gigabytes.
4848
* `nsg_ids` - (Optional) (Updatable) A list of Network Security Group (NSG) [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with this cluster. For more information, see [Using an NSG for Clusters](https://docs.cloud.oracle.com/iaas/Content/ocicache/connecttocluster.htm#connecttocluster__networksecuritygroup).
4949
* `shard_count` - (Optional) (Updatable) The number of shards in sharded cluster. Only applicable when clusterMode is SHARDED.
50-
* `software_version` - (Required) The Oracle Cloud Infrastructure Cache engine version that the cluster is running.
50+
* `software_version` - (Required) (Updatable) The Oracle Cloud Infrastructure Cache engine version that the cluster is running.
5151
* `subnet_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the cluster's subnet.
5252

5353

0 commit comments

Comments
 (0)