-
Notifications
You must be signed in to change notification settings - Fork 38
/
client.go
154 lines (134 loc) · 6.3 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
package v2022_05_01
// 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/vmware/2022-05-01/addons"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/authorizations"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/cloudlinks"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/cluster"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/clusters"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/datastores"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/globalreachconnections"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/hcxenterprisesites"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/locations"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/placementpolicies"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/privateclouds"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/scripts"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/virtualmachines"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/workloadnetworks"
"github.com/hashicorp/go-azure-sdk/resource-manager/vmware/2022-05-01/zone"
"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager"
sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments"
)
type Client struct {
Addons *addons.AddonsClient
Authorizations *authorizations.AuthorizationsClient
CloudLinks *cloudlinks.CloudLinksClient
Cluster *cluster.ClusterClient
Clusters *clusters.ClustersClient
DataStores *datastores.DataStoresClient
GlobalReachConnections *globalreachconnections.GlobalReachConnectionsClient
HcxEnterpriseSites *hcxenterprisesites.HcxEnterpriseSitesClient
Locations *locations.LocationsClient
PlacementPolicies *placementpolicies.PlacementPoliciesClient
PrivateClouds *privateclouds.PrivateCloudsClient
Scripts *scripts.ScriptsClient
VirtualMachines *virtualmachines.VirtualMachinesClient
WorkloadNetworks *workloadnetworks.WorkloadNetworksClient
Zone *zone.ZoneClient
}
func NewClientWithBaseURI(sdkApi sdkEnv.Api, configureFunc func(c *resourcemanager.Client)) (*Client, error) {
addonsClient, err := addons.NewAddonsClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Addons client: %+v", err)
}
configureFunc(addonsClient.Client)
authorizationsClient, err := authorizations.NewAuthorizationsClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Authorizations client: %+v", err)
}
configureFunc(authorizationsClient.Client)
cloudLinksClient, err := cloudlinks.NewCloudLinksClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building CloudLinks client: %+v", err)
}
configureFunc(cloudLinksClient.Client)
clusterClient, err := cluster.NewClusterClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Cluster client: %+v", err)
}
configureFunc(clusterClient.Client)
clustersClient, err := clusters.NewClustersClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Clusters client: %+v", err)
}
configureFunc(clustersClient.Client)
dataStoresClient, err := datastores.NewDataStoresClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building DataStores client: %+v", err)
}
configureFunc(dataStoresClient.Client)
globalReachConnectionsClient, err := globalreachconnections.NewGlobalReachConnectionsClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building GlobalReachConnections client: %+v", err)
}
configureFunc(globalReachConnectionsClient.Client)
hcxEnterpriseSitesClient, err := hcxenterprisesites.NewHcxEnterpriseSitesClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building HcxEnterpriseSites client: %+v", err)
}
configureFunc(hcxEnterpriseSitesClient.Client)
locationsClient, err := locations.NewLocationsClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Locations client: %+v", err)
}
configureFunc(locationsClient.Client)
placementPoliciesClient, err := placementpolicies.NewPlacementPoliciesClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building PlacementPolicies client: %+v", err)
}
configureFunc(placementPoliciesClient.Client)
privateCloudsClient, err := privateclouds.NewPrivateCloudsClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building PrivateClouds client: %+v", err)
}
configureFunc(privateCloudsClient.Client)
scriptsClient, err := scripts.NewScriptsClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Scripts client: %+v", err)
}
configureFunc(scriptsClient.Client)
virtualMachinesClient, err := virtualmachines.NewVirtualMachinesClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building VirtualMachines client: %+v", err)
}
configureFunc(virtualMachinesClient.Client)
workloadNetworksClient, err := workloadnetworks.NewWorkloadNetworksClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building WorkloadNetworks client: %+v", err)
}
configureFunc(workloadNetworksClient.Client)
zoneClient, err := zone.NewZoneClientWithBaseURI(sdkApi)
if err != nil {
return nil, fmt.Errorf("building Zone client: %+v", err)
}
configureFunc(zoneClient.Client)
return &Client{
Addons: addonsClient,
Authorizations: authorizationsClient,
CloudLinks: cloudLinksClient,
Cluster: clusterClient,
Clusters: clustersClient,
DataStores: dataStoresClient,
GlobalReachConnections: globalReachConnectionsClient,
HcxEnterpriseSites: hcxEnterpriseSitesClient,
Locations: locationsClient,
PlacementPolicies: placementPoliciesClient,
PrivateClouds: privateCloudsClient,
Scripts: scriptsClient,
VirtualMachines: virtualMachinesClient,
WorkloadNetworks: workloadNetworksClient,
Zone: zoneClient,
}, nil
}