plugin/route53: Configurable AWS Endpoint (#4963)
Provide the ability to configure the AWS endpoint Signed-off-by: Matthew Palmer <matthew.palmer@helpsystems.com>
This commit is contained in:
parent
3f031b6b65
commit
e53bff9043
3 changed files with 31 additions and 4 deletions
|
@ -26,8 +26,8 @@ var log = clog.NewWithPlugin("route53")
|
|||
func init() { plugin.Register("route53", setup) }
|
||||
|
||||
// exposed for testing
|
||||
var f = func(credential *credentials.Credentials) route53iface.Route53API {
|
||||
return route53.New(session.Must(session.NewSession(&aws.Config{Credentials: credential})))
|
||||
var f = func(credential *credentials.Credentials, endpoint *string) route53iface.Route53API {
|
||||
return route53.New(session.Must(session.NewSession(&aws.Config{Credentials: credential, Endpoint: endpoint})))
|
||||
}
|
||||
|
||||
func setup(c *caddy.Controller) error {
|
||||
|
@ -44,6 +44,7 @@ func setup(c *caddy.Controller) error {
|
|||
sharedProvider := &credentials.SharedCredentialsProvider{}
|
||||
var providers []credentials.Provider
|
||||
var fall fall.F
|
||||
var endpoint string
|
||||
|
||||
refresh := time.Duration(1) * time.Minute // default update frequency to 1 minute
|
||||
|
||||
|
@ -79,6 +80,12 @@ func setup(c *caddy.Controller) error {
|
|||
SecretAccessKey: v[1],
|
||||
},
|
||||
})
|
||||
case "aws_endpoint":
|
||||
if c.NextArg() {
|
||||
endpoint = c.Val()
|
||||
} else {
|
||||
return plugin.Error("route53", c.ArgErr())
|
||||
}
|
||||
case "upstream":
|
||||
c.RemainingArgs() // eats args
|
||||
case "credentials":
|
||||
|
@ -120,7 +127,7 @@ func setup(c *caddy.Controller) error {
|
|||
}
|
||||
|
||||
providers = append(providers, &credentials.EnvProvider{}, sharedProvider, defaults.RemoteCredProvider(*session.Config, session.Handlers))
|
||||
client := f(credentials.NewChainCredentials(providers))
|
||||
client := f(credentials.NewChainCredentials(providers), &endpoint)
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
h, err := New(ctx, client, keys, refresh)
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue