12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package providers
- import (
- "fmt"
- "os"
- )
- type EnvironmentVariableCredentialsProvider struct {
- }
- type EnvironmentVariableCredentialsProviderBuilder struct {
- provider *EnvironmentVariableCredentialsProvider
- }
- func NewEnvironmentVariableCredentialsProviderBuilder() *EnvironmentVariableCredentialsProviderBuilder {
- return &EnvironmentVariableCredentialsProviderBuilder{
- provider: &EnvironmentVariableCredentialsProvider{},
- }
- }
- func (builder *EnvironmentVariableCredentialsProviderBuilder) Build() (provider *EnvironmentVariableCredentialsProvider, err error) {
- provider = builder.provider
- return
- }
- func (provider *EnvironmentVariableCredentialsProvider) GetCredentials() (cc *Credentials, err error) {
- accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
- if accessKeyId == "" {
- err = fmt.Errorf("unable to get credentials from enviroment variables, Access key ID must be specified via environment variable (ALIBABA_CLOUD_ACCESS_KEY_ID)")
- return
- }
- accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
- if accessKeySecret == "" {
- err = fmt.Errorf("unable to get credentials from enviroment variables, Access key secret must be specified via environment variable (ALIBABA_CLOUD_ACCESS_KEY_SECRET)")
- return
- }
- securityToken := os.Getenv("ALIBABA_CLOUD_SECURITY_TOKEN")
- cc = &Credentials{
- AccessKeyId: accessKeyId,
- AccessKeySecret: accessKeySecret,
- SecurityToken: securityToken,
- ProviderName: provider.GetProviderName(),
- }
- return
- }
- func (provider *EnvironmentVariableCredentialsProvider) GetProviderName() string {
- return "env"
- }
|