@@ -18,15 +18,13 @@ package azure
1818
1919import (
2020 "context"
21- "encoding/json"
2221 "fmt"
23- "io"
24- "net/http"
2522 "strings"
2623
2724 "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
2825 "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
2926 compute "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
27+ azurecloud "k8s.io/kops/upup/pkg/fi/cloudup/azure"
3028)
3129
3230// client is an Azure client.
@@ -38,7 +36,7 @@ type client struct {
3836
3937// newClient returns a new Client.
4038func newClient () (* client , error ) {
41- metadata , err := queryComputeInstanceMetadata ()
39+ metadata , err := azurecloud . QueryComputeInstanceMetadata ()
4240 if err != nil {
4341 return nil , fmt .Errorf ("error querying instance metadata: %s" , err )
4442 }
@@ -94,40 +92,3 @@ func (c *client) getVMTags(ctx context.Context, providerID string) (map[string]*
9492 return nil , fmt .Errorf ("unsupported resource type %q for %q" , res .ResourceType , providerID )
9593 }
9694}
97-
98- type instanceMetadata struct {
99- SubscriptionID string `json:"subscriptionId"`
100- ResourceGroupName string `json:"resourceGroupName"`
101- }
102-
103- // queryComputeInstanceMetadata queries Azure Instance Metadata.
104- // https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service
105- func queryComputeInstanceMetadata () (* instanceMetadata , error ) {
106- client := & http.Client {}
107- req , err := http .NewRequest ("GET" , "http://169.254.169.254/metadata/instance/compute" , nil )
108- if err != nil {
109- return nil , fmt .Errorf ("error creating a new request: %s" , err )
110- }
111- req .Header .Add ("Metadata" , "True" )
112-
113- q := req .URL .Query ()
114- q .Add ("api-version" , "2025-04-07" )
115- q .Add ("format" , "json" )
116- req .URL .RawQuery = q .Encode ()
117-
118- resp , err := client .Do (req )
119- if err != nil {
120- return nil , fmt .Errorf ("error sending request to the metadata server: %s" , err )
121- }
122-
123- defer resp .Body .Close ()
124- body , err := io .ReadAll (resp .Body )
125- if err != nil {
126- return nil , fmt .Errorf ("error reading a response from the metadata server: %s" , err )
127- }
128- metadata := & instanceMetadata {}
129- if err := json .Unmarshal (body , metadata ); err != nil {
130- return nil , fmt .Errorf ("error unmarshalling metadata: %s" , err )
131- }
132- return metadata , nil
133- }
0 commit comments