@@ -23,35 +23,75 @@ data "ovh_dbaas_logs_input_engine" "logstash" {
23
23
}
24
24
25
25
resource "ovh_dbaas_logs_output_graylog_stream" "stream" {
26
- service_name = "%s"
27
- title = "%s"
28
- description = "%s"
26
+ service_name = "%s"
27
+ title = "%s"
28
+ description = "%s"
29
29
}
30
30
31
31
resource "ovh_dbaas_logs_input" "input" {
32
- service_name = ovh_dbaas_logs_output_graylog_stream.stream.service_name
33
- description = ovh_dbaas_logs_output_graylog_stream.stream.description
34
- title = ovh_dbaas_logs_output_graylog_stream.stream.title
35
- engine_id = data.ovh_dbaas_logs_input_engine.logstash.id
36
- stream_id = ovh_dbaas_logs_output_graylog_stream.stream.id
37
-
38
- allowed_networks = ["10.0.0.0/16"]
39
- exposed_port = "6154"
40
- nb_instance = 2
41
-
42
- configuration {
43
- logstash {
44
- input_section = <<EOF
45
- beats {
46
- port => 6514
47
- ssl => true
48
- ssl_certificate => "/etc/ssl/private/server.crt"
49
- ssl_key => "/etc/ssl/private/server.key"
32
+ service_name = ovh_dbaas_logs_output_graylog_stream.stream.service_name
33
+ description = ovh_dbaas_logs_output_graylog_stream.stream.description
34
+ title = ovh_dbaas_logs_output_graylog_stream.stream.title
35
+ engine_id = data.ovh_dbaas_logs_input_engine.logstash.id
36
+ stream_id = ovh_dbaas_logs_output_graylog_stream.stream.id
37
+
38
+ allowed_networks = ["10.0.0.0/16"]
39
+ exposed_port = "6154"
40
+ nb_instance = %d
41
+
42
+ configuration {
43
+ logstash {
44
+ input_section = <<EOF
45
+ beats {
46
+ port => 6514
47
+ ssl => true
48
+ ssl_certificate => "/etc/ssl/private/server.crt"
49
+ ssl_key => "/etc/ssl/private/server.key"
50
+ }
51
+ EOF
52
+ }
53
+ }
50
54
}
51
- EOF
55
+ `
52
56
53
- }
54
- }
57
+ const testAccResourceDbaasLogsInput_updated = `
58
+ data "ovh_dbaas_logs_input_engine" "logstash" {
59
+ service_name = "%s"
60
+ name = "%s"
61
+ version = "%s"
62
+ }
63
+
64
+ resource "ovh_dbaas_logs_output_graylog_stream" "stream" {
65
+ service_name = "%s"
66
+ title = "%s"
67
+ description = "%s"
68
+ }
69
+
70
+ resource "ovh_dbaas_logs_input" "input" {
71
+ service_name = ovh_dbaas_logs_output_graylog_stream.stream.service_name
72
+ description = ovh_dbaas_logs_output_graylog_stream.stream.description
73
+ title = ovh_dbaas_logs_output_graylog_stream.stream.title
74
+ engine_id = data.ovh_dbaas_logs_input_engine.logstash.id
75
+ stream_id = ovh_dbaas_logs_output_graylog_stream.stream.id
76
+
77
+ allowed_networks = ["10.0.0.0/16"]
78
+ exposed_port = "6154"
79
+ autoscale = true
80
+ min_scale_instance = 2
81
+ max_scale_instance = 4
82
+
83
+ configuration {
84
+ logstash {
85
+ input_section = <<EOF
86
+ beats {
87
+ port => 6514
88
+ ssl => true
89
+ ssl_certificate => "/etc/ssl/private/server.crt"
90
+ ssl_key => "/etc/ssl/private/server.key"
91
+ }
92
+ EOF
93
+ }
94
+ }
55
95
}
56
96
`
57
97
@@ -161,15 +201,12 @@ func TestAccResourceDbaasLogsInput_basic(t *testing.T) {
161
201
title := acctest .RandomWithPrefix (test_prefix )
162
202
desc := acctest .RandomWithPrefix (test_prefix )
163
203
164
- config := fmt .Sprintf (
165
- testAccResourceDbaasLogsInput_basic ,
166
- serviceName ,
167
- name ,
168
- version ,
169
- serviceName ,
170
- title ,
171
- desc ,
172
- )
204
+ config := fmt .Sprintf (testAccResourceDbaasLogsInput_basic ,
205
+ serviceName , name , version , serviceName , title , desc , 2 )
206
+ configWithMoreInstances := fmt .Sprintf (testAccResourceDbaasLogsInput_basic ,
207
+ serviceName , name , version , serviceName , title , desc , 4 )
208
+ configUpdated := fmt .Sprintf (testAccResourceDbaasLogsInput_updated ,
209
+ serviceName , name , version , serviceName , title , desc )
173
210
174
211
resource .Test (t , resource.TestCase {
175
212
PreCheck : func () { testAccPreCheckDbaasLogsInput (t ) },
@@ -189,6 +226,91 @@ func TestAccResourceDbaasLogsInput_basic(t *testing.T) {
189
226
"title" ,
190
227
title ,
191
228
),
229
+ resource .TestCheckResourceAttr (
230
+ "ovh_dbaas_logs_input.input" ,
231
+ "autoscale" ,
232
+ "false" ,
233
+ ),
234
+ resource .TestCheckResourceAttr (
235
+ "ovh_dbaas_logs_input.input" ,
236
+ "nb_instance" ,
237
+ "2" ,
238
+ ),
239
+ resource .TestCheckResourceAttr (
240
+ "ovh_dbaas_logs_input.input" ,
241
+ "current_nb_instance" ,
242
+ "2" ,
243
+ ),
244
+ ),
245
+ },
246
+ {
247
+ Config : configWithMoreInstances ,
248
+ Check : resource .ComposeTestCheckFunc (
249
+ resource .TestCheckResourceAttr (
250
+ "ovh_dbaas_logs_input.input" ,
251
+ "description" ,
252
+ desc ,
253
+ ),
254
+ resource .TestCheckResourceAttr (
255
+ "ovh_dbaas_logs_input.input" ,
256
+ "title" ,
257
+ title ,
258
+ ),
259
+ resource .TestCheckResourceAttr (
260
+ "ovh_dbaas_logs_input.input" ,
261
+ "autoscale" ,
262
+ "false" ,
263
+ ),
264
+ resource .TestCheckResourceAttr (
265
+ "ovh_dbaas_logs_input.input" ,
266
+ "nb_instance" ,
267
+ "4" ,
268
+ ),
269
+ resource .TestCheckResourceAttr (
270
+ "ovh_dbaas_logs_input.input" ,
271
+ "current_nb_instance" ,
272
+ "4" ,
273
+ ),
274
+ ),
275
+ },
276
+ {
277
+ Config : configUpdated ,
278
+ Check : resource .ComposeTestCheckFunc (
279
+ resource .TestCheckResourceAttr (
280
+ "ovh_dbaas_logs_input.input" ,
281
+ "description" ,
282
+ desc ,
283
+ ),
284
+ resource .TestCheckResourceAttr (
285
+ "ovh_dbaas_logs_input.input" ,
286
+ "title" ,
287
+ title ,
288
+ ),
289
+ resource .TestCheckResourceAttr (
290
+ "ovh_dbaas_logs_input.input" ,
291
+ "autoscale" ,
292
+ "true" ,
293
+ ),
294
+ resource .TestCheckResourceAttr (
295
+ "ovh_dbaas_logs_input.input" ,
296
+ "min_scale_instance" ,
297
+ "2" ,
298
+ ),
299
+ resource .TestCheckResourceAttr (
300
+ "ovh_dbaas_logs_input.input" ,
301
+ "max_scale_instance" ,
302
+ "4" ,
303
+ ),
304
+ resource .TestCheckResourceAttr (
305
+ "ovh_dbaas_logs_input.input" ,
306
+ "nb_instance" ,
307
+ "0" ,
308
+ ),
309
+ resource .TestCheckResourceAttr (
310
+ "ovh_dbaas_logs_input.input" ,
311
+ "current_nb_instance" ,
312
+ "4" ,
313
+ ),
192
314
),
193
315
},
194
316
},
0 commit comments