| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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.
- //
- // @readonly
- 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
- }
|