azure_ml.go raw
1 // Copyright (c) Microsoft Corporation.
2 // Licensed under the MIT license.
3
4 package managedidentity
5
6 import (
7 "context"
8 "net/http"
9 "os"
10 )
11
12 func createAzureMLAuthRequest(ctx context.Context, id ID, resource string) (*http.Request, error) {
13 req, err := http.NewRequestWithContext(ctx, http.MethodGet, os.Getenv(msiEndpointEnvVar), nil)
14 if err != nil {
15 return nil, err
16 }
17
18 req.Header.Set("secret", os.Getenv(msiSecretEnvVar))
19 q := req.URL.Query()
20 q.Set(apiVersionQueryParameterName, azureMLAPIVersion)
21 q.Set(resourceQueryParameterName, resource)
22 q.Set("clientid", os.Getenv("DEFAULT_IDENTITY_CLIENT_ID"))
23 if cid, ok := id.(UserAssignedClientID); ok {
24 q.Set("clientid", string(cid))
25 }
26 req.URL.RawQuery = q.Encode()
27 return req, nil
28 }
29