github.com/GoogleCloudPlatform/terraformer@v0.8.18/providers/azuredevops/git_repository.go (about) 1 package azuredevpos 2 3 import ( 4 "context" 5 6 "github.com/microsoft/azure-devops-go-api/azuredevops/git" 7 ) 8 9 type GitRepositoryGenerator struct { 10 AzureDevOpsService 11 } 12 13 func (az *GitRepositoryGenerator) listResources() ([]git.GitRepository, error) { 14 15 client, err := az.getGitClient() 16 if err != nil { 17 return nil, err 18 } 19 ctx := context.Background() 20 resources, err := client.GetRepositories(ctx, git.GetRepositoriesArgs{}) 21 if err != nil { 22 return nil, err 23 } 24 return *resources, nil 25 } 26 27 func (az *GitRepositoryGenerator) appendResource(resource *git.GitRepository) { 28 29 id := *resource.Id 30 az.appendSimpleResource(id.String(), *resource.Name, "azuredevops_git_repository") 31 } 32 33 func (az *GitRepositoryGenerator) InitResources() error { 34 35 resources, err := az.listResources() 36 if err != nil { 37 return err 38 } 39 for _, resource := range resources { 40 az.appendResource(&resource) 41 } 42 return nil 43 } 44 45 func (az *GitRepositoryGenerator) GetResourceConnections() map[string][]string { 46 47 return map[string][]string{ 48 "project": {"project_id", "id"}, 49 } 50 }