...
Package endpointcreds
Overview ▹
Index ▹
Constants
ProviderName is the name of the credentials provider.
const ProviderName = `CredentialsEndpointProvider`
func NewCredentialsClient ¶
func NewCredentialsClient(cfg aws.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) *credentials.Credentials
NewCredentialsClient returns a Credentials wrapper for retrieving credentials from an arbitrary endpoint concurrently. The client will request the
func NewProviderClient ¶
func NewProviderClient(cfg aws.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) credentials.Provider
NewProviderClient returns a credentials Provider for retrieving AWS credentials from arbitrary endpoint.
type Provider ¶
Provider satisfies the credentials.Provider interface, and is a client to retrieve credentials from an arbitrary endpoint.
type Provider struct { credentials.Expiry // Requires a AWS Client to make HTTP requests to the endpoint with. // the Endpoint the request will be made to is provided by the aws.Config's // Endpoint value. Client *client.Client // ExpiryWindow will allow the credentials to trigger refreshing prior to // the credentials actually expiring. This is beneficial so race conditions // with expiring credentials do not cause request to fail unexpectedly // due to ExpiredTokenException exceptions. // // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true // 10 seconds before the credentials are actually expired. // // If ExpiryWindow is 0 or less it will be ignored. ExpiryWindow time.Duration // contains filtered or unexported fields }
func (*Provider) IsExpired ¶
func (p *Provider) IsExpired() bool
IsExpired returns true if the credentials retrieved are expired, or not yet retrieved.
func (*Provider) Retrieve ¶
func (p *Provider) Retrieve() (credentials.Value, error)
Retrieve will attempt to request the credentials from the endpoint the Provider was configured for. And error will be returned if the retrieval fails.