@@ -20,19 +20,22 @@ import (
20
20
21
21
// Instance resource data
22
22
var instanceResource = map [string ]string {
23
- "project_id" : testutil .ProjectId ,
24
- "name" : fmt .Sprintf ("tf-acc-%s" , acctest .RandStringFromCharSet (7 , acctest .CharSetAlphaNum )),
25
- "acl" : "192.168.0.0/16" ,
26
- "flavor_cpu" : "2" ,
27
- "flavor_ram" : "4" ,
28
- "flavor_description" : "Small, Compute optimized" ,
29
- "replicas" : "1" ,
30
- "storage_class" : "premium-perf2-mongodb" ,
31
- "storage_size" : "10" ,
32
- "version" : "5.0" ,
33
- "version_updated" : "6.0" ,
34
- "options_type" : "Single" ,
35
- "flavor_id" : "2.4" ,
23
+ "project_id" : testutil .ProjectId ,
24
+ "name" : fmt .Sprintf ("tf-acc-%s" , acctest .RandStringFromCharSet (7 , acctest .CharSetAlphaNum )),
25
+ "acl" : "192.168.0.0/16" ,
26
+ "flavor_cpu" : "2" ,
27
+ "flavor_ram" : "4" ,
28
+ "flavor_description" : "Small, Compute optimized" ,
29
+ "replicas" : "1" ,
30
+ "storage_class" : "premium-perf2-mongodb" ,
31
+ "storage_size" : "10" ,
32
+ "version" : "5.0" ,
33
+ "version_updated" : "6.0" ,
34
+ "options_type" : "Single" ,
35
+ "flavor_id" : "2.4" ,
36
+ "backup_schedule" : "00 6 * * *" ,
37
+ "backup_schedule_updated" : "00 12 * * *" ,
38
+ "backup_schedule_read" : "0 6 * * *" ,
36
39
}
37
40
38
41
// User resource data
@@ -43,7 +46,7 @@ var userResource = map[string]string{
43
46
"project_id" : instanceResource ["project_id" ],
44
47
}
45
48
46
- func configResources (version string ) string {
49
+ func configResources (version , backupSchedule string ) string {
47
50
return fmt .Sprintf (`
48
51
%s
49
52
@@ -64,6 +67,7 @@ func configResources(version string) string {
64
67
options = {
65
68
type = "%s"
66
69
}
70
+ backup_schedule = "%s"
67
71
}
68
72
69
73
resource "stackit_mongodbflex_user" "user" {
@@ -85,6 +89,7 @@ func configResources(version string) string {
85
89
instanceResource ["storage_size" ],
86
90
version ,
87
91
instanceResource ["options_type" ],
92
+ backupSchedule ,
88
93
userResource ["username" ],
89
94
userResource ["role" ],
90
95
userResource ["database" ],
@@ -98,7 +103,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
98
103
Steps : []resource.TestStep {
99
104
// Creation
100
105
{
101
- Config : configResources (instanceResource ["version" ]),
106
+ Config : configResources (instanceResource ["version" ], instanceResource [ "backup_schedule" ] ),
102
107
Check : resource .ComposeAggregateTestCheckFunc (
103
108
// Instance
104
109
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "project_id" , instanceResource ["project_id" ]),
@@ -115,6 +120,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
115
120
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "storage.size" , instanceResource ["storage_size" ]),
116
121
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "version" , instanceResource ["version" ]),
117
122
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "options.type" , instanceResource ["options_type" ]),
123
+ resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "backup_schedule" , instanceResource ["backup_schedule" ]),
118
124
119
125
// User
120
126
resource .TestCheckResourceAttrPair (
@@ -147,7 +153,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
147
153
user_id = stackit_mongodbflex_user.user.user_id
148
154
}
149
155
` ,
150
- configResources (instanceResource ["version" ]),
156
+ configResources (instanceResource ["version" ], instanceResource [ "backup_schedule" ] ),
151
157
),
152
158
Check : resource .ComposeAggregateTestCheckFunc (
153
159
// Instance data
@@ -174,6 +180,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
174
180
resource .TestCheckResourceAttr ("data.stackit_mongodbflex_instance.instance" , "flavor.ram" , instanceResource ["flavor_ram" ]),
175
181
resource .TestCheckResourceAttr ("data.stackit_mongodbflex_instance.instance" , "replicas" , instanceResource ["replicas" ]),
176
182
resource .TestCheckResourceAttr ("data.stackit_mongodbflex_instance.instance" , "options.type" , instanceResource ["options_type" ]),
183
+ resource .TestCheckResourceAttr ("data.stackit_mongodbflex_instance.instance" , "backup_schedule" , instanceResource ["backup_schedule_read" ]),
177
184
178
185
// User data
179
186
resource .TestCheckResourceAttr ("data.stackit_mongodbflex_user.user" , "project_id" , userResource ["project_id" ]),
@@ -201,8 +208,18 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
201
208
202
209
return fmt .Sprintf ("%s,%s" , testutil .ProjectId , instanceId ), nil
203
210
},
204
- ImportState : true ,
205
- ImportStateVerify : true ,
211
+ ImportState : true ,
212
+ ImportStateVerify : true ,
213
+ ImportStateVerifyIgnore : []string {"backup_schedule" },
214
+ ImportStateCheck : func (s []* terraform.InstanceState ) error {
215
+ if len (s ) != 1 {
216
+ return fmt .Errorf ("expected 1 state, got %d" , len (s ))
217
+ }
218
+ if s [0 ].Attributes ["backup_schedule" ] != instanceResource ["backup_schedule_read" ] {
219
+ return fmt .Errorf ("expected backup_schedule %s, got %s" , instanceResource ["backup_schedule_read" ], s [0 ].Attributes ["backup_schedule" ])
220
+ }
221
+ return nil
222
+ },
206
223
},
207
224
{
208
225
ResourceName : "stackit_mongodbflex_user.user" ,
@@ -228,7 +245,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
228
245
},
229
246
// Update
230
247
{
231
- Config : configResources (instanceResource ["version_updated" ]),
248
+ Config : configResources (instanceResource ["version_updated" ], instanceResource [ "backup_schedule_updated" ] ),
232
249
Check : resource .ComposeAggregateTestCheckFunc (
233
250
// Instance data
234
251
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "project_id" , instanceResource ["project_id" ]),
@@ -245,6 +262,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
245
262
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "storage.size" , instanceResource ["storage_size" ]),
246
263
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "version" , instanceResource ["version_updated" ]),
247
264
resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "options.type" , instanceResource ["options_type" ]),
265
+ resource .TestCheckResourceAttr ("stackit_mongodbflex_instance.instance" , "backup_schedule" , instanceResource ["backup_schedule_updated" ]),
248
266
),
249
267
},
250
268
// Deletion is done by the framework implicitly
0 commit comments