Skip to content

Commit e7c23d7

Browse files
authored
Merge pull request #11 from rebuy-de/add-legacy-rotation-to-datasource
2 parents c3fa9ed + 5c27c3a commit e7c23d7

File tree

6 files changed

+44
-13
lines changed

6 files changed

+44
-13
lines changed

graylog/datasource/system/indices/indexset/data_source.go

+4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ func DataSource() *schema.Resource {
4343
Type: schema.TypeString,
4444
Computed: true,
4545
},
46+
"use_legacy_rotation": {
47+
Type: schema.TypeBool,
48+
Computed: true,
49+
},
4650
"index_analyzer": {
4751
Type: schema.TypeString,
4852
Computed: true,

graylog/datasource/system/indices/indexset/data_source_test.go

+15-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package indexset
22

33
import (
4-
"io/ioutil"
4+
"io"
55
"net/http"
66
"strings"
77
"testing"
@@ -30,7 +30,7 @@ func TestAccIndexSet(t *testing.T) {
3030
Response: func(req *http.Request) (*http.Response, error) {
3131
return &http.Response{
3232
StatusCode: 200,
33-
Body: ioutil.NopCloser(strings.NewReader(`{
33+
Body: io.NopCloser(strings.NewReader(`{
3434
"total": 3,
3535
"index_sets": [
3636
{
@@ -56,7 +56,9 @@ func TestAccIndexSet(t *testing.T) {
5656
"index_optimization_disabled": false,
5757
"field_type_refresh_interval": 5000,
5858
"writable": true,
59-
"default": true
59+
"default": true,
60+
"data_tiering": null,
61+
"use_legacy_rotation": true
6062
},
6163
{
6264
"id": "5ea81cc02ab79c00129dbf1c",
@@ -81,7 +83,9 @@ func TestAccIndexSet(t *testing.T) {
8183
"index_optimization_disabled": false,
8284
"field_type_refresh_interval": 60000,
8385
"writable": true,
84-
"default": false
86+
"default": false,
87+
"data_tiering": null,
88+
"use_legacy_rotation": true
8589
},
8690
{
8791
"id": "5ea81cc02ab79c00129dbf1f",
@@ -106,7 +110,9 @@ func TestAccIndexSet(t *testing.T) {
106110
"index_optimization_disabled": false,
107111
"field_type_refresh_interval": 60000,
108112
"writable": true,
109-
"default": false
113+
"default": false,
114+
"data_tiering": null,
115+
"use_legacy_rotation": true
110116
}
111117
],
112118
"stats": {}
@@ -175,7 +181,7 @@ func TestAccIndexSet_byIndexSetID(t *testing.T) {
175181
Response: func(req *http.Request) (*http.Response, error) {
176182
return &http.Response{
177183
StatusCode: 200,
178-
Body: ioutil.NopCloser(strings.NewReader(`{
184+
Body: io.NopCloser(strings.NewReader(`{
179185
"id": "5ea81cc02ab79c00129dbf1c",
180186
"title": "Graylog Events",
181187
"description": "Stores Graylog events.",
@@ -198,7 +204,9 @@ func TestAccIndexSet_byIndexSetID(t *testing.T) {
198204
"index_optimization_disabled": false,
199205
"field_type_refresh_interval": 60000,
200206
"writable": true,
201-
"default": false
207+
"default": false,
208+
"data_tiering": null,
209+
"use_legacy_rotation": true
202210
}`)),
203211
}, nil
204212
},

graylog/resource/system/indices/indexset/create.go

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ func create(d *schema.ResourceData, m interface{}) error {
1818

1919
if d.Get("data_tiering") != "" {
2020
d.Set("use_legacy_rotation", false)
21+
} else {
22+
d.Set("use_legacy_rotation", true)
2123
}
2224

2325
data, err := getDataFromResourceData(d)

graylog/resource/system/indices/indexset/resource.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,7 @@ func Resource() *schema.Resource {
9898
},
9999
"use_legacy_rotation": {
100100
Type: schema.TypeBool,
101-
Optional: true,
102-
Default: true,
101+
Computed: true,
103102
},
104103
// field_type_refresh_interval was added from Graylog API v3
105104
"field_type_refresh_interval": {

graylog/resource/system/indices/indexset/resource_test.go

+20-4
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,12 @@ EOF
256256
"field_type_refresh_interval": 5000,
257257
"writable": true,
258258
"default": false,
259-
"data_tiering": null,
260-
"use_legacy_rotation": true
259+
"data_tiering": {
260+
"index_lifetime_max": "P40D",
261+
"index_lifetime_min": "P30D",
262+
"type": "hot_only"
263+
},
264+
"use_legacy_rotation": false
261265
}`
262266
},
263267
},
@@ -289,8 +293,12 @@ EOF
289293
"field_type_refresh_interval": 5000,
290294
"writable": true,
291295
"default": false,
292-
"data_tiering": null,
293-
"use_legacy_rotation": true
296+
"data_tiering": {
297+
"index_lifetime_max": "P40D",
298+
"index_lifetime_min": "P30D",
299+
"type": "hot_only"
300+
},
301+
"use_legacy_rotation": false
294302
}`,
295303
},
296304
}
@@ -327,6 +335,14 @@ EOF
327335
"max_docs_per_index": 40000000,
328336
"type": "org.graylog2.indexer.rotation.strategies.MessageCountRotationStrategyConfig"
329337
}
338+
EOF
339+
340+
data_tiering = <<EOF
341+
{
342+
"index_lifetime_max": "P40D",
343+
"index_lifetime_min": "P30D",
344+
"type": "hot_only"
345+
}
330346
EOF
331347
}
332348
`,

graylog/resource/system/indices/indexset/update.go

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ func update(d *schema.ResourceData, m interface{}) error {
1818

1919
if d.Get("data_tiering") != "" {
2020
d.Set("use_legacy_rotation", false)
21+
} else {
22+
d.Set("use_legacy_rotation", true)
2123
}
2224

2325
data, err := getDataFromResourceData(d)

0 commit comments

Comments
 (0)