Documentation ¶
Index ¶
Constants ¶
View Source
const ProviderName = "EC2RoleProvider"
ProviderName provides a name of EC2Role provider
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct { aws.SafeCredentialsProvider // Required EC2Metadata client to use when connecting to EC2 metadata service. Client *ec2metadata.EC2Metadata // 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 }
A Provider retrieves credentials from the EC2 service, and keeps track if those credentials are expired.
The NewProvider function must be used to create the Provider.
p := &ec2rolecreds.NewProvider(ec2metadata.New(cfg)) // Expire the credentials 10 minutes before IAM states they should. Proactivily // refreshing the credentials. p.ExpiryWindow = 10 * time.Minute
func NewProvider ¶
func NewProvider(client *ec2metadata.EC2Metadata) *Provider
NewProvider returns an initialized Provider value configured to retrieve credentials from EC2 Instance Metadata service.
Click to show internal directories.
Click to hide internal directories.