]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go
deps: use go modules for dep mgmt
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / aws / aws-sdk-go / aws / credentials / static_provider.go
1 package credentials
2
3 import (
4 "github.com/aws/aws-sdk-go/aws/awserr"
5 )
6
7 // StaticProviderName provides a name of Static provider
8 const StaticProviderName = "StaticProvider"
9
10 var (
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.
19 type StaticProvider struct {
20 Value
21 }
22
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{
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
36 func NewStaticCredentialsFromCreds(creds Value) *Credentials {
37 return NewCredentials(&StaticProvider{Value: creds})
38 }
39
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
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.
55 func (s *StaticProvider) IsExpired() bool {
56 return false
57 }