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  }