instance_provider.go 533 B

12345678910111213141516171819202122232425262728
  1. package credentials
  2. import (
  3. "os"
  4. "github.com/alibabacloud-go/tea/tea"
  5. )
  6. type instanceCredentialsProvider struct{}
  7. var providerInstance = new(instanceCredentialsProvider)
  8. func newInstanceCredentialsProvider() Provider {
  9. return &instanceCredentialsProvider{}
  10. }
  11. func (p *instanceCredentialsProvider) resolve() (*Config, error) {
  12. roleName, ok := os.LookupEnv(ENVEcsMetadata)
  13. if !ok {
  14. return nil, nil
  15. }
  16. config := &Config{
  17. Type: tea.String("ecs_ram_role"),
  18. RoleName: tea.String(roleName),
  19. }
  20. return config, nil
  21. }