/
aks.go
43 lines (37 loc) · 1.21 KB
/
aks.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package azure
import (
"context"
"github.com/Azure/azure-sdk-for-go/services/containerservice/mgmt/2019-11-01/containerservice"
"github.com/gruntwork-io/terratest/modules/testing"
)
// GetManagedClustersClientE is a helper function that will setup an Azure ManagedClusters client on your behalf
func GetManagedClustersClientE(subscriptionID string) (*containerservice.ManagedClustersClient, error) {
// Create a cluster client
client, err := CreateManagedClustersClientE(subscriptionID)
if err != nil {
return nil, err
}
// setup authorizer
authorizer, err := NewAuthorizer()
if err != nil {
return nil, err
}
client.Authorizer = *authorizer
return &client, nil
}
// GetManagedClusterE will return ManagedCluster
func GetManagedClusterE(t testing.TestingT, resourceGroupName, clusterName, subscriptionID string) (*containerservice.ManagedCluster, error) {
subscriptionID, err := getTargetAzureSubscription(subscriptionID)
if err != nil {
return nil, err
}
client, err := GetManagedClustersClientE(subscriptionID)
if err != nil {
return nil, err
}
managedCluster, err := client.Get(context.Background(), resourceGroupName, clusterName)
if err != nil {
return nil, err
}
return &managedCluster, nil
}