feat(migrations): Add migration for inputs.snmp_legacy (#14123)

This commit is contained in:
Sven Rebhan 2023-10-16 23:55:57 +02:00 committed by GitHub
parent 8622b0e337
commit 98c4289a48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,5 @@
//go:build !custom || (migrations && (inputs || inputs.snmp_legacy))
package all
import _ "github.com/influxdata/telegraf/migrations/inputs_snmp_legacy" // register migration

View File

@ -0,0 +1,21 @@
package inputs_snmp_legacy
import (
"github.com/influxdata/toml/ast"
"github.com/influxdata/telegraf/migrations"
)
const msg = `
This plugin cannot be migrated automatically and requires manual intervention!
`
// Migration function
func migrate(_ *ast.Table) ([]byte, string, error) {
return nil, msg, nil
}
// Register the migration function for the plugin type
func init() {
migrations.AddPluginMigration("inputs.snmp_legacy", migrate)
}

View File

@ -0,0 +1,23 @@
package inputs_snmp_legacy_test
import (
"strings"
"testing"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf/config"
_ "github.com/influxdata/telegraf/migrations/inputs_snmp_legacy" // register migration
)
func TestNoMigration(t *testing.T) {
input := []byte(`
[[inputs.snmp_legacy]]
address = "192.168.2.2:161"
`)
output, n, err := config.ApplyMigrations(input)
require.NoError(t, err)
require.Empty(t, strings.TrimSpace(string(output)))
require.Equal(t, uint64(1), n)
}