discovery/ec2/ec2.go
func NewDiscovery(conf *SDConfig, logger log.Logger) *Discovery {
	creds := credentials.NewStaticCredentials(conf.AccessKey, string(conf.SecretKey), "")
	if conf.AccessKey == "" && conf.SecretKey == "" {
		creds = nil
	}
	if logger == nil {
		logger = log.NewNopLogger()
	}
	d := &Discovery{
		aws: &aws.Config{
			Endpoint:    &conf.Endpoint,
			Region:      &conf.Region,
			Credentials: creds,
		},
		profile:  conf.Profile,
		roleARN:  conf.RoleARN,
		filters:  conf.Filters,
		interval: time.Duration(conf.RefreshInterval),
		port:     conf.Port,
	}
	d.Discovery = refresh.NewDiscovery(
		logger,
		"ec2",
		time.Duration(conf.RefreshInterval),
		d.refresh,
	)
	return d
}
func NewDiscovery(conf *SDConfig, logger log.Logger) *Discovery {
	creds := credentials.NewStaticCredentials(conf.AccessKey, string(conf.SecretKey), "")
	if conf.AccessKey == "" && conf.SecretKey == "" {
		creds = nil
	}
	if logger == nil {
		logger = log.NewNopLogger()
	}
	d := &Discovery{
		aws: &aws.Config{
			Endpoint:    &conf.Endpoint,
			Region:      &conf.Region,
			Credentials: creds,
		},
		profile:  conf.Profile,
		roleARN:  conf.RoleARN,
		filters:  conf.Filters,
		interval: time.Duration(conf.RefreshInterval),
		port:     conf.Port,
	}
	d.Discovery = refresh.NewDiscovery(
		logger,
		"ec2",
		time.Duration(conf.RefreshInterval),
		d.refresh,
	)
	return d
}
func NewDiscovery ( conf * SDConfig , logger log . Logger ) * Discovery { creds := credentials . NewStaticCredentials ( conf . AccessKey , string ( conf . SecretKey ) , " " ) if conf . AccessKey == " " && conf . SecretKey == " " { creds = nil } if logger == nil { logger = log . NewNopLogger ( ) } d := & Discovery { aws : & aws . Config { Endpoint : & conf . Endpoint , Region : & conf . Region , Credentials : creds , } , profile : conf . Profile , roleARN : conf . RoleARN , filters : conf . Filters , interval : time . Duration ( conf . RefreshInterval ) , port : conf . Port , } d . Discovery = refresh . NewDiscovery ( logger , " " , time . Duration ( conf . RefreshInterval ) , d . refresh , ) return d }
// NewDiscovery returns a new EC2Discovery which periodically refreshes its targets.
NewDiscovery returns a new EC2Discovery which periodically refreshes its targets .