Skip to content

Commit b42116f

Browse files
authored
Merge pull request #3 from databrickslabs/master
injected version into user agent and refactored config to be public a…
2 parents 51be033 + b006aa8 commit b42116f

File tree

7 files changed

+21
-17
lines changed

7 files changed

+21
-17
lines changed

.goreleaser.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ before:
88
builds:
99
- env:
1010
- CGO_ENABLED=0
11-
binary: terraform-provider-databricks_{{ replace .Version "-next" "" }}
11+
binary: terraform-provider-databricks_{{ .Version }}
1212
goos:
1313
- darwin
1414
- linux
@@ -34,7 +34,7 @@ archives:
3434
checksum:
3535
name_template: 'checksums.txt'
3636
snapshot:
37-
name_template: "{{ .Tag }}-next"
37+
name_template: "{{ .Tag }}-SNAPSHOT-{{ .ShortCommit }}"
3838
changelog:
3939
sort: asc
4040
filters:

Makefile

+1-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ build: fmt
2424

2525
lint:
2626
@echo "==> Linting source code with golint..."
27-
@golint -set_exit_status ./databricks/...
28-
@golint -set_exit_status ./client/...
27+
@golint -set_exit_status ./databricks/... ./client/...
2928

3029
fmt: lint
3130
@echo "==> Formatting source code with gofmt..."

client/service/apis.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ var scimHeaders = map[string]string{
66

77
// DBApiClient is the client struct that contains clients for all the services available on Databricks
88
type DBApiClient struct {
9-
config *DBApiClientConfig
9+
Config *DBApiClientConfig
1010
}
1111

1212
// SetConfig initializes the client
1313
func (c *DBApiClient) SetConfig(clientConfig *DBApiClientConfig) DBApiClient {
14-
c.config = clientConfig
14+
c.Config = clientConfig
1515
clientConfig.Setup()
1616
return *c
1717
}
@@ -87,5 +87,5 @@ func (c DBApiClient) Commands() CommandsAPI {
8787
}
8888

8989
func (c DBApiClient) performQuery(method, path string, apiVersion string, headers map[string]string, data interface{}, secretsMask *SecretsMask) ([]byte, error) {
90-
return PerformQuery(c.config, method, path, apiVersion, headers, true, false, data, secretsMask)
90+
return PerformQuery(c.Config, method, path, apiVersion, headers, true, false, data, secretsMask)
9191
}

client/service/main_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func GetIntegrationDBAPIClient() *DBApiClient {
5151
}
5252

5353
func GetCloudInstanceType(c *DBApiClient) string {
54-
if strings.Contains(c.config.Host, "azure") {
54+
if strings.Contains(c.Config.Host, "azure") {
5555
return "Standard_DS3_v2"
5656
}
5757
return "m4.large"

databricks/provider.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package databricks
22

33
import (
4+
"fmt"
45
"github.com/databrickslabs/databricks-terraform/client/service"
56
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
67
"github.com/hashicorp/terraform-plugin-sdk/terraform"
@@ -9,7 +10,7 @@ import (
910
)
1011

1112
// Provider returns the entire terraform provider object
12-
func Provider() terraform.ResourceProvider {
13+
func Provider(version string) terraform.ResourceProvider {
1314
provider := &schema.Provider{
1415
DataSourcesMap: map[string]*schema.Resource{
1516
"databricks_notebook": dataSourceNotebook(),
@@ -96,13 +97,13 @@ func Provider() terraform.ResourceProvider {
9697
// We can therefore assume that if it's missing it's 0.10 or 0.11
9798
terraformVersion = "0.11+compatible"
9899
}
99-
return providerConfigure(d, terraformVersion)
100+
return providerConfigure(d, version)
100101
}
101102

102103
return provider
103104
}
104105

105-
func providerConfigure(d *schema.ResourceData, s string) (interface{}, error) {
106+
func providerConfigure(d *schema.ResourceData, providerVersion string) (interface{}, error) {
106107
var config service.DBApiClientConfig
107108
if azureAuth, ok := d.GetOk("azure_auth"); !ok {
108109
if host, ok := d.GetOk("host"); ok {
@@ -166,7 +167,7 @@ func providerConfigure(d *schema.ResourceData, s string) (interface{}, error) {
166167

167168
//TODO: Bake the version of the provider using -ldflags to tell the golang linker to send
168169
//version information from go-releaser
169-
config.UserAgent = "databricks-tf-provider"
170+
config.UserAgent = fmt.Sprintf("databricks-tf-provider-%s", providerVersion)
170171
var dbClient service.DBApiClient
171172
dbClient.SetConfig(&config)
172173
return dbClient, nil

databricks/resource_databricks_dbfs_file_sync.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func resourceDBFSFileSyncCreate(d *schema.ResourceData, m interface{}) error {
6262
}
6363
}
6464

65-
apiClient := parseSchemaToDBAPIClient(d)
65+
apiClient := parseSchemaToDBAPIClient(d, &client)
6666
err := client.DBFS().Copy(srcPath, tgtPath, apiClient, true)
6767
if err != nil {
6868
return err
@@ -101,7 +101,7 @@ func resourceDBFSFileSyncRead(d *schema.ResourceData, m interface{}) error {
101101
tgtPath := d.Get("tgt_path").(string)
102102

103103
var srcAPIDBFSClient service.DBFSAPI
104-
srcAPICLient := parseSchemaToDBAPIClient(d)
104+
srcAPICLient := parseSchemaToDBAPIClient(d, &client)
105105
if srcAPICLient != nil {
106106
srcAPIDBFSClient = srcAPICLient.DBFS()
107107
} else {
@@ -132,14 +132,14 @@ func resourceDBFSFileSyncDelete(d *schema.ResourceData, m interface{}) error {
132132
return err
133133
}
134134

135-
func parseSchemaToDBAPIClient(d *schema.ResourceData) *service.DBApiClient {
135+
func parseSchemaToDBAPIClient(d *schema.ResourceData, currentClient *service.DBApiClient) *service.DBApiClient {
136136
host, hostOk := d.GetOk("host")
137137
token, tokenOk := d.GetOk("token")
138138
var config service.DBApiClientConfig
139139
if hostOk && tokenOk {
140140
config.Host = host.(string)
141141
config.Token = token.(string)
142-
config.UserAgent = "databricks-tf-provider"
142+
config.UserAgent = currentClient.Config.UserAgent
143143
var dbClient service.DBApiClient
144144
dbClient.SetConfig(&config)
145145
return &dbClient

main.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@ import (
66
"github.com/hashicorp/terraform-plugin-sdk/terraform"
77
)
88

9+
var (
10+
version = "dev"
11+
)
12+
913
func main() {
1014
plugin.Serve(&plugin.ServeOpts{
1115
ProviderFunc: func() terraform.ResourceProvider {
12-
return databricks.Provider()
16+
return databricks.Provider(version)
1317
},
1418
})
1519
}

0 commit comments

Comments
 (0)