in pkg/internal/token/msicredential.go [18:40]
func newManagedIdentityCredential(opts *Options) (CredentialProvider, error) {
var id azidentity.ManagedIDKind
if opts.ClientID != "" {
id = azidentity.ClientID(opts.ClientID)
} else if opts.IdentityResourceID != "" {
id = azidentity.ResourceID(opts.IdentityResourceID)
}
azOpts := &azidentity.ManagedIdentityCredentialOptions{
ClientOptions: azcore.ClientOptions{Cloud: opts.GetCloudConfiguration()},
ID: id,
}
if opts.httpClient != nil {
azOpts.ClientOptions.Transport = opts.httpClient
}
cred, err := azidentity.NewManagedIdentityCredential(azOpts)
if err != nil {
return nil, fmt.Errorf("failed to create managed identity credential: %w", err)
}
return &ManagedIdentityCredential{cred: cred}, nil
}