]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blame - vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go
Initial transfer of provider code
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / aws / credentials / static_provider.go
CommitLineData
bae9f6d2
JC
1package credentials
2
3import (
4 "github.com/aws/aws-sdk-go/aws/awserr"
5)
6
7// StaticProviderName provides a name of Static provider
8const StaticProviderName = "StaticProvider"
9
10var (
11 // ErrStaticCredentialsEmpty is emitted when static credentials are empty.
12 //
13 // @readonly
14 ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil)
15)
16
17// A StaticProvider is a set of credentials which are set programmatically,
18// and will never expire.
19type StaticProvider struct {
20 Value
21}
22
23// NewStaticCredentials returns a pointer to a new Credentials object
24// wrapping a static credentials value provider.
25func NewStaticCredentials(id, secret, token string) *Credentials {
26 return NewCredentials(&StaticProvider{Value: Value{
27 AccessKeyID: id,
28 SecretAccessKey: secret,
29 SessionToken: token,
30 }})
31}
32
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
36func NewStaticCredentialsFromCreds(creds Value) *Credentials {
37 return NewCredentials(&StaticProvider{Value: creds})
38}
39
40// Retrieve returns the credentials or error if the credentials are invalid.
41func (s *StaticProvider) Retrieve() (Value, error) {
42 if s.AccessKeyID == "" || s.SecretAccessKey == "" {
43 return Value{ProviderName: StaticProviderName}, ErrStaticCredentialsEmpty
44 }
45
46 if len(s.Value.ProviderName) == 0 {
47 s.Value.ProviderName = StaticProviderName
48 }
49 return s.Value, nil
50}
51
52// IsExpired returns if the credentials are expired.
53//
54// For StaticProvider, the credentials never expired.
55func (s *StaticProvider) IsExpired() bool {
56 return false
57}