diff --git a/config/config_test.go b/config/config_test.go index 2b3f3f751..51dd8280f 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -1897,6 +1897,10 @@ var expectedErrors = []struct { filename: "uyuni_no_server.bad.yml", errMsg: "Uyuni SD configuration requires server host", }, + { + filename: "uyuni_token_file.bad.yml", + errMsg: "at most one of bearer_token & bearer_token_file must be configured", + }, { filename: "ionos_datacenter.bad.yml", errMsg: "datacenter id can't be empty", diff --git a/config/testdata/uyuni_token_file.bad.yml b/config/testdata/uyuni_token_file.bad.yml new file mode 100644 index 000000000..5a061dadf --- /dev/null +++ b/config/testdata/uyuni_token_file.bad.yml @@ -0,0 +1,8 @@ +scrape_configs: + - job_name: uyuni + uyuni_sd_configs: + - server: "server" + username: "username" + password: "password" + bearer_token: foo + bearer_token_file: foo diff --git a/discovery/uyuni/uyuni.go b/discovery/uyuni/uyuni.go index e37acbf98..bc33d28cb 100644 --- a/discovery/uyuni/uyuni.go +++ b/discovery/uyuni/uyuni.go @@ -146,7 +146,7 @@ func (c *SDConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { if c.Password == "" { return errors.New("Uyuni SD configuration requires a password") } - return nil + return c.HTTPClientConfig.Validate() } func login(rpcclient *xmlrpc.Client, user, pass string, duration int) (string, error) {