Skip to content
This repository was archived by the owner on Nov 27, 2023. It is now read-only.

Commit 885e0d0

Browse files
committed
common authoriser & user agent setup for all clients
1 parent 425f9ac commit 885e0d0

File tree

2 files changed

+39
-22
lines changed

2 files changed

+39
-22
lines changed

azure/aci.go

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"github.com/docker/api/context/store"
2222
)
2323

24-
2524
const aciDockerUserAgent = "docker-cli"
2625

2726
func createACIContainers(ctx context.Context, aciContext store.AciContext, groupDefinition containerinstance.ContainerGroup) error {
@@ -235,26 +234,32 @@ func getACIContainerLogs(ctx context.Context, aciContext store.AciContext, conta
235234
}
236235

237236
func getContainerGroupsClient(subscriptionID string) (containerinstance.ContainerGroupsClient, error) {
238-
auth, err := login.NewAuthorizerFromLogin()
237+
containerGroupsClient := containerinstance.NewContainerGroupsClient(subscriptionID)
238+
err := setupClient(&containerGroupsClient.Client)
239239
if err != nil {
240240
return containerinstance.ContainerGroupsClient{}, err
241241
}
242-
containerGroupsClient := containerinstance.NewContainerGroupsClient(subscriptionID)
243-
containerGroupsClient.Authorizer = auth
244-
containerGroupsClient.UserAgent= aciDockerUserAgent
245242
containerGroupsClient.PollingDelay = 5 * time.Second
246243
containerGroupsClient.RetryAttempts = 30
247244
containerGroupsClient.RetryDuration = 1 * time.Second
248245
return containerGroupsClient, nil
249246
}
250247

251-
func getContainerClient(subscriptionID string) (containerinstance.ContainerClient, error) {
248+
func setupClient(aciClient *autorest.Client) error {
249+
aciClient.UserAgent = aciDockerUserAgent
252250
auth, err := login.NewAuthorizerFromLogin()
253251
if err != nil {
254-
return containerinstance.ContainerClient{}, err
252+
return err
255253
}
254+
aciClient.Authorizer = auth
255+
return nil
256+
}
257+
258+
func getContainerClient(subscriptionID string) (containerinstance.ContainerClient, error) {
256259
containerClient := containerinstance.NewContainerClient(subscriptionID)
257-
containerClient.UserAgent=aciDockerUserAgent
258-
containerClient.Authorizer = auth
260+
err := setupClient(&containerClient.Client)
261+
if err != nil {
262+
return containerinstance.ContainerClient{}, err
263+
}
259264
return containerClient, nil
260265
}

azure/resourcegroup.go

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/Azure/azure-sdk-for-go/profiles/preview/preview/subscription/mgmt/subscription"
88
"github.com/pkg/errors"
99

10-
"github.com/docker/api/azure/login"
1110
"github.com/docker/api/errdefs"
1211
)
1312

@@ -30,13 +29,20 @@ func NewACIResourceGroupHelper() ACIResourceGroupHelper {
3029

3130
// GetGroup get a resource group from its name
3231
func (mgt aciResourceGroupHelperImpl) GetGroup(ctx context.Context, subscriptionID string, groupName string) (resources.Group, error) {
33-
gc := getGroupsClient(subscriptionID)
32+
gc, err := getGroupsClient(subscriptionID)
33+
if err != nil {
34+
return resources.Group{}, err
35+
}
3436
return gc.Get(ctx, groupName)
3537
}
3638

3739
// ListGroups list resource groups
3840
func (mgt aciResourceGroupHelperImpl) ListGroups(ctx context.Context, subscriptionID string) ([]resources.Group, error) {
39-
gc := getGroupsClient(subscriptionID)
41+
gc, err := getGroupsClient(subscriptionID)
42+
if err != nil {
43+
return nil, err
44+
}
45+
4046
groupResponse, err := gc.List(ctx, "", nil)
4147
if err != nil {
4248
return nil, err
@@ -48,13 +54,20 @@ func (mgt aciResourceGroupHelperImpl) ListGroups(ctx context.Context, subscripti
4854

4955
// CreateOrUpdate create or update a resource group
5056
func (mgt aciResourceGroupHelperImpl) CreateOrUpdate(ctx context.Context, subscriptionID string, resourceGroupName string, parameters resources.Group) (result resources.Group, err error) {
51-
gc := getGroupsClient(subscriptionID)
57+
gc, err := getGroupsClient(subscriptionID)
58+
if err != nil {
59+
return resources.Group{}, err
60+
}
5261
return gc.CreateOrUpdate(ctx, resourceGroupName, parameters)
5362
}
5463

5564
// Delete deletes a resource group
5665
func (mgt aciResourceGroupHelperImpl) Delete(ctx context.Context, subscriptionID string, resourceGroupName string) (err error) {
57-
gc := getGroupsClient(subscriptionID)
66+
gc, err := getGroupsClient(subscriptionID)
67+
if err != nil {
68+
return err
69+
}
70+
5871
future, err := gc.Delete(ctx, resourceGroupName)
5972
if err != nil {
6073
return err
@@ -89,19 +102,18 @@ func (mgt aciResourceGroupHelperImpl) GetSubscriptionIDs(ctx context.Context) ([
89102

90103
func getSubscriptionsClient() (subscription.SubscriptionsClient, error) {
91104
subc := subscription.NewSubscriptionsClient()
92-
authorizer, err := login.NewAuthorizerFromLogin()
105+
err := setupClient(&subc.Client)
93106
if err != nil {
94107
return subscription.SubscriptionsClient{}, errors.Wrap(errdefs.ErrLoginFailed, err.Error())
95108
}
96-
subc.Authorizer = authorizer
97-
subc.UserAgent=aciDockerUserAgent
98109
return subc, nil
99110
}
100111

101-
func getGroupsClient(subscriptionID string) resources.GroupsClient {
112+
func getGroupsClient(subscriptionID string) (resources.GroupsClient, error) {
102113
groupsClient := resources.NewGroupsClient(subscriptionID)
103-
authorizer, _ := login.NewAuthorizerFromLogin()
104-
groupsClient.Authorizer = authorizer
105-
groupsClient.UserAgent=aciDockerUserAgent
106-
return groupsClient
114+
err := setupClient(&groupsClient.Client)
115+
if err != nil {
116+
return resources.GroupsClient{}, err
117+
}
118+
return groupsClient, nil
107119
}

0 commit comments

Comments
 (0)