Skip to content

Commit 3fef9d9

Browse files
authored
Auto-detection of AWS CodeCommit URLs in databricks_repo (#1704)
1 parent ad27c4b commit 3fef9d9

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

repos/resource_repo.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"net/url"
77
"path"
8+
"regexp"
89
"strings"
910

1011
"github.com/databricks/terraform-provider-databricks/common"
@@ -127,18 +128,25 @@ func (a ReposAPI) ListAll() ([]ReposInformation, error) {
127128
return a.List("")
128129
}
129130

130-
var gitProvidersMap = map[string]string{
131-
"github.com": "gitHub",
132-
"dev.azure.com": "azureDevOpsServices",
133-
"gitlab.com": "gitLab",
134-
"bitbucket.org": "bitbucketCloud",
135-
}
131+
var (
132+
gitProvidersMap = map[string]string{
133+
"github.com": "gitHub",
134+
"dev.azure.com": "azureDevOpsServices",
135+
"gitlab.com": "gitLab",
136+
"bitbucket.org": "bitbucketCloud",
137+
}
138+
awsCodeCommitRegex = regexp.MustCompile(`^git-codecommit\.[^.]+\.amazonaws\.com$`)
139+
)
136140

137141
func GetGitProviderFromUrl(uri string) string {
138142
provider := ""
139143
u, err := url.Parse(uri)
140144
if err == nil {
141-
provider = gitProvidersMap[strings.ToLower(u.Host)]
145+
lhost := strings.ToLower(u.Host)
146+
provider = gitProvidersMap[lhost]
147+
if provider == "" && awsCodeCommitRegex.FindStringSubmatch(lhost) != nil {
148+
provider = "awsCodeCommit"
149+
}
142150
}
143151
return provider
144152
}

repos/resource_repo_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ func TestGetGitProviderFromUrl(t *testing.T) {
2121
// assert.Equal(t, "bitbucketCloud", GetGitProviderFromUrl("https://[email protected]/user/repo.git"))
2222
assert.Equal(t, "", GetGitProviderFromUrl("https://abc/user/repo.git"))
2323
assert.Equal(t, "", GetGitProviderFromUrl("ewfgwergfwe"))
24+
assert.Equal(t, "awsCodeCommit", GetGitProviderFromUrl("https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo"))
2425
}
2526

2627
func TestResourceRepoRead(t *testing.T) {

0 commit comments

Comments
 (0)