/
client.go
63 lines (53 loc) · 2.54 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
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package client
import (
"fmt"
"github.com/hashicorp/go-azure-sdk/resource-manager/mariadb/2018-06-01/configurations"
"github.com/hashicorp/go-azure-sdk/resource-manager/mariadb/2018-06-01/databases"
"github.com/hashicorp/go-azure-sdk/resource-manager/mariadb/2018-06-01/firewallrules"
"github.com/hashicorp/go-azure-sdk/resource-manager/mariadb/2018-06-01/servers"
"github.com/hashicorp/go-azure-sdk/resource-manager/mariadb/2018-06-01/virtualnetworkrules"
"github.com/hashicorp/terraform-provider-azurerm/internal/common"
)
type Client struct {
ConfigurationsClient *configurations.ConfigurationsClient
DatabasesClient *databases.DatabasesClient
FirewallRulesClient *firewallrules.FirewallRulesClient
ServersClient *servers.ServersClient
VirtualNetworkRulesClient *virtualnetworkrules.VirtualNetworkRulesClient
}
func NewClient(o *common.ClientOptions) (*Client, error) {
configurationsClient, err := configurations.NewConfigurationsClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Configurations Client: %+v", err)
}
o.Configure(configurationsClient.Client, o.Authorizers.ResourceManager)
databasesClient, err := databases.NewDatabasesClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Databases Client: %+v", err)
}
o.Configure(databasesClient.Client, o.Authorizers.ResourceManager)
firewallRulesClient, err := firewallrules.NewFirewallRulesClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Firewall Rules Client: %+v", err)
}
o.Configure(firewallRulesClient.Client, o.Authorizers.ResourceManager)
serversClient, err := servers.NewServersClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Servers Client: %+v", err)
}
o.Configure(serversClient.Client, o.Authorizers.ResourceManager)
virtualNetworkRulesClient, err := virtualnetworkrules.NewVirtualNetworkRulesClientWithBaseURI(o.Environment.ResourceManager)
if err != nil {
return nil, fmt.Errorf("building Virtual Network Rules Client: %+v", err)
}
o.Configure(virtualNetworkRulesClient.Client, o.Authorizers.ResourceManager)
return &Client{
ConfigurationsClient: configurationsClient,
DatabasesClient: databasesClient,
FirewallRulesClient: firewallRulesClient,
ServersClient: serversClient,
VirtualNetworkRulesClient: virtualNetworkRulesClient,
}, nil
}