Skip to content

Commit 93a5193

Browse files
Merge pull request #237 from RedisLabs/feat/minor-version-upgrade
Minor version upgrade
2 parents d622259 + 80adeb5 commit 93a5193

File tree

5 files changed

+75
-55
lines changed

5 files changed

+75
-55
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
All notable changes to this project will be documented in this file.
33
See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/).
44

5+
## 0.39.0 (21st October 2025)
6+
7+
### Added:
8+
* Added `AutoMinorVersionUpgrade` to Pro and Active Active models, for upgrade and create endpoints.
59

610
## 0.38.0 (15th October 2025)
711

active_active_database_test.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ func TestAADatabase_Create(t *testing.T) {
5656
],
5757
"port": 12000,
5858
"queryPerformanceFactor": "Standard",
59-
"redisVersion": "7.2"
59+
"redisVersion": "7.2",
60+
"autoMinorVersionUpgrade": true
6061
}`, `{
6162
"taskId": "task",
6263
"commandType": "databaseCreateRequest",
@@ -125,9 +126,10 @@ func TestAADatabase_Create(t *testing.T) {
125126
ReadOperationsPerSecond: redis.Int(1000),
126127
},
127128
},
128-
PortNumber: redis.Int(12000),
129-
QueryPerformanceFactor: redis.String("Standard"),
130-
RedisVersion: redis.String("7.2"),
129+
PortNumber: redis.Int(12000),
130+
QueryPerformanceFactor: redis.String("Standard"),
131+
RedisVersion: redis.String("7.2"),
132+
AutoMinorVersionUpgrade: redis.Bool(true),
131133
})
132134
require.NoError(t, err)
133135

@@ -189,7 +191,8 @@ func TestAADatabase_Update(t *testing.T) {
189191
}
190192
],
191193
"dataEvictionPolicy": "allkeys-lru",
192-
"queryPerformanceFactor": "6x"
194+
"queryPerformanceFactor": "6x",
195+
"autoMinorVersionUpgrade": true
193196
}`,
194197
"update-task",
195198
"databaseUpdateRequest",
@@ -246,8 +249,9 @@ func TestAADatabase_Update(t *testing.T) {
246249
},
247250
},
248251
},
249-
DataEvictionPolicy: redis.String("allkeys-lru"),
250-
QueryPerformanceFactor: redis.String("6x"),
252+
DataEvictionPolicy: redis.String("allkeys-lru"),
253+
QueryPerformanceFactor: redis.String("6x"),
254+
AutoMinorVersionUpgrade: redis.Bool(true),
251255
})
252256
require.NoError(t, err)
253257
}
@@ -274,6 +278,7 @@ func TestAADatabase_List(t *testing.T) {
274278
"useExternalEndpointForOSSClusterApi": false,
275279
"replication": true,
276280
"dataEvictionPolicy": "noeviction",
281+
"autoMinorVersionUpgrade": true,
277282
"modules": [],
278283
"crdbDatabases": [
279284
{
@@ -416,6 +421,7 @@ func TestAADatabase_List(t *testing.T) {
416421
UseExternalEndpointForOSSClusterAPI: redis.Bool(false),
417422
Replication: redis.Bool(true),
418423
DataEvictionPolicy: redis.String("noeviction"),
424+
AutoMinorVersionUpgrade: redis.Bool(true),
419425
Modules: []*databases.Module{},
420426
CrdbDatabases: []*databases.CrdbDatabase{
421427
{

database_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ func TestDatabase_Create(t *testing.T) {
5454
{
5555
"name": "RedisSearch"
5656
}
57-
]
57+
],
58+
"autoMinorVersionUpgrade": true
5859
}`, `{
5960
"taskId": "task",
6061
"commandType": "databaseCreateRequest",
@@ -122,6 +123,7 @@ func TestDatabase_Create(t *testing.T) {
122123
Name: redis.String("RedisSearch"),
123124
},
124125
},
126+
AutoMinorVersionUpgrade: redis.Bool(true),
125127
})
126128
require.NoError(t, err)
127129

@@ -377,7 +379,8 @@ func TestDatabase_Update(t *testing.T) {
377379
}
378380
],
379381
"enableDefaultUser": false,
380-
"queryPerformanceFactor": "2x"
382+
"queryPerformanceFactor": "2x",
383+
"autoMinorVersionUpgrade": true
381384
}`,
382385
"task",
383386
"databaseUpdateRequest",
@@ -417,8 +420,9 @@ func TestDatabase_Update(t *testing.T) {
417420
Value: redis.Int(80),
418421
},
419422
},
420-
EnableDefaultUser: redis.Bool(false),
421-
QueryPerformanceFactor: redis.String("2x"),
423+
EnableDefaultUser: redis.Bool(false),
424+
QueryPerformanceFactor: redis.String("2x"),
425+
AutoMinorVersionUpgrade: redis.Bool(true),
422426
})
423427
require.NoError(t, err)
424428
}

service/databases/model.go

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,19 @@ type CreateDatabase struct {
2323
AverageItemSizeInBytes *int `json:"averageItemSizeInBytes,omitempty"`
2424
ReplicaOf []*string `json:"replicaOf,omitempty"`
2525
// Deprecated: Use RemoteBackup instead
26-
PeriodicBackupPath *string `json:"periodicBackupPath,omitempty"`
27-
SourceIP []*string `json:"sourceIp,omitempty"`
28-
ClientSSLCertificate *string `json:"clientSslCertificate,omitempty"`
29-
ClientTLSCertificates *[]*string `json:"clientTlsCertificates,omitempty"`
30-
Password *string `json:"password,omitempty"`
31-
Alerts []*Alert `json:"alerts,omitempty"`
32-
Modules []*Module `json:"modules,omitempty"`
33-
EnableTls *bool `json:"enableTls,omitempty"`
34-
PortNumber *int `json:"port,omitempty"`
35-
RemoteBackup *DatabaseBackupConfig `json:"remoteBackup,omitempty"`
36-
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
37-
RedisVersion *string `json:"redisVersion,omitempty"`
26+
PeriodicBackupPath *string `json:"periodicBackupPath,omitempty"`
27+
SourceIP []*string `json:"sourceIp,omitempty"`
28+
ClientSSLCertificate *string `json:"clientSslCertificate,omitempty"`
29+
ClientTLSCertificates *[]*string `json:"clientTlsCertificates,omitempty"`
30+
Password *string `json:"password,omitempty"`
31+
Alerts []*Alert `json:"alerts,omitempty"`
32+
Modules []*Module `json:"modules,omitempty"`
33+
EnableTls *bool `json:"enableTls,omitempty"`
34+
PortNumber *int `json:"port,omitempty"`
35+
RemoteBackup *DatabaseBackupConfig `json:"remoteBackup,omitempty"`
36+
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
37+
RedisVersion *string `json:"redisVersion,omitempty"`
38+
AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"`
3839
}
3940

4041
func (o CreateDatabase) String() string {
@@ -55,33 +56,34 @@ type Database struct {
5556
Name *string `json:"name,omitempty"`
5657
Protocol *string `json:"protocol,omitempty"`
5758
// For filtering out active-active entries, this property should not be present in the JSON response
58-
ActiveActiveRedis *bool `json:"activeActiveRedis,omitempty"`
59-
Provider *string `json:"provider,omitempty"`
60-
Region *string `json:"region,omitempty"`
61-
Status *string `json:"status,omitempty"`
62-
MemoryLimitInGB *float64 `json:"memoryLimitInGb,omitempty"`
63-
DatasetSizeInGB *float64 `json:"datasetSizeInGb,omitempty"`
64-
MemoryUsedInMB *float64 `json:"memoryUsedInMb,omitempty"`
65-
SupportOSSClusterAPI *bool `json:"supportOSSClusterApi,omitempty"`
66-
RespVersion *string `json:"respVersion,omitempty"`
67-
DataPersistence *string `json:"dataPersistence,omitempty"`
68-
Replication *bool `json:"replication,omitempty"`
69-
DataEvictionPolicy *string `json:"dataEvictionPolicy,omitempty"`
70-
ThroughputMeasurement *Throughput `json:"throughputMeasurement,omitempty"`
71-
ReplicaOf *ReplicaOf `json:"replicaOf,omitempty"`
72-
Clustering *Clustering `json:"clustering,omitempty"`
73-
Security *Security `json:"security,omitempty"`
74-
Modules []*Module `json:"modules,omitempty"`
75-
Alerts []*Alert `json:"alerts,omitempty"`
76-
ActivatedOn *time.Time `json:"activatedOn,omitempty"`
77-
LastModified *time.Time `json:"lastModified,omitempty"`
78-
MemoryStorage *string `json:"memoryStorage,omitempty"`
79-
PrivateEndpoint *string `json:"privateEndpoint,omitempty"`
80-
PublicEndpoint *string `json:"publicEndpoint,omitempty"`
81-
RedisVersionCompliance *string `json:"redisVersionCompliance,omitempty"`
82-
Backup *Backup `json:"backup,omitempty"`
83-
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
84-
RedisVersion *string `json:"redisVersion,omitempty"`
59+
ActiveActiveRedis *bool `json:"activeActiveRedis,omitempty"`
60+
Provider *string `json:"provider,omitempty"`
61+
Region *string `json:"region,omitempty"`
62+
Status *string `json:"status,omitempty"`
63+
MemoryLimitInGB *float64 `json:"memoryLimitInGb,omitempty"`
64+
DatasetSizeInGB *float64 `json:"datasetSizeInGb,omitempty"`
65+
MemoryUsedInMB *float64 `json:"memoryUsedInMb,omitempty"`
66+
SupportOSSClusterAPI *bool `json:"supportOSSClusterApi,omitempty"`
67+
RespVersion *string `json:"respVersion,omitempty"`
68+
DataPersistence *string `json:"dataPersistence,omitempty"`
69+
Replication *bool `json:"replication,omitempty"`
70+
DataEvictionPolicy *string `json:"dataEvictionPolicy,omitempty"`
71+
ThroughputMeasurement *Throughput `json:"throughputMeasurement,omitempty"`
72+
ReplicaOf *ReplicaOf `json:"replicaOf,omitempty"`
73+
Clustering *Clustering `json:"clustering,omitempty"`
74+
Security *Security `json:"security,omitempty"`
75+
Modules []*Module `json:"modules,omitempty"`
76+
Alerts []*Alert `json:"alerts,omitempty"`
77+
ActivatedOn *time.Time `json:"activatedOn,omitempty"`
78+
LastModified *time.Time `json:"lastModified,omitempty"`
79+
MemoryStorage *string `json:"memoryStorage,omitempty"`
80+
PrivateEndpoint *string `json:"privateEndpoint,omitempty"`
81+
PublicEndpoint *string `json:"publicEndpoint,omitempty"`
82+
RedisVersionCompliance *string `json:"redisVersionCompliance,omitempty"`
83+
Backup *Backup `json:"backup,omitempty"`
84+
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
85+
RedisVersion *string `json:"redisVersion,omitempty"`
86+
AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"`
8587
}
8688

8789
func (o Database) String() string {
@@ -173,11 +175,12 @@ type UpdateDatabase struct {
173175
// It's important to use a pointer here, because the terraform user may want to send an empty list.
174176
// In that case, the developer must pass a (pointer to a) non-nil, zero-length slice
175177
// If the developer really wants to omit this value, passing a nil slice value would work
176-
Alerts *[]*Alert `json:"alerts,omitempty"`
177-
EnableTls *bool `json:"enableTls,omitempty"`
178-
RemoteBackup *DatabaseBackupConfig `json:"remoteBackup,omitempty"`
179-
EnableDefaultUser *bool `json:"enableDefaultUser,omitempty"`
180-
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
178+
Alerts *[]*Alert `json:"alerts,omitempty"`
179+
EnableTls *bool `json:"enableTls,omitempty"`
180+
RemoteBackup *DatabaseBackupConfig `json:"remoteBackup,omitempty"`
181+
EnableDefaultUser *bool `json:"enableDefaultUser,omitempty"`
182+
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
183+
AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"`
181184
}
182185

183186
func (o UpdateDatabase) String() string {

service/databases/model_active_active.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ type ActiveActiveDatabase struct {
2323
Security *Security `json:"security,omitempty"`
2424
Modules []*Module `json:"modules,omitempty"`
2525
CrdbDatabases []*CrdbDatabase `json:"crdbDatabases,omitempty"`
26+
AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"`
2627
}
2728

2829
func (o ActiveActiveDatabase) String() string {
@@ -81,6 +82,7 @@ type CreateActiveActiveDatabase struct {
8182
PortNumber *int `json:"port,omitempty"`
8283
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
8384
RedisVersion *string `json:"redisVersion,omitempty"`
85+
AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"`
8486
}
8587

8688
func (o CreateActiveActiveDatabase) String() string {
@@ -115,6 +117,7 @@ type UpdateActiveActiveDatabase struct {
115117
Regions []*LocalRegionProperties `json:"regions,omitempty"`
116118
DataEvictionPolicy *string `json:"dataEvictionPolicy,omitempty"`
117119
QueryPerformanceFactor *string `json:"queryPerformanceFactor,omitempty"`
120+
AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty"`
118121
}
119122

120123
func (o UpdateActiveActiveDatabase) String() string {

0 commit comments

Comments
 (0)