endpointcreds

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const ProviderName = `CredentialsEndpointProvider`

ProviderName is the name of the credentials provider.

Variables

This section is empty.

Functions

func NewCredentialsClient

func NewCredentialsClient(cfg volcstack.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) *credentials.Credentials

NewCredentialsClient returns a pointer to a new Credentials object wrapping the endpoint credentials Provider.

func NewProviderClient

func NewProviderClient(cfg volcstack.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) credentials.Provider

NewProviderClient returns a credentials Provider for retrieving Volcstack credentials from arbitrary endpoint.

Types

type Provider

type Provider struct {
	credentials.Expiry

	// Requires a Volcstack Client to make HTTP requests to the endpoint with.
	// the Endpoint the request will be made to is provided by the volcstack.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

	// Optional authorization token value if set will be used as the value of
	// the Authorization header of the endpoint credential request.
	AuthorizationToken string
	// contains filtered or unexported fields
}

Provider satisfies the credentials.Provider interface, and is a client to retrieve credentials from an arbitrary endpoint.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL