Documentation ¶
Overview ¶
Package vcsprovider is responsible for VCS providers
Index ¶
Constants ¶
View Source
const ( GithubAPIURL = "https://api.github.com" GithubHTTPURL = "https://github.com" )
Variables ¶
This section is empty.
Functions ¶
func NewService ¶
func NewService(opts Options) *service
Types ¶
type CreateOptions ¶
type Service ¶
type Service interface { CreateVCSProvider(ctx context.Context, opts CreateOptions) (*VCSProvider, error) UpdateVCSProvider(ctx context.Context, id string, opts UpdateOptions) (*VCSProvider, error) GetVCSProvider(ctx context.Context, id string) (*VCSProvider, error) ListVCSProviders(ctx context.Context, organization string) ([]*VCSProvider, error) ListAllVCSProviders(ctx context.Context) ([]*VCSProvider, error) // ListVCSProvidersByGithubAppInstall lists VCS providers using the // credentials of a particular github app installation. ListVCSProvidersByGithubAppInstall(ctx context.Context, installID int64) ([]*VCSProvider, error) DeleteVCSProvider(ctx context.Context, id string) (*VCSProvider, error) // GetVCSClient combines retrieving a vcs provider and construct a cloud // client from that provider. // // TODO: rename vcs provider to vcs client; the central purpose of the vcs // provider is, after all, to construct a vcs client. GetVCSClient(ctx context.Context, providerID string) (vcs.Client, error) BeforeDeleteVCSProvider(l hooks.Listener[*VCSProvider]) }
type UpdateOptions ¶ added in v0.1.11
type VCSProvider ¶
type VCSProvider struct { ID string Name string CreatedAt time.Time Organization string // name of OTF organization Hostname string // hostname of github/gitlab etc Kind vcs.Kind // github/gitlab etc. Not necessary if GithubApp is non-nil. Token *string // personal access token. GithubApp *github.InstallCredentials // mutually exclusive with Token. // contains filtered or unexported fields }
VCSProvider provides authenticated access to a VCS.
func (*VCSProvider) LogValue ¶
func (t *VCSProvider) LogValue() slog.Value
LogValue implements slog.LogValuer.
func (*VCSProvider) String ¶
func (t *VCSProvider) String() string
String provides a human meaningful description of the vcs provider, using the name if set; otherwise a name is constructed using both the underlying cloud kind and the auth kind.
func (*VCSProvider) Update ¶ added in v0.1.11
func (t *VCSProvider) Update(opts UpdateOptions) error
type VCSProviderService ¶
type VCSProviderService Service
Alias services so they don't conflict when nested together in struct
Click to show internal directories.
Click to hide internal directories.