4 "github.com/aws/aws-sdk-go/aws/awserr"
7 // StaticProviderName provides a name of Static provider
8 const StaticProviderName = "StaticProvider"
11 // ErrStaticCredentialsEmpty is emitted when static credentials are empty.
14 ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil)
17 // A StaticProvider is a set of credentials which are set programmatically,
18 // and will never expire.
19 type StaticProvider struct {
23 // NewStaticCredentials returns a pointer to a new Credentials object
24 // wrapping a static credentials value provider.
25 func NewStaticCredentials(id, secret, token string) *Credentials {
26 return NewCredentials(&StaticProvider{Value: Value{
28 SecretAccessKey: secret,
33 // NewStaticCredentialsFromCreds returns a pointer to a new Credentials object
34 // wrapping the static credentials value provide. Same as NewStaticCredentials
35 // but takes the creds Value instead of individual fields
36 func NewStaticCredentialsFromCreds(creds Value) *Credentials {
37 return NewCredentials(&StaticProvider{Value: creds})
40 // Retrieve returns the credentials or error if the credentials are invalid.
41 func (s *StaticProvider) Retrieve() (Value, error) {
42 if s.AccessKeyID == "" || s.SecretAccessKey == "" {
43 return Value{ProviderName: StaticProviderName}, ErrStaticCredentialsEmpty
46 if len(s.Value.ProviderName) == 0 {
47 s.Value.ProviderName = StaticProviderName
52 // IsExpired returns if the credentials are expired.
54 // For StaticProvider, the credentials never expired.
55 func (s *StaticProvider) IsExpired() bool {