target.go 544 B

12345678910111213141516171819202122232425
  1. package target
  2. import "io"
  3. // ScrapeTarget is an interface representing an object that is capable of loading/refreshing it's
  4. // target data.
  5. type ScrapeTarget interface {
  6. Load() (io.Reader, error)
  7. }
  8. type TargetProvider interface {
  9. GetTargets() []ScrapeTarget
  10. }
  11. type DefaultTargetProvider struct {
  12. targets []ScrapeTarget
  13. }
  14. func NewDefaultTargetProvider(targets ...ScrapeTarget) *DefaultTargetProvider {
  15. return &DefaultTargetProvider{targets: targets}
  16. }
  17. func (m *DefaultTargetProvider) GetTargets() []ScrapeTarget {
  18. return m.targets
  19. }