const ( // EnvVarAccessKeyId is a name of ALIBABA_CLOUD_ACCESS_KEY_Id EnvVarAccessKeyId = "ALIBABA_CLOUD_ACCESS_KEY_Id" EnvVarAccessKeyIdNew = "ALIBABA_CLOUD_ACCESS_KEY_ID" // EnvVarAccessKeySecret is a name of ALIBABA_CLOUD_ACCESS_KEY_SECRET EnvVarAccessKeySecret = "ALIBABA_CLOUD_ACCESS_KEY_SECRET" )
Environmental virables that may be used by the provider
const ( ENVCredentialFile = "ALIBABA_CLOUD_CREDENTIALS_FILE" ENVEcsMetadata = "ALIBABA_CLOUD_ECS_METADATA" PATHCredentialFile = "~/.alibabacloud/credentials" ENVRoleArn = "ALIBABA_CLOUD_ROLE_ARN" ENVOIDCProviderArn = "ALIBABA_CLOUD_OIDC_PROVIDER_ARN" ENVOIDCTokenFile = "ALIBABA_CLOUD_OIDC_TOKEN_FILE" ENVRoleSessionName = "ALIBABA_CLOUD_ROLE_SESSION_NAME" )
AccessKeyCredential is a kind of credential
type AccessKeyCredential struct { AccessKeyId string AccessKeySecret string }
func (a *AccessKeyCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns AccessKeyCreential's AccessKeyId
func (a *AccessKeyCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns AccessKeyCreential's AccessKeySecret
func (a *AccessKeyCredential) GetBearerToken() *string
GetBearerToken is useless for AccessKeyCreential
func (s *AccessKeyCredential) GetCredential() (*CredentialModel, error)
func (a *AccessKeyCredential) GetSecurityToken() (*string, error)
GetSecurityToken is useless for AccessKeyCreential
func (a *AccessKeyCredential) GetType() *string
GetType reutrns AccessKeyCreential's type
BearerTokenCredential is a kind of credential
type BearerTokenCredential struct { BearerToken string }
func (b *BearerTokenCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId is useless for BearerTokenCredential
func (b *BearerTokenCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret is useless for BearerTokenCredential
func (b *BearerTokenCredential) GetBearerToken() *string
GetBearerToken reutrns BearerTokenCredential's BearerToken
func (s *BearerTokenCredential) GetCredential() (*CredentialModel, error)
func (b *BearerTokenCredential) GetSecurityToken() (*string, error)
GetSecurityToken is useless for BearerTokenCredential
func (b *BearerTokenCredential) GetType() *string
GetType reutrns BearerTokenCredential's type
Config is important when call NewCredential
type Config struct { Type *string `json:"type"` AccessKeyId *string `json:"access_key_id"` AccessKeySecret *string `json:"access_key_secret"` OIDCProviderArn *string `json:"oidc_provider_arn"` OIDCTokenFilePath *string `json:"oidc_token"` RoleArn *string `json:"role_arn"` RoleSessionName *string `json:"role_session_name"` PublicKeyId *string `json:"public_key_id"` RoleName *string `json:"role_name"` SessionExpiration *int `json:"session_expiration"` PrivateKeyFile *string `json:"private_key_file"` BearerToken *string `json:"bearer_token"` SecurityToken *string `json:"security_token"` RoleSessionExpiration *int `json:"role_session_expiratioon"` Policy *string `json:"policy"` Host *string `json:"host"` Timeout *int `json:"timeout"` ConnectTimeout *int `json:"connect_timeout"` Proxy *string `json:"proxy"` InAdvanceScale *float64 `json:"inAdvanceScale"` Url *string `json:"url"` STSEndpoint *string `json:"sts_endpoint"` ExternalId *string `json:"external_id"` }
func (s Config) GoString() string
func (s *Config) SetAccessKeyId(v string) *Config
func (s *Config) SetAccessKeySecret(v string) *Config
func (s *Config) SetBearerToken(v string) *Config
func (s *Config) SetConnectTimeout(v int) *Config
func (s *Config) SetHost(v string) *Config
func (s *Config) SetOIDCProviderArn(v string) *Config
func (s *Config) SetOIDCTokenFilePath(v string) *Config
func (s *Config) SetPolicy(v string) *Config
func (s *Config) SetPrivateKeyFile(v string) *Config
func (s *Config) SetProxy(v string) *Config
func (s *Config) SetPublicKeyId(v string) *Config
func (s *Config) SetRoleArn(v string) *Config
func (s *Config) SetRoleName(v string) *Config
func (s *Config) SetRoleSessionExpiration(v int) *Config
func (s *Config) SetRoleSessionName(v string) *Config
func (s *Config) SetSTSEndpoint(v string) *Config
func (s *Config) SetSecurityToken(v string) *Config
func (s *Config) SetSessionExpiration(v int) *Config
func (s *Config) SetTimeout(v int) *Config
func (s *Config) SetType(v string) *Config
func (s *Config) SetURLCredential(v string) *Config
func (s Config) String() string
Credential is an interface for getting actual credential
type Credential interface { GetAccessKeyId() (*string, error) GetAccessKeySecret() (*string, error) GetSecurityToken() (*string, error) GetBearerToken() *string GetType() *string GetCredential() (*CredentialModel, error) }
func NewCredential(config *Config) (credential Credential, err error)
NewCredential return a credential according to the type in config. if config is nil, the function will use default provider chain to get credential. please see README.md for detail.
CredentialModel is a model
type CredentialModel struct { // accesskey id AccessKeyId *string `json:"accessKeyId,omitempty" xml:"accessKeyId,omitempty"` // accesskey secret AccessKeySecret *string `json:"accessKeySecret,omitempty" xml:"accessKeySecret,omitempty"` // security token SecurityToken *string `json:"securityToken,omitempty" xml:"securityToken,omitempty"` // bearer token BearerToken *string `json:"bearerToken,omitempty" xml:"bearerToken,omitempty"` // type Type *string `json:"type,omitempty" xml:"type,omitempty"` }
func (s CredentialModel) GoString() string
func (s *CredentialModel) SetAccessKeyId(v string) *CredentialModel
func (s *CredentialModel) SetAccessKeySecret(v string) *CredentialModel
func (s *CredentialModel) SetBearerToken(v string) *CredentialModel
func (s *CredentialModel) SetSecurityToken(v string) *CredentialModel
func (s *CredentialModel) SetType(v string) *CredentialModel
func (s CredentialModel) String() string
EcsRAMRoleCredential is a kind of credential
type EcsRAMRoleCredential struct { RoleName string // contains filtered or unexported fields }
func (e *EcsRAMRoleCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns EcsRAMRoleCredential's AccessKeyId if AccessKeyId is not exist or out of date, the function will update it.
func (e *EcsRAMRoleCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns EcsRAMRoleCredential's AccessKeySecret if AccessKeySecret is not exist or out of date, the function will update it.
func (e *EcsRAMRoleCredential) GetBearerToken() *string
GetBearerToken is useless for EcsRAMRoleCredential
func (e *EcsRAMRoleCredential) GetCredential() (*CredentialModel, error)
func (e *EcsRAMRoleCredential) GetSecurityToken() (*string, error)
GetSecurityToken reutrns EcsRAMRoleCredential's SecurityToken if SecurityToken is not exist or out of date, the function will update it.
func (e *EcsRAMRoleCredential) GetType() *string
GetType reutrns EcsRAMRoleCredential's type
OIDCCredential is a kind of credentials
type OIDCCredential struct { AccessKeyId string AccessKeySecret string RoleArn string OIDCProviderArn string OIDCTokenFilePath string Policy string RoleSessionName string RoleSessionExpiration int // contains filtered or unexported fields }
func (r *OIDCCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns OIDCCredential's AccessKeyId if AccessKeyId is not exist or out of date, the function will update it.
func (r *OIDCCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns OIDCCredential's AccessKeySecret if AccessKeySecret is not exist or out of date, the function will update it.
func (r *OIDCCredential) GetBearerToken() *string
GetBearerToken is useless OIDCCredential
func (e *OIDCCredential) GetCredential() (*CredentialModel, error)
func (r *OIDCCredential) GetOIDCToken(OIDCTokenFilePath string) *string
func (r *OIDCCredential) GetSecurityToken() (*string, error)
GetSecurityToken reutrns OIDCCredential's SecurityToken if SecurityToken is not exist or out of date, the function will update it.
func (r *OIDCCredential) GetType() *string
GetType reutrns OIDCCredential's type
type OIDCResponse struct { Credentials *credentialsInResponse `json:"Credentials" xml:"Credentials"` }
type OIDCcredentialsInResponse struct { AccessKeyId string `json:"AccessKeyId" xml:"AccessKeyId"` AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"` SecurityToken string `json:"SecurityToken" xml:"SecurityToken"` Expiration string `json:"Expiration" xml:"Expiration"` }
Provider will be implemented When you want to customize the provider.
type Provider interface {
// contains filtered or unexported methods
}
RAMRoleArnCredential is a kind of credentials
type RAMRoleArnCredential struct { AccessKeyId string AccessKeySecret string RoleArn string RoleSessionName string RoleSessionExpiration int Policy string ExternalId string // contains filtered or unexported fields }
func (r *RAMRoleArnCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns RamRoleArnCredential's AccessKeyId if AccessKeyId is not exist or out of date, the function will update it.
func (r *RAMRoleArnCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns RamRoleArnCredential's AccessKeySecret if AccessKeySecret is not exist or out of date, the function will update it.
func (r *RAMRoleArnCredential) GetBearerToken() *string
GetBearerToken is useless RamRoleArnCredential
func (e *RAMRoleArnCredential) GetCredential() (*CredentialModel, error)
func (r *RAMRoleArnCredential) GetSecurityToken() (*string, error)
GetSecurityToken reutrns RamRoleArnCredential's SecurityToken if SecurityToken is not exist or out of date, the function will update it.
func (r *RAMRoleArnCredential) GetType() *string
GetType reutrns RamRoleArnCredential's type
RsaKeyPairCredential is a kind of credentials
type RsaKeyPairCredential struct { PrivateKey string PublicKeyId string SessionExpiration int // contains filtered or unexported fields }
func (r *RsaKeyPairCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns RsaKeyPairCredential's AccessKeyId if AccessKeyId is not exist or out of date, the function will update it.
func (r *RsaKeyPairCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns RsaKeyPairCredential's AccessKeySecret if AccessKeySecret is not exist or out of date, the function will update it.
func (r *RsaKeyPairCredential) GetBearerToken() *string
GetBearerToken is useless for RsaKeyPairCredential
func (e *RsaKeyPairCredential) GetCredential() (*CredentialModel, error)
func (r *RsaKeyPairCredential) GetSecurityToken() (*string, error)
GetSecurityToken is useless RsaKeyPairCredential
func (r *RsaKeyPairCredential) GetType() *string
GetType reutrns RsaKeyPairCredential's type
StsTokenCredential is a kind of credentials
type StsTokenCredential struct { AccessKeyId string AccessKeySecret string SecurityToken string }
func (s *StsTokenCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns StsTokenCredential's AccessKeyId
func (s *StsTokenCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns StsTokenCredential's AccessKeySecret
func (s *StsTokenCredential) GetBearerToken() *string
GetBearerToken is useless StsTokenCredential
func (s *StsTokenCredential) GetCredential() (*CredentialModel, error)
func (s *StsTokenCredential) GetSecurityToken() (*string, error)
GetSecurityToken reutrns StsTokenCredential's SecurityToken
func (s *StsTokenCredential) GetType() *string
GetType reutrns StsTokenCredential's type
URLCredential is a kind of credential
type URLCredential struct { URL string // contains filtered or unexported fields }
func (e *URLCredential) GetAccessKeyId() (*string, error)
GetAccessKeyId reutrns URLCredential's AccessKeyId if AccessKeyId is not exist or out of date, the function will update it.
func (e *URLCredential) GetAccessKeySecret() (*string, error)
GetAccessSecret reutrns URLCredential's AccessKeySecret if AccessKeySecret is not exist or out of date, the function will update it.
func (e *URLCredential) GetBearerToken() *string
GetBearerToken is useless for URLCredential
func (e *URLCredential) GetCredential() (*CredentialModel, error)
func (e *URLCredential) GetSecurityToken() (*string, error)
GetSecurityToken reutrns URLCredential's SecurityToken if SecurityToken is not exist or out of date, the function will update it.
func (e *URLCredential) GetType() *string
GetType reutrns URLCredential's type
type URLResponse struct { AccessKeyId string `json:"AccessKeyId" xml:"AccessKeyId"` AccessKeySecret string `json:"AccessKeySecret" xml:"AccessKeySecret"` SecurityToken string `json:"SecurityToken" xml:"SecurityToken"` Expiration string `json:"Expiration" xml:"Expiration"` }