1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package credentials
- import (
- "context"
- "github.com/aws/aws-sdk-go-v2/aws"
- )
- const (
- // StaticCredentialsName provides a name of Static provider
- StaticCredentialsName = "StaticCredentials"
- )
- // StaticCredentialsEmptyError is emitted when static credentials are empty.
- type StaticCredentialsEmptyError struct{}
- func (*StaticCredentialsEmptyError) Error() string {
- return "static credentials are empty"
- }
- // A StaticCredentialsProvider is a set of credentials which are set, and will
- // never expire.
- type StaticCredentialsProvider struct {
- Value aws.Credentials
- }
- // NewStaticCredentialsProvider return a StaticCredentialsProvider initialized with the AWS
- // credentials passed in.
- func NewStaticCredentialsProvider(key, secret, session string) StaticCredentialsProvider {
- return StaticCredentialsProvider{
- Value: aws.Credentials{
- AccessKeyID: key,
- SecretAccessKey: secret,
- SessionToken: session,
- },
- }
- }
- // Retrieve returns the credentials or error if the credentials are invalid.
- func (s StaticCredentialsProvider) Retrieve(_ context.Context) (aws.Credentials, error) {
- v := s.Value
- if v.AccessKeyID == "" || v.SecretAccessKey == "" {
- return aws.Credentials{
- Source: StaticCredentialsName,
- }, &StaticCredentialsEmptyError{}
- }
- if len(v.Source) == 0 {
- v.Source = StaticCredentialsName
- }
- return v, nil
- }
|