| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package credentials
- import (
- "github.com/aws/aws-sdk-go/aws/awserr"
- )
- // StaticProviderName provides a name of Static provider
- const StaticProviderName = "StaticProvider"
- var (
- // ErrStaticCredentialsEmpty is emitted when static credentials are empty.
- ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil)
- )
- // A StaticProvider is a set of credentials which are set programmatically,
- // and will never expire.
- type StaticProvider struct {
- Value
- }
- // NewStaticCredentials returns a pointer to a new Credentials object
- // wrapping a static credentials value provider.
- func NewStaticCredentials(id, secret, token string) *Credentials {
- return NewCredentials(&StaticProvider{Value: Value{
- AccessKeyID: id,
- SecretAccessKey: secret,
- SessionToken: token,
- }})
- }
- // NewStaticCredentialsFromCreds returns a pointer to a new Credentials object
- // wrapping the static credentials value provide. Same as NewStaticCredentials
- // but takes the creds Value instead of individual fields
- func NewStaticCredentialsFromCreds(creds Value) *Credentials {
- return NewCredentials(&StaticProvider{Value: creds})
- }
- // Retrieve returns the credentials or error if the credentials are invalid.
- func (s *StaticProvider) Retrieve() (Value, error) {
- if s.AccessKeyID == "" || s.SecretAccessKey == "" {
- return Value{ProviderName: StaticProviderName}, ErrStaticCredentialsEmpty
- }
- if len(s.Value.ProviderName) == 0 {
- s.Value.ProviderName = StaticProviderName
- }
- return s.Value, nil
- }
- // IsExpired returns if the credentials are expired.
- //
- // For StaticProvider, the credentials never expired.
- func (s *StaticProvider) IsExpired() bool {
- return false
- }
|