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.
12 ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil)
15 // A StaticProvider is a set of credentials which are set programmatically,
16 // and will never expire.
17 type StaticProvider struct {
21 // NewStaticCredentials returns a pointer to a new Credentials object
22 // wrapping a static credentials value provider.
23 func NewStaticCredentials(id, secret, token string) *Credentials {
24 return NewCredentials(&StaticProvider{Value: Value{
26 SecretAccessKey: secret,
31 // NewStaticCredentialsFromCreds returns a pointer to a new Credentials object
32 // wrapping the static credentials value provide. Same as NewStaticCredentials
33 // but takes the creds Value instead of individual fields
34 func NewStaticCredentialsFromCreds(creds Value) *Credentials {
35 return NewCredentials(&StaticProvider{Value: creds})
38 // Retrieve returns the credentials or error if the credentials are invalid.
39 func (s *StaticProvider) Retrieve() (Value, error) {
40 if s.AccessKeyID == "" || s.SecretAccessKey == "" {
41 return Value{ProviderName: StaticProviderName}, ErrStaticCredentialsEmpty
44 if len(s.Value.ProviderName) == 0 {
45 s.Value.ProviderName = StaticProviderName
50 // IsExpired returns if the credentials are expired.
52 // For StaticProvider, the credentials never expired.
53 func (s *StaticProvider) IsExpired() bool {