-
Notifications
You must be signed in to change notification settings - Fork 40
/
client.go
109 lines (94 loc) · 4.13 KB
/
client.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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package v2018_04_19
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See NOTICE.txt in the project root for license information.
import (
"fmt"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/customoperation"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/delete"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/get"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/patch"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/post"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/projectresource"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/put"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/serviceresource"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/standardoperation"
"github.com/hashicorp/go-azure-sdk/resource-manager/datamigration/2018-04-19/taskresource"
"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager"
sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments"
)
type Client struct {
CustomOperation *customoperation.CustomOperationClient
DELETE *delete.DELETEClient
GET *get.GETClient
PATCH *patch.PATCHClient
POST *post.POSTClient
PUT *put.PUTClient
ProjectResource *projectresource.ProjectResourceClient
ServiceResource *serviceresource.ServiceResourceClient
StandardOperation *standardoperation.StandardOperationClient
TaskResource *taskresource.TaskResourceClient
}
func NewClientWithBaseURI(sdkApi sdkEnv.Api, configureFunc func(c *resourcemanager.Client)) (*Client, error) {
customOperationClient, err := customoperation.NewCustomOperationClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building CustomOperation client: %+v", err)
}
configureFunc(customOperationClient.Client)
dELETEClient, err := delete.NewDELETEClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building DELETE client: %+v", err)
}
configureFunc(dELETEClient.Client)
gETClient, err := get.NewGETClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building GET client: %+v", err)
}
configureFunc(gETClient.Client)
pATCHClient, err := patch.NewPATCHClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building PATCH client: %+v", err)
}
configureFunc(pATCHClient.Client)
pOSTClient, err := post.NewPOSTClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building POST client: %+v", err)
}
configureFunc(pOSTClient.Client)
pUTClient, err := put.NewPUTClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building PUT client: %+v", err)
}
configureFunc(pUTClient.Client)
projectResourceClient, err := projectresource.NewProjectResourceClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building ProjectResource client: %+v", err)
}
configureFunc(projectResourceClient.Client)
serviceResourceClient, err := serviceresource.NewServiceResourceClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building ServiceResource client: %+v", err)
}
configureFunc(serviceResourceClient.Client)
standardOperationClient, err := standardoperation.NewStandardOperationClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building StandardOperation client: %+v", err)
}
configureFunc(standardOperationClient.Client)
taskResourceClient, err := taskresource.NewTaskResourceClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building TaskResource client: %+v", err)
}
configureFunc(taskResourceClient.Client)
return &Client{
CustomOperation: customOperationClient,
DELETE: dELETEClient,
GET: gETClient,
PATCH: pATCHClient,
POST: pOSTClient,
PUT: pUTClient,
ProjectResource: projectResourceClient,
ServiceResource: serviceResourceClient,
StandardOperation: standardOperationClient,
TaskResource: taskResourceClient,
}, nil
}