Path: blob/main/component/prometheus/exporter/snowflake/snowflake.go
4095 views
package snowflake12import (3"github.com/grafana/agent/component"4"github.com/grafana/agent/component/prometheus/exporter"5"github.com/grafana/agent/pkg/integrations"6"github.com/grafana/agent/pkg/integrations/snowflake_exporter"7"github.com/grafana/agent/pkg/river/rivertypes"8config_util "github.com/prometheus/common/config"9)1011func init() {12component.Register(component.Registration{13Name: "prometheus.exporter.snowflake",14Args: Arguments{},15Exports: exporter.Exports{},16Build: exporter.New(createExporter, "snowflake"),17})18}1920func createExporter(opts component.Options, args component.Arguments) (integrations.Integration, error) {21a := args.(Arguments)22return a.Convert().NewIntegration(opts.Logger)23}2425// DefaultArguments holds the default settings for the snowflake exporter26var DefaultArguments = Arguments{27Role: "ACCOUNTADMIN",28}2930// Arguments controls the snowflake exporter.31type Arguments struct {32AccountName string `river:"account_name,attr"`33Username string `river:"username,attr"`34Password rivertypes.Secret `river:"password,attr"`35Role string `river:"role,attr,optional"`36Warehouse string `river:"warehouse,attr"`37}3839// UnmarshalRiver implements River unmarshalling for Arguments.40func (a *Arguments) UnmarshalRiver(f func(interface{}) error) error {41*a = DefaultArguments4243type args Arguments44return f((*args)(a))45}4647func (a *Arguments) Convert() *snowflake_exporter.Config {48return &snowflake_exporter.Config{49AccountName: a.AccountName,50Username: a.Username,51Password: config_util.Secret(a.Password),52Role: a.Role,53Warehouse: a.Warehouse,54}55}565758