Help us shape the future of Go! Take the 2026 Go Developer Survey

projects

package
v0.22.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeRepositoryFileContent added in v0.22.0

func DecodeRepositoryFileContent(content string, encoding *v1alpha1.RepositoryFileEncoding) ([]byte, error)

DecodeRepositoryFileContent turns the content as supplied by the user into the bytes that should end up in the repository.

func GenerateAddMemberOptions

func GenerateAddMemberOptions(p *v1alpha1.MemberParameters) *gitlab.AddProjectMemberOptions

GenerateAddMemberOptions generates project member add options

func GenerateAddProjectBadgeOptions added in v0.17.0

func GenerateAddProjectBadgeOptions(p *v1alpha1.BadgeParameters) *gitlab.AddProjectBadgeOptions

GenerateAddProjectBadgeOptions generates project creation options from v1alpha1 parameters

func GenerateAddPushRulesOptions added in v0.17.1

func GenerateAddPushRulesOptions(p *v1alpha1.ProjectParameters) *gitlab.AddProjectPushRuleOptions

func GenerateBadgeObservation added in v0.17.0

func GenerateBadgeObservation(b *gitlab.ProjectBadge) v1alpha1.BadgeObservation

GenerateBadgeObservation generates v1alpha1 observation from Gitlab ProjectBadge

func GenerateCreateApprovalRulesOptions

func GenerateCreateApprovalRulesOptions(p *v1alpha1.ApprovalRuleParameters) *gitlab.CreateProjectLevelRuleOptions

GenerateCreateApprovalRulesOptions generates project member add options

func GenerateCreateFileOptions added in v0.22.0

func GenerateCreateFileOptions(p *v1alpha1.RepositoryFileParameters, content []byte) *gitlab.CreateFileOptions

GenerateCreateFileOptions generates create options.

func GenerateCreateHookOptions

func GenerateCreateHookOptions(p *v1alpha1.HookParameters, token *string) *gitlab.AddProjectHookOptions

GenerateCreateHookOptions generates project creation options

func GenerateCreateProjectAccessTokenOptions

func GenerateCreateProjectAccessTokenOptions(name string, p *v1alpha1.AccessTokenParameters) *gitlab.CreateProjectAccessTokenOptions

GenerateCreateProjectAccessTokenOptions generates project creation options

func GenerateCreateProjectDeployTokenOptions

func GenerateCreateProjectDeployTokenOptions(name string, p *v1alpha1.DeployTokenParameters) *gitlab.CreateProjectDeployTokenOptions

GenerateCreateProjectDeployTokenOptions generates project creation options

func GenerateCreateProjectOptions

func GenerateCreateProjectOptions(name string, p *v1alpha1.ProjectParameters) *gitlab.CreateProjectOptions

GenerateCreateProjectOptions generates project creation options

func GenerateCreateServiceAccountAccessTokenOptions added in v0.21.1

GenerateCreateServiceAccountAccessTokenOptions generates creation options.

func GenerateCreateVariableOptions

func GenerateCreateVariableOptions(p *v1alpha1.VariableParameters) *gitlab.CreateProjectVariableOptions

GenerateCreateVariableOptions generates project creation options

func GenerateDeleteFileOptions added in v0.22.0

func GenerateDeleteFileOptions(p *v1alpha1.RepositoryFileParameters, lastCommitID string) *gitlab.DeleteFileOptions

GenerateDeleteFileOptions generates delete options. lastCommitID has the same meaning as for GenerateUpdateFileOptions.

func GenerateEditHookOptions

func GenerateEditHookOptions(p *v1alpha1.HookParameters, token *string) *gitlab.EditProjectHookOptions

GenerateEditHookOptions generates project edit options

func GenerateEditMemberOptions

func GenerateEditMemberOptions(p *v1alpha1.MemberParameters) *gitlab.EditProjectMemberOptions

GenerateEditMemberOptions generates project member edit options

func GenerateEditProjectBadgeOptions added in v0.17.0

func GenerateEditProjectBadgeOptions(p *v1alpha1.BadgeParameters) *gitlab.EditProjectBadgeOptions

GenerateEditProjectBadgeOptions generates project edit options from v1alpha1 parameters

func GenerateEditProjectOptions

func GenerateEditProjectOptions(name string, p *v1alpha1.ProjectParameters) *gitlab.EditProjectOptions

GenerateEditProjectOptions generates project edit options

func GenerateGetFileMetaDataOptions added in v0.22.0

func GenerateGetFileMetaDataOptions(p *v1alpha1.RepositoryFileParameters) *gitlab.GetFileMetaDataOptions

GenerateGetFileMetaDataOptions generates options to observe the file on its branch.

func GenerateGetVariableOptions

func GenerateGetVariableOptions(p *v1alpha1.VariableParameters) *gitlab.GetProjectVariableOptions

GenerateGetVariableOptions generates project get options

func GenerateHookObservation

func GenerateHookObservation(hook *gitlab.ProjectHook) v1alpha1.HookObservation

GenerateHookObservation is used to produce v1alpha1.HookObservation from gitlab.Hook.

func GenerateIntegrationCustomIssueTrackerObservation added in v0.22.0

func GenerateIntegrationCustomIssueTrackerObservation(observation *gitlab.CustomIssueTrackerService) v1alpha1.IntegrationCustomIssueTrackerObservation

GenerateIntegrationCustomIssueTrackerObservation converts gitlab.CustomIssueTrackerService to IntegrationCustomIssueTrackerObservation.

func GenerateIntegrationEmailsOnPushObservation added in v0.22.0

func GenerateIntegrationEmailsOnPushObservation(observation *gitlab.EmailsOnPushService) v1alpha1.IntegrationEmailsOnPushObservation

GenerateIntegrationEmailsOnPushObservation converts gitlab.EmailsOnPushService to IntegrationEmailsOnPushObservation.

func GenerateIntegrationExternalWikiObservation added in v0.22.0

func GenerateIntegrationExternalWikiObservation(observation *gitlab.ExternalWikiService) v1alpha1.IntegrationExternalWikiObservation

GenerateIntegrationExternalWikiObservation converts gitlab.ExternalWikiService to IntegrationExternalWikiObservation.

func GenerateIntegrationGithubObservation added in v0.22.0

func GenerateIntegrationGithubObservation(observation *gitlab.GithubService) v1alpha1.IntegrationGithubObservation

GenerateIntegrationGithubObservation converts gitlab.GithubService to IntegrationGithubObservation.

func GenerateIntegrationHarborObservation added in v0.22.0

func GenerateIntegrationHarborObservation(observation *gitlab.HarborService) v1alpha1.IntegrationHarborObservation

GenerateIntegrationHarborObservation converts gitlab.HarborService to IntegrationHarborObservation.

func GenerateIntegrationJenkinsObservation added in v0.22.0

func GenerateIntegrationJenkinsObservation(observation *gitlab.JenkinsCIService) v1alpha1.IntegrationJenkinsObservation

GenerateIntegrationJenkinsObservation converts gitlab.JenkinsCIService to IntegrationJenkinsObservation.

func GenerateIntegrationMattermostObservation added in v0.17.4

func GenerateIntegrationMattermostObservation(observation *gitlab.MattermostService) v1alpha1.IntegrationMattermostObservation

GenerateIntegrationMattermostObservation converts gitlab.MattermostService to IntegrationMattermostObservation.

func GenerateIntegrationMicrosoftTeamsObservation added in v0.22.0

func GenerateIntegrationMicrosoftTeamsObservation(observation *gitlab.MicrosoftTeamsService) v1alpha1.IntegrationMicrosoftTeamsObservation

GenerateIntegrationMicrosoftTeamsObservation converts gitlab.MicrosoftTeamsService to IntegrationMicrosoftTeamsObservation.

func GenerateIntegrationPipelinesEmailObservation added in v0.22.0

func GenerateIntegrationPipelinesEmailObservation(observation *gitlab.PipelinesEmailService) v1alpha1.IntegrationPipelinesEmailObservation

GenerateIntegrationPipelinesEmailObservation converts gitlab.PipelinesEmailService to IntegrationPipelinesEmailObservation.

func GenerateIntegrationRedmineObservation added in v0.22.0

func GenerateIntegrationRedmineObservation(observation *gitlab.RedmineService) v1alpha1.IntegrationRedmineObservation

GenerateIntegrationRedmineObservation converts gitlab.RedmineService to IntegrationRedmineObservation.

func GenerateIntegrationTelegramObservation added in v0.22.0

func GenerateIntegrationTelegramObservation(observation *gitlab.TelegramService) v1alpha1.IntegrationTelegramObservation

GenerateIntegrationTelegramObservation converts gitlab.TelegramService to IntegrationTelegramObservation.

func GenerateIntegrationYouTrackObservation added in v0.22.0

func GenerateIntegrationYouTrackObservation(observation *gitlab.YouTrackService) v1alpha1.IntegrationYouTrackObservation

GenerateIntegrationYouTrackObservation converts gitlab.YouTrackService to IntegrationYouTrackObservation.

func GenerateMemberObservation

func GenerateMemberObservation(projectMember *gitlab.ProjectMember) v1alpha1.MemberObservation

GenerateMemberObservation is used to produce v1alpha1.MemberObservation from gitlab.Member.

func GenerateObservation

func GenerateObservation(prj *gitlab.Project) v1alpha1.ProjectObservation

GenerateObservation is used to produce v1alpha1.ProjectObservation from gitlab.Project.

func GenerateOwnerObservation

func GenerateOwnerObservation(usr *gitlab.User) *v1alpha1.User

GenerateOwnerObservation generates v1alpha.User from gitlab.User.

func GenerateProjectAccessTokenObservation added in v0.18.0

func GenerateProjectAccessTokenObservation(at *gitlab.ProjectAccessToken) v1alpha1.AccessTokenObservation

GenerateProjectAccessTokenObservation generates project access token observation from gitlab.ProjectAccessToken.

func GenerateProjectAccessTokenObservationFromPAT added in v0.21.2

func GenerateProjectAccessTokenObservationFromPAT(at *gitlab.PersonalAccessToken) v1alpha1.AccessTokenObservation

GenerateProjectAccessTokenObservationFromPAT builds the access-token observation from a gitlab.PersonalAccessToken, as returned by the self-inform endpoint in self-managed mode. A project access token is backed by a bot-user personal access token, so the self endpoints return a PersonalAccessToken rather than a ProjectAccessToken. AccessLevel is not exposed on the self endpoint and is left zero.

func GenerateProtectRepositoryBranchesOptions

func GenerateProtectRepositoryBranchesOptions(name string, p *v1alpha1.ProtectedBranchParameters) *gitlab.ProtectRepositoryBranchesOptions

GenerateProtectRepositoryBranchesOptions produces *gitlab.ProtectRepositoryBranchesOptions from ProtectedBranchParameters

func GenerateProtectRepositoryEnvironmentsOptions added in v0.17.5

func GenerateProtectRepositoryEnvironmentsOptions(p *v1alpha1.ProtectedEnvironmentParameters) *gitlab.ProtectRepositoryEnvironmentsOptions

GenerateProtectRepositoryEnvironmentsOptions produces *gitlab.ProtectRepositoryEnvironmentsOptions from spec.

func GenerateProtectRepositoryTagsOptions added in v0.22.0

func GenerateProtectRepositoryTagsOptions(p *v1alpha1.ProtectedTagParameters) *gitlab.ProtectRepositoryTagsOptions

GenerateProtectRepositoryTagsOptions produces *gitlab.ProtectRepositoryTagsOptions from ProtectedTagParameters

func GenerateProtectedBranchObservation

func GenerateProtectedBranchObservation(pb *gitlab.ProtectedBranch) v1alpha1.ProtectedBranchObservation

GenerateProtectedBranchObservation produces a ProtectedBranchObservation from a gitlab.ProtectedBranch

func GenerateProtectedEnvironmentObservation added in v0.17.5

func GenerateProtectedEnvironmentObservation(pe *gitlab.ProtectedEnvironment) v1alpha1.ProtectedEnvironmentObservation

GenerateProtectedEnvironmentObservation builds status.atProvider from GitLab object.

func GenerateProtectedTagObservation added in v0.22.0

func GenerateProtectedTagObservation(pt *gitlab.ProtectedTag) v1alpha1.ProtectedTagObservation

GenerateProtectedTagObservation produces a ProtectedTagObservation from a gitlab.ProtectedTag

func GenerateRemoveVariableOptions

func GenerateRemoveVariableOptions(p *v1alpha1.VariableParameters) *gitlab.RemoveProjectVariableOptions

GenerateRemoveVariableOptions generates project remove options.

func GenerateRepositoryFileObservation added in v0.22.0

func GenerateRepositoryFileObservation(file *gitlab.File) v1alpha1.RepositoryFileObservation

GenerateRepositoryFileObservation builds the observation from file metadata.

func GenerateRotateProjectAccessTokenOptions added in v0.18.0

func GenerateRotateProjectAccessTokenOptions(p *v1alpha1.AccessTokenParameters) *gitlab.RotateProjectAccessTokenOptions

GenerateRotateProjectAccessTokenOptions generates project access token rotation options

func GenerateRotateSelfOptions added in v0.18.0

GenerateRotateSelfOptions generates self-rotation options from access token parameters.

func GenerateRotateServiceAccountAccessTokenOptions added in v0.21.1

GenerateRotateServiceAccountAccessTokenOptions generates owner-mode rotation options.

func GenerateRotateServiceAccountSelfOptions added in v0.21.1

func GenerateRotateServiceAccountSelfOptions(p *v1alpha1.ServiceAccountAccessTokenParameters) *gitlab.RotatePersonalAccessTokenOptions

GenerateRotateServiceAccountSelfOptions generates self-rotation options from parameters.

func GenerateServiceAccountAccessTokenObservation added in v0.21.1

func GenerateServiceAccountAccessTokenObservation(at *gitlab.PersonalAccessToken) v1alpha1.ServiceAccountAccessTokenObservation

GenerateServiceAccountAccessTokenObservation generates an observation from a gitlab.PersonalAccessToken.

func GenerateServiceAccountCreateOptions added in v0.21.1

func GenerateServiceAccountCreateOptions(p *v1alpha1.ServiceAccountParameters) *gitlab.CreateProjectServiceAccountOptions

GenerateServiceAccountCreateOptions produces CreateProjectServiceAccountOptions from ServiceAccountParameters.

func GenerateServiceAccountObservation added in v0.21.1

func GenerateServiceAccountObservation(a *gitlab.ProjectServiceAccount) v1alpha1.ServiceAccountObservation

GenerateServiceAccountObservation is used to produce ServiceAccountObservation from a gitlab.ProjectServiceAccount.

func GenerateSetCustomIssueTrackerServiceOptions added in v0.22.0

func GenerateSetCustomIssueTrackerServiceOptions(in *v1alpha1.IntegrationCustomIssueTrackerParameters) *gitlab.SetCustomIssueTrackerServiceOptions

GenerateSetCustomIssueTrackerServiceOptions produces SetCustomIssueTrackerServiceOptions from IntegrationCustomIssueTrackerParameters.

func GenerateSetEmailsOnPushServiceOptions added in v0.22.0

func GenerateSetEmailsOnPushServiceOptions(in *v1alpha1.IntegrationEmailsOnPushParameters) *gitlab.SetEmailsOnPushServiceOptions

GenerateSetEmailsOnPushServiceOptions produces SetEmailsOnPushServiceOptions from IntegrationEmailsOnPushParameters.

func GenerateSetExternalWikiServiceOptions added in v0.22.0

func GenerateSetExternalWikiServiceOptions(in *v1alpha1.IntegrationExternalWikiParameters) *gitlab.SetExternalWikiServiceOptions

GenerateSetExternalWikiServiceOptions produces SetExternalWikiServiceOptions from IntegrationExternalWikiParameters.

func GenerateSetGithubServiceOptions added in v0.22.0

func GenerateSetGithubServiceOptions(in *v1alpha1.IntegrationGithubParameters, token string) *gitlab.SetGithubServiceOptions

GenerateSetGithubServiceOptions produces SetGithubServiceOptions from IntegrationGithubParameters. The token value must be resolved from the referenced secret prior to calling this function. It is always sent because GitLab rejects every set request without a token, including updates.

func GenerateSetHarborServiceOptions added in v0.22.0

func GenerateSetHarborServiceOptions(in *v1alpha1.IntegrationHarborParameters, password string) *gitlab.SetHarborServiceOptions

GenerateSetHarborServiceOptions produces SetHarborServiceOptions from IntegrationHarborParameters. The password value must be resolved from the referenced secret prior to calling this function and passed in through `password`. An empty password is omitted from the options so that existing remote state is not unintentionally cleared.

func GenerateSetJenkinsServiceOptions added in v0.22.0

func GenerateSetJenkinsServiceOptions(in *v1alpha1.IntegrationJenkinsParameters, password *string) *gitlab.SetJenkinsCIServiceOptions

GenerateSetJenkinsServiceOptions produces SetJenkinsCIServiceOptions from IntegrationJenkinsParameters. The password must be resolved from the referenced secret before calling this function. A nil password is omitted so that GitLab keeps the stored password.

func GenerateSetMattermostServiceOptions added in v0.17.4

func GenerateSetMattermostServiceOptions(in *v1alpha1.IntegrationMattermostParameters) *gitlab.SetMattermostServiceOptions

GenerateSetMattermostServiceOptions produces SetMattermostServiceOptions from IntegrationMattermostParameters.

func GenerateSetMicrosoftTeamsServiceOptions added in v0.22.0

func GenerateSetMicrosoftTeamsServiceOptions(in *v1alpha1.IntegrationMicrosoftTeamsParameters, webhook string) *gitlab.SetMicrosoftTeamsServiceOptions

GenerateSetMicrosoftTeamsServiceOptions produces SetMicrosoftTeamsServiceOptions from IntegrationMicrosoftTeamsParameters. The webhook must be resolved from the referenced secret before calling this function. GitLab rejects every set request without a webhook, so it is always sent.

func GenerateSetPipelinesEmailServiceOptions added in v0.22.0

func GenerateSetPipelinesEmailServiceOptions(in *v1alpha1.IntegrationPipelinesEmailParameters) *gitlab.SetPipelinesEmailServiceOptions

GenerateSetPipelinesEmailServiceOptions produces SetPipelinesEmailServiceOptions from IntegrationPipelinesEmailParameters.

func GenerateSetRedmineServiceOptions added in v0.22.0

func GenerateSetRedmineServiceOptions(in *v1alpha1.IntegrationRedmineParameters) *gitlab.SetRedmineServiceOptions

GenerateSetRedmineServiceOptions produces SetRedmineServiceOptions from IntegrationRedmineParameters.

func GenerateSetTelegramServiceOptions added in v0.22.0

func GenerateSetTelegramServiceOptions(in *v1alpha1.IntegrationTelegramParameters, token string) *gitlab.SetTelegramServiceOptions

GenerateSetTelegramServiceOptions produces SetTelegramServiceOptions from IntegrationTelegramParameters. The token must be resolved from the referenced secret before calling this function. GitLab rejects every set request without a token, so it is always sent.

func GenerateSetYouTrackServiceOptions added in v0.22.0

func GenerateSetYouTrackServiceOptions(in *v1alpha1.IntegrationYouTrackParameters) *gitlab.SetYouTrackServiceOptions

GenerateSetYouTrackServiceOptions produces SetYouTrackServiceOptions from IntegrationYouTrackParameters.

func GenerateUpdateApprovalRulesOptions

func GenerateUpdateApprovalRulesOptions(p *v1alpha1.ApprovalRuleParameters) *gitlab.UpdateProjectLevelRuleOptions

GenerateUpdateApprovalRulesOptions generates project member edit options

func GenerateUpdateFileOptions added in v0.22.0

func GenerateUpdateFileOptions(p *v1alpha1.RepositoryFileParameters, content []byte, lastCommitID string) *gitlab.UpdateFileOptions

GenerateUpdateFileOptions generates update options. lastCommitID is the commit the update is based on; GitLab rejects the update if the file was changed by a later commit. An empty lastCommitID disables that check.

func GenerateUpdateProtectedEnvironmentsOptions added in v0.17.5

GenerateUpdateProtectedEnvironmentsOptions builds the delta; returns nil if there are no changes.

func GenerateUpdateServiceAccountOptions added in v0.21.1

func GenerateUpdateServiceAccountOptions(p *v1alpha1.ServiceAccountParameters) *gitlab.UpdateProjectServiceAccountOptions

GenerateUpdateServiceAccountOptions produces UpdateProjectServiceAccountOptions from ServiceAccountParameters.

func GenerateUpdateVariableOptions

func GenerateUpdateVariableOptions(p *v1alpha1.VariableParameters) *gitlab.UpdateProjectVariableOptions

GenerateUpdateVariableOptions generates project update options

func GenerateVariableFilter

func GenerateVariableFilter(p *v1alpha1.VariableParameters) *gitlab.VariableFilter

GenerateVariableFilter generates a variable filter that matches the variable parameters' environment scope.

func GenerateVariableObservation added in v0.17.0

func GenerateVariableObservation(variable *gitlab.ProjectVariable) v1alpha1.VariableObservation

GenerateVariableObservation creates VariableObservation from gitlab InstanceVariable

func GetProjectServiceAccount added in v0.21.1

func GetProjectServiceAccount(c ServiceAccountClient, pid any, serviceAccountID int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectServiceAccount, *gitlab.Response, error)

GetProjectServiceAccount paginates a project's service accounts and returns the one matching serviceAccountID. There is no get-by-id endpoint, so a missing service account returns a nil result and the last response for not-found detection.

func GetServiceAccountAccessToken added in v0.21.1

func GetServiceAccountAccessToken(c ServiceAccountAccessTokenClient, pid any, serviceAccount, tokenID int64, options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)

GetServiceAccountAccessToken paginates over a service account's personal access tokens and returns the one matching tokenID. When no token matches it returns a nil token and the last response so callers can detect not-found.

func IsApprovalRuleUpToDate

func IsApprovalRuleUpToDate(p *v1alpha1.ApprovalRuleParameters, g *gitlab.ProjectApprovalRule) bool

IsApprovalRuleUpToDate checks whether there is a change in any of the modifiable fields.

func IsBadgeUpToDate added in v0.17.0

func IsBadgeUpToDate(spec *v1alpha1.BadgeParameters, observed *gitlab.ProjectBadge) bool

IsBadgeUpToDate checks whether the observed Gitlab ProjectBadge is up to date compared to the desired v1alpha1 parameters

func IsErrorProjectBadgeNotFound added in v0.17.0

func IsErrorProjectBadgeNotFound(err error) bool

IsErrorProjectBadgeNotFound helper function to test for errProjectBadgeNotFound error.

func IsHookUpToDate

func IsHookUpToDate(p *v1alpha1.HookParameters, g *gitlab.ProjectHook) bool

IsHookUpToDate checks whether there is a change in any of the modifiable fields.

func IsIntegrationCustomIssueTrackerUpToDate added in v0.22.0

func IsIntegrationCustomIssueTrackerUpToDate(spec *v1alpha1.IntegrationCustomIssueTrackerParameters, observation *gitlab.CustomIssueTrackerService) bool

IsIntegrationCustomIssueTrackerUpToDate returns true if the desired spec matches the observed Custom Issue Tracker service.

func IsIntegrationEmailsOnPushUpToDate added in v0.22.0

func IsIntegrationEmailsOnPushUpToDate(spec *v1alpha1.IntegrationEmailsOnPushParameters, observation *gitlab.EmailsOnPushService) bool

IsIntegrationEmailsOnPushUpToDate returns true if the desired spec matches the observed Emails on Push service.

func IsIntegrationExternalWikiUpToDate added in v0.22.0

func IsIntegrationExternalWikiUpToDate(spec *v1alpha1.IntegrationExternalWikiParameters, observation *gitlab.ExternalWikiService) bool

IsIntegrationExternalWikiUpToDate returns true if the desired spec matches the observed External Wiki service.

func IsIntegrationGithubUpToDate added in v0.22.0

func IsIntegrationGithubUpToDate(spec *v1alpha1.IntegrationGithubParameters, observation *gitlab.GithubService) bool

IsIntegrationGithubUpToDate returns true if the desired spec matches the observed GitHub service.

Note: Token is intentionally excluded from comparison because GitLab does not return it (write-only).

func IsIntegrationHarborUpToDate added in v0.22.0

func IsIntegrationHarborUpToDate(spec *v1alpha1.IntegrationHarborParameters, observation *gitlab.HarborService) bool

IsIntegrationHarborUpToDate returns true if the desired spec matches the observed Harbor service.

Note: Password is intentionally excluded from comparison because GitLab does not return it (write-only).

func IsIntegrationJenkinsUpToDate added in v0.22.0

func IsIntegrationJenkinsUpToDate(spec *v1alpha1.IntegrationJenkinsParameters, observation *gitlab.JenkinsCIService) bool

IsIntegrationJenkinsUpToDate returns true if the desired spec matches the observed Jenkins service.

Note: Password is intentionally excluded from comparison because GitLab does not return it (write-only).

func IsIntegrationMattermostUpToDate added in v0.17.4

func IsIntegrationMattermostUpToDate(spec *v1alpha1.IntegrationMattermostParameters, observation *gitlab.MattermostService) bool

IsIntegrationMattermostUpToDate returns true if spec matches the observed GitLab Mattermost service.

Note: WebHook is intentionally excluded from comparison because GitLab does not return it (write-only).

func IsIntegrationMicrosoftTeamsUpToDate added in v0.22.0

func IsIntegrationMicrosoftTeamsUpToDate(spec *v1alpha1.IntegrationMicrosoftTeamsParameters, observation *gitlab.MicrosoftTeamsService) bool

IsIntegrationMicrosoftTeamsUpToDate returns true if the desired spec matches the observed Microsoft Teams service. Event toggles are compared against the top-level service fields because GitLab does not return them in properties.

Note: WebHook is intentionally excluded from comparison because GitLab does not return it (write-only).

func IsIntegrationPipelinesEmailUpToDate added in v0.22.0

func IsIntegrationPipelinesEmailUpToDate(spec *v1alpha1.IntegrationPipelinesEmailParameters, observation *gitlab.PipelinesEmailService) bool

IsIntegrationPipelinesEmailUpToDate returns true if the desired spec matches the observed pipeline status emails service. Recipients compare as a set because GitLab treats them as one.

func IsIntegrationRedmineUpToDate added in v0.22.0

func IsIntegrationRedmineUpToDate(spec *v1alpha1.IntegrationRedmineParameters, observation *gitlab.RedmineService) bool

IsIntegrationRedmineUpToDate returns true if the desired spec matches the observed Redmine service.

func IsIntegrationTelegramUpToDate added in v0.22.0

func IsIntegrationTelegramUpToDate(spec *v1alpha1.IntegrationTelegramParameters, observation *gitlab.TelegramService) bool

IsIntegrationTelegramUpToDate returns true if the desired spec matches the observed Telegram service.

Note: Token is intentionally excluded from comparison because GitLab does not return it (write-only).

func IsIntegrationYouTrackUpToDate added in v0.22.0

func IsIntegrationYouTrackUpToDate(spec *v1alpha1.IntegrationYouTrackParameters, observation *gitlab.YouTrackService) bool

IsIntegrationYouTrackUpToDate returns true if the desired spec matches the observed YouTrack service.

func IsProtectedBranchUpToDate

func IsProtectedBranchUpToDate(p *v1alpha1.ProtectedBranchParameters, pb *gitlab.ProtectedBranch) bool

IsProtectedBranchUpToDate checks whether there is a change in any of the modifiable fields.

func IsProtectedEnvironmentUpToDate added in v0.17.5

func IsProtectedEnvironmentUpToDate(p *v1alpha1.ProtectedEnvironmentParameters, pe *gitlab.ProtectedEnvironment) bool

IsProtectedEnvironmentUpToDate checks whether desired spec equals GitLab state.

func IsProtectedTagUpToDate added in v0.22.0

func IsProtectedTagUpToDate(p *v1alpha1.ProtectedTagParameters, pt *gitlab.ProtectedTag) bool

IsProtectedTagUpToDate reports whether GitLab grants tag creation to exactly the role and the users, groups, and deploy keys in the spec.

func IsRepositoryFileUpToDate added in v0.22.0

func IsRepositoryFileUpToDate(p *v1alpha1.RepositoryFileParameters, file *gitlab.File, content []byte) bool

IsRepositoryFileUpToDate reports whether the external file has the desired content and filemode.

For paths tracked by Git LFS, GitLab commits an LFS pointer instead of the content, and the reported SHA-256 is that of the pointer. Both are accepted so LFS-tracked files do not trigger an update on every reconcile.

func IsServiceAccountUpToDate added in v0.21.1

func IsServiceAccountUpToDate(p *v1alpha1.ServiceAccountParameters, a *gitlab.ProjectServiceAccount) bool

IsServiceAccountUpToDate checks whether the ServiceAccountParameters is in sync with the observed gitlab.ProjectServiceAccount.

func IsVariableUpToDate

func IsVariableUpToDate(p *v1alpha1.VariableParameters, g *gitlab.ProjectVariable) bool

IsVariableUpToDate checks whether there is a change in any of the modifiable fields.

func LateInitializeHook

func LateInitializeHook(in *v1alpha1.HookParameters, hook *gitlab.ProjectHook)

LateInitializeHook fills the empty fields in the hook spec with the values seen in gitlab.Hook.

func LateInitializeIntegrationEmailsOnPush added in v0.22.0

func LateInitializeIntegrationEmailsOnPush(in *v1alpha1.IntegrationEmailsOnPushParameters, svc *gitlab.EmailsOnPushService)

LateInitializeIntegrationEmailsOnPush fills nil spec fields using values from the remote Emails on Push service.

func LateInitializeIntegrationGithub added in v0.22.0

func LateInitializeIntegrationGithub(in *v1alpha1.IntegrationGithubParameters, svc *gitlab.GithubService)

LateInitializeIntegrationGithub fills nil spec fields using values from the remote GitHub service. It mutates the spec in place and does NOT touch the write-only token.

func LateInitializeIntegrationHarbor added in v0.22.0

func LateInitializeIntegrationHarbor(in *v1alpha1.IntegrationHarborParameters, svc *gitlab.HarborService)

LateInitializeIntegrationHarbor fills nil spec fields using values from the remote Harbor service. It mutates the spec in place and does NOT touch write-only fields like the password.

func LateInitializeIntegrationJenkins added in v0.22.0

func LateInitializeIntegrationJenkins(in *v1alpha1.IntegrationJenkinsParameters, svc *gitlab.JenkinsCIService)

LateInitializeIntegrationJenkins fills nil spec fields using values from the remote Jenkins service. It mutates the spec in place and does NOT touch write-only fields like the password. Bool fields are skipped: GitLab may return null, which client-go decodes as false.

func LateInitializeIntegrationMattermost added in v0.17.4

func LateInitializeIntegrationMattermost(in *v1alpha1.IntegrationMattermostParameters, svc *gitlab.MattermostService)

LateInitializeIntegrationMattermost fills nil spec fields using values from the remote Mattermost service. It mutates the spec in place and does NOT touch write-only fields like WebHook.

func LateInitializeIntegrationMicrosoftTeams added in v0.22.0

func LateInitializeIntegrationMicrosoftTeams(in *v1alpha1.IntegrationMicrosoftTeamsParameters, svc *gitlab.MicrosoftTeamsService)

LateInitializeIntegrationMicrosoftTeams fills nil spec fields using values from the remote Microsoft Teams service. It mutates the spec in place and does NOT touch write-only fields like the webhook. Bool fields are skipped: GitLab may return null, which client-go decodes as false.

func LateInitializeIntegrationPipelinesEmail added in v0.22.0

func LateInitializeIntegrationPipelinesEmail(in *v1alpha1.IntegrationPipelinesEmailParameters, svc *gitlab.PipelinesEmailService)

LateInitializeIntegrationPipelinesEmail fills nil spec fields using values from the remote pipeline status emails service.

func LateInitializeIntegrationTelegram added in v0.22.0

func LateInitializeIntegrationTelegram(in *v1alpha1.IntegrationTelegramParameters, svc *gitlab.TelegramService)

LateInitializeIntegrationTelegram fills nil spec fields using values from the remote Telegram service. It mutates the spec in place and does NOT touch write-only fields like the token. Bool fields are skipped: GitLab may return null, which client-go decodes as false.

func LateInitializeProtectedBranch

func LateInitializeProtectedBranch(in *v1alpha1.ProtectedBranchParameters, pb *gitlab.ProtectedBranch)

LateInitializeProtectedBranch fills the empty fields in the protected branch spec with the values seen in gitlab.ProtectedBranch.

func LateInitializeProtectedEnvironment added in v0.17.5

func LateInitializeProtectedEnvironment(in *v1alpha1.ProtectedEnvironmentParameters, pe *gitlab.ProtectedEnvironment)

LateInitializeProtectedEnvironment fills empty fields in spec with values from GitLab.

func LateInitializeRepositoryFile added in v0.22.0

func LateInitializeRepositoryFile(in *v1alpha1.RepositoryFileParameters, file *gitlab.File)

LateInitializeRepositoryFile fills unset optional fields from the external file.

func LateInitializeVariable

func LateInitializeVariable(in *v1alpha1.VariableParameters, variable *gitlab.ProjectVariable)

LateInitializeVariable fills the empty fields in the variable spec with the values seen in gitlab.Variable.

func ResolvePackagesEnabled added in v0.22.0

func ResolvePackagesEnabled(p *v1alpha1.ProjectParameters) *bool

ResolvePackagesEnabled returns the packages_enabled value to send and to compare. packageRegistryAccessLevel takes precedence over the deprecated packagesEnabled: GitLab's REST API writes the access level without updating packages_enabled, and package access is still gated on packages_enabled, so the value is derived from the level. Without a level, packagesEnabled is used as before.

func ShouldRotateAccessToken added in v0.18.0

func ShouldRotateAccessToken(p *v1alpha1.AccessTokenParameters, a *gitlab.ProjectAccessToken) bool

ShouldRotateAccessToken returns true when the token must be rotated.

func ShouldRotateAccessTokenFromPAT added in v0.21.2

func ShouldRotateAccessTokenFromPAT(p *v1alpha1.AccessTokenParameters, a *gitlab.PersonalAccessToken) bool

ShouldRotateAccessTokenFromPAT returns true when the self-managed token must be rotated, evaluated against a gitlab.PersonalAccessToken from the self-inform endpoint.

func ShouldRotateServiceAccountAccessToken added in v0.21.1

func ShouldRotateServiceAccountAccessToken(p *v1alpha1.ServiceAccountAccessTokenParameters, a *gitlab.PersonalAccessToken) bool

ShouldRotateServiceAccountAccessToken returns true when the token must be rotated.

Types

type AccessTokenClient

type AccessTokenClient interface {
	GetProjectAccessToken(pid interface{}, id int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectAccessToken, *gitlab.Response, error)
	CreateProjectAccessToken(pid interface{}, opt *gitlab.CreateProjectAccessTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectAccessToken, *gitlab.Response, error)
	RevokeProjectAccessToken(pid interface{}, id int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	RotateProjectAccessToken(pid interface{}, id int64, opt *gitlab.RotateProjectAccessTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectAccessToken, *gitlab.Response, error)
	RotateSelf(opt *gitlab.RotatePersonalAccessTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)
	GetSelf(options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)
	RevokeSelf(options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

AccessTokenClient defines Gitlab Project service operations

func NewAccessTokenClient

func NewAccessTokenClient(cfg common.Config) AccessTokenClient

NewAccessTokenClient returns a new Gitlab ProjectAccessToken service

type ApprovalRulesClient

type ApprovalRulesClient interface {
	GetProjectApprovalRule(pid any, ruleID int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectApprovalRule, *gitlab.Response, error)
	CreateProjectApprovalRule(pid any, opt *gitlab.CreateProjectLevelRuleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectApprovalRule, *gitlab.Response, error)
	UpdateProjectApprovalRule(pid any, approvalRule int64, opt *gitlab.UpdateProjectLevelRuleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectApprovalRule, *gitlab.Response, error)
	DeleteProjectApprovalRule(pid any, approvalRule int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ApprovalRulesClient Gitlab Member service operations

func NewApprovalRulesClient

func NewApprovalRulesClient(cfg common.Config) ApprovalRulesClient

NewApprovalRulesClient returns a new Gitlab Project Member service

type BadgeClient added in v0.17.0

type BadgeClient interface {
	ListProjectBadges(gid any, opt *gitlab.ListProjectBadgesOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectBadge, *gitlab.Response, error)
	GetProjectBadge(gid any, badge int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectBadge, *gitlab.Response, error)
	AddProjectBadge(gid any, opt *gitlab.AddProjectBadgeOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectBadge, *gitlab.Response, error)
	EditProjectBadge(gid any, badge int64, opt *gitlab.EditProjectBadgeOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectBadge, *gitlab.Response, error)
	DeleteProjectBadge(gid any, badge int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	PreviewProjectBadge(gid any, opt *gitlab.ProjectBadgePreviewOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectBadge, *gitlab.Response, error)
}

ProjectBadgeClient defines Gitlab Project service operations

func NewBadgeClient added in v0.17.0

func NewBadgeClient(cfg common.Config) BadgeClient

NewBadgeClient returns a new Gitlab ProjectBadge service

type Client

type Client interface {
	GetProject(pid interface{}, opt *gitlab.GetProjectOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Project, *gitlab.Response, error)
	CreateProject(opt *gitlab.CreateProjectOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Project, *gitlab.Response, error)
	EditProject(pid interface{}, opt *gitlab.EditProjectOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Project, *gitlab.Response, error)
	DeleteProject(pid interface{}, opt *gitlab.DeleteProjectOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	ArchiveProject(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Project, *gitlab.Response, error)
	UnarchiveProject(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Project, *gitlab.Response, error)

	GetProjectPushRules(pid interface{}, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectPushRules, *gitlab.Response, error)
	AddProjectPushRule(pid interface{}, opt *gitlab.AddProjectPushRuleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectPushRules, *gitlab.Response, error)
	EditProjectPushRule(pid interface{}, opt *gitlab.EditProjectPushRuleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectPushRules, *gitlab.Response, error)

	ShareProjectWithGroup(pid any, opt *gitlab.ShareWithGroupOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	DeleteSharedProjectFromGroup(pid any, groupID int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

Client defines Gitlab Project service operations

func NewProjectClient

func NewProjectClient(cfg common.Config) Client

NewProjectClient returns a new Gitlab Project service

type CustomIssueTrackerClient added in v0.22.0

type CustomIssueTrackerClient interface {
	GetCustomIssueTrackerService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.CustomIssueTrackerService, *gitlab.Response, error)
	SetCustomIssueTrackerService(pid any, opt *gitlab.SetCustomIssueTrackerServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.CustomIssueTrackerService, *gitlab.Response, error)
	DeleteCustomIssueTrackerService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

CustomIssueTrackerClient defines GitLab Custom Issue Tracker integration operations for a project.

func NewCustomIssueTrackerClient added in v0.22.0

func NewCustomIssueTrackerClient(cfg common.Config) CustomIssueTrackerClient

NewCustomIssueTrackerClient returns a new GitLab Services client for project Custom Issue Tracker operations.

type DeployKeyClient

type DeployKeyClient interface {
	AddDeployKey(pid interface{}, opt *gitlab.AddDeployKeyOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectDeployKey, *gitlab.Response, error)
	DeleteDeployKey(pid interface{}, deployKey int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	UpdateDeployKey(pid interface{}, deployKey int64, opt *gitlab.UpdateDeployKeyOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectDeployKey, *gitlab.Response, error)
	GetDeployKey(pid interface{}, deployKey int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectDeployKey, *gitlab.Response, error)
}

DeployKeyClient is an interface for gitlab DeployKeyClient

type DeployTokenClient

type DeployTokenClient interface {
	CreateProjectDeployToken(pid interface{}, opt *gitlab.CreateProjectDeployTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.DeployToken, *gitlab.Response, error)
	DeleteProjectDeployToken(pid interface{}, deployToken int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	GetProjectDeployToken(pid interface{}, deployToken int64, options ...gitlab.RequestOptionFunc) (*gitlab.DeployToken, *gitlab.Response, error)
}

DeployTokenClient defines Gitlab Project service operations

func NewDeployTokenClient

func NewDeployTokenClient(cfg common.Config) DeployTokenClient

NewDeployTokenClient returns a new Gitlab ProjectDeployToken service

type EmailsOnPushClient added in v0.22.0

type EmailsOnPushClient interface {
	GetEmailsOnPushService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.EmailsOnPushService, *gitlab.Response, error)
	SetEmailsOnPushService(pid any, opt *gitlab.SetEmailsOnPushServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.EmailsOnPushService, *gitlab.Response, error)
	DeleteEmailsOnPushService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

EmailsOnPushClient defines GitLab Emails on Push integration operations for a project.

func NewEmailsOnPushClient added in v0.22.0

func NewEmailsOnPushClient(cfg common.Config) EmailsOnPushClient

NewEmailsOnPushClient returns a new GitLab Services client for project Emails on Push operations.

type ExternalWikiClient added in v0.22.0

type ExternalWikiClient interface {
	GetExternalWikiService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.ExternalWikiService, *gitlab.Response, error)
	SetExternalWikiService(pid any, opt *gitlab.SetExternalWikiServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ExternalWikiService, *gitlab.Response, error)
	DeleteExternalWikiService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ExternalWikiClient defines GitLab External Wiki integration operations for a project.

func NewExternalWikiClient added in v0.22.0

func NewExternalWikiClient(cfg common.Config) ExternalWikiClient

NewExternalWikiClient returns a new GitLab Services client for project External Wiki operations.

type GithubClient added in v0.22.0

type GithubClient interface {
	GetGithubService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.GithubService, *gitlab.Response, error)
	SetGithubService(pid any, opt *gitlab.SetGithubServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.GithubService, *gitlab.Response, error)
	DeleteGithubService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

GithubClient defines GitLab GitHub integration operations for a project.

func NewGithubClient added in v0.22.0

func NewGithubClient(cfg common.Config) GithubClient

NewGithubClient returns a new GitLab Services client for project GitHub operations.

type HarborClient added in v0.22.0

type HarborClient interface {
	GetHarborService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.HarborService, *gitlab.Response, error)
	SetHarborService(pid any, opt *gitlab.SetHarborServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.HarborService, *gitlab.Response, error)
	DeleteHarborService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

HarborClient defines GitLab Harbor integration operations for a project.

func NewHarborClient added in v0.22.0

func NewHarborClient(cfg common.Config) HarborClient

NewHarborClient returns a new GitLab Services client for project Harbor operations.

type HookClient

type HookClient interface {
	GetProjectHook(pid interface{}, hook int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectHook, *gitlab.Response, error)
	AddProjectHook(pid interface{}, opt *gitlab.AddProjectHookOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectHook, *gitlab.Response, error)
	EditProjectHook(pid interface{}, hook int64, opt *gitlab.EditProjectHookOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectHook, *gitlab.Response, error)
	DeleteProjectHook(pid interface{}, hook int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

HookClient defines Gitlab Hook service operations

func NewHookClient

func NewHookClient(cfg common.Config) HookClient

NewHookClient returns a new Gitlab Project service

type JenkinsClient added in v0.22.0

type JenkinsClient interface {
	GetJenkinsCIService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.JenkinsCIService, *gitlab.Response, error)
	SetJenkinsCIService(pid any, opt *gitlab.SetJenkinsCIServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.JenkinsCIService, *gitlab.Response, error)
	DeleteJenkinsCIService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

JenkinsClient defines GitLab Jenkins integration operations for a project.

func NewJenkinsClient added in v0.22.0

func NewJenkinsClient(cfg common.Config) JenkinsClient

NewJenkinsClient returns a new GitLab Services client for project Jenkins operations.

type MattermostClient added in v0.17.4

type MattermostClient interface {
	GetMattermostService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.MattermostService, *gitlab.Response, error)
	SetMattermostService(pid any, opt *gitlab.SetMattermostServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.MattermostService, *gitlab.Response, error)
	DeleteMattermostService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

MattermostClient defines GitLab Mattermost integration operations.

func NewMattermostClient added in v0.17.4

func NewMattermostClient(cfg common.Config) MattermostClient

NewMattermostClient returns a new GitLab Services client.

type MemberClient

type MemberClient interface {
	GetProjectMember(pid interface{}, user int64, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectMember, *gitlab.Response, error)
	AddProjectMember(pid interface{}, opt *gitlab.AddProjectMemberOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectMember, *gitlab.Response, error)
	EditProjectMember(pid interface{}, user int64, opt *gitlab.EditProjectMemberOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectMember, *gitlab.Response, error)
	DeleteProjectMember(pid interface{}, user int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

MemberClient defines Gitlab Member service operations

func NewMemberClient

func NewMemberClient(cfg common.Config) MemberClient

NewMemberClient returns a new Gitlab Project Member service

type MicrosoftTeamsClient added in v0.22.0

type MicrosoftTeamsClient interface {
	GetMicrosoftTeamsService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.MicrosoftTeamsService, *gitlab.Response, error)
	SetMicrosoftTeamsService(pid any, opt *gitlab.SetMicrosoftTeamsServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.MicrosoftTeamsService, *gitlab.Response, error)
	DeleteMicrosoftTeamsService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

MicrosoftTeamsClient defines GitLab Microsoft Teams integration operations for a project.

func NewMicrosoftTeamsClient added in v0.22.0

func NewMicrosoftTeamsClient(cfg common.Config) MicrosoftTeamsClient

NewMicrosoftTeamsClient returns a new GitLab Services client for project Microsoft Teams operations.

type PipelineScheduleClient

type PipelineScheduleClient interface {
	GetPipelineSchedule(pid interface{}, schedule int64, options ...gitlab.RequestOptionFunc) (*gitlab.PipelineSchedule, *gitlab.Response, error)
	CreatePipelineSchedule(pid interface{}, opt *gitlab.CreatePipelineScheduleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PipelineSchedule, *gitlab.Response, error)
	EditPipelineSchedule(pid interface{}, schedule int64, opt *gitlab.EditPipelineScheduleOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PipelineSchedule, *gitlab.Response, error)
	DeletePipelineSchedule(pid interface{}, schedule int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)

	CreatePipelineScheduleVariable(pid interface{}, schedule int64, opt *gitlab.CreatePipelineScheduleVariableOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PipelineVariable, *gitlab.Response, error)
	DeletePipelineScheduleVariable(pid interface{}, schedule int64, key string, options ...gitlab.RequestOptionFunc) (*gitlab.PipelineVariable, *gitlab.Response, error)
	EditPipelineScheduleVariable(pid interface{}, schedule int64, key string, opt *gitlab.EditPipelineScheduleVariableOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PipelineVariable, *gitlab.Response, error)
}

PipelineScheduleClient is an interface for Gitlab PipelineScheduleService.

type PipelinesEmailClient added in v0.22.0

type PipelinesEmailClient interface {
	GetPipelinesEmailService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.PipelinesEmailService, *gitlab.Response, error)
	SetPipelinesEmailService(pid any, opt *gitlab.SetPipelinesEmailServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PipelinesEmailService, *gitlab.Response, error)
	DeletePipelinesEmailService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

PipelinesEmailClient defines GitLab pipeline status emails integration operations for a project.

func NewPipelinesEmailClient added in v0.22.0

func NewPipelinesEmailClient(cfg common.Config) PipelinesEmailClient

NewPipelinesEmailClient returns a new GitLab Services client for project pipeline status emails operations.

type ProtectedBranchClient

type ProtectedBranchClient interface {
	GetProtectedBranch(pid interface{}, branch string, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedBranch, *gitlab.Response, error)
	ProtectRepositoryBranches(pid interface{}, opt *gitlab.ProtectRepositoryBranchesOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedBranch, *gitlab.Response, error)
	UnprotectRepositoryBranches(pid interface{}, branch string, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ProtectedBranchClient defines GitLab Protected Branch service operations

func NewProtectedBranchClient

func NewProtectedBranchClient(cfg common.Config) ProtectedBranchClient

NewProtectedBranchClient returns a new GitLab Protected Branch client

type ProtectedEnvironmentClient added in v0.17.5

type ProtectedEnvironmentClient interface {
	GetProtectedEnvironment(pid interface{}, name string, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedEnvironment, *gitlab.Response, error)
	ProtectRepositoryEnvironments(pid interface{}, opt *gitlab.ProtectRepositoryEnvironmentsOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedEnvironment, *gitlab.Response, error)
	UpdateProtectedEnvironments(pid interface{}, name string, opt *gitlab.UpdateProtectedEnvironmentsOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedEnvironment, *gitlab.Response, error)
	UnprotectEnvironment(pid interface{}, name string, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ProtectedEnvironmentClient defines GitLab Protected Environments service operations.

func NewProtectedEnvironmentClient added in v0.17.5

func NewProtectedEnvironmentClient(cfg common.Config) ProtectedEnvironmentClient

NewProtectedEnvironmentClient returns a new GitLab Protected Environments client.

type ProtectedTagClient added in v0.22.0

type ProtectedTagClient interface {
	GetProtectedTag(pid any, tag string, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedTag, *gitlab.Response, error)
	ProtectRepositoryTags(pid any, opt *gitlab.ProtectRepositoryTagsOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProtectedTag, *gitlab.Response, error)
	UnprotectRepositoryTags(pid any, tag string, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ProtectedTagClient defines GitLab Protected Tag service operations

func NewProtectedTagClient added in v0.22.0

func NewProtectedTagClient(cfg common.Config) ProtectedTagClient

NewProtectedTagClient returns a new GitLab Protected Tag client

type RedmineClient added in v0.22.0

type RedmineClient interface {
	GetRedmineService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.RedmineService, *gitlab.Response, error)
	SetRedmineService(pid any, opt *gitlab.SetRedmineServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.RedmineService, *gitlab.Response, error)
	DeleteRedmineService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

RedmineClient defines GitLab Redmine integration operations for a project.

func NewRedmineClient added in v0.22.0

func NewRedmineClient(cfg common.Config) RedmineClient

NewRedmineClient returns a new GitLab Services client for project Redmine operations.

type RepositoryFileClient added in v0.22.0

type RepositoryFileClient interface {
	// GetFileMetaData issues a HEAD request: it returns everything needed to
	// detect drift (content SHA-256, filemode, last commit) without
	// transferring the file content.
	GetFileMetaData(pid any, fileName string, opt *gitlab.GetFileMetaDataOptions, options ...gitlab.RequestOptionFunc) (*gitlab.File, *gitlab.Response, error)
	CreateFile(pid any, fileName string, opt *gitlab.CreateFileOptions, options ...gitlab.RequestOptionFunc) (*gitlab.FileInfo, *gitlab.Response, error)
	UpdateFile(pid any, fileName string, opt *gitlab.UpdateFileOptions, options ...gitlab.RequestOptionFunc) (*gitlab.FileInfo, *gitlab.Response, error)
	DeleteFile(pid any, fileName string, opt *gitlab.DeleteFileOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

RepositoryFileClient defines the GitLab repository file operations the RepositoryFile controller needs.

func NewRepositoryFileClient added in v0.22.0

func NewRepositoryFileClient(cfg common.Config) RepositoryFileClient

NewRepositoryFileClient returns a new GitLab repository files service.

type ServiceAccountAccessTokenClient added in v0.21.1

type ServiceAccountAccessTokenClient interface {
	// Owner-authenticated endpoints (the ProviderConfig is a project owner/maintainer).
	ListProjectServiceAccountPersonalAccessTokens(pid any, serviceAccount int64, opt *gitlab.ListProjectServiceAccountPersonalAccessTokensOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.PersonalAccessToken, *gitlab.Response, error)
	CreateProjectServiceAccountPersonalAccessToken(pid any, serviceAccount int64, opt *gitlab.CreateProjectServiceAccountPersonalAccessTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)
	RevokeProjectServiceAccountPersonalAccessToken(pid any, serviceAccount, token int64, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
	RotateProjectServiceAccountPersonalAccessToken(pid any, serviceAccount, token int64, opt *gitlab.RotateProjectServiceAccountPersonalAccessTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)

	// Self-authenticated endpoints (the ProviderConfig authenticates with the
	// very token this resource manages). Used in self-managed mode.
	GetServiceAccountSelf(options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)
	RotateServiceAccountSelf(opt *gitlab.RotatePersonalAccessTokenOptions, options ...gitlab.RequestOptionFunc) (*gitlab.PersonalAccessToken, *gitlab.Response, error)
	RevokeServiceAccountSelf(options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ServiceAccountAccessTokenClient defines GitLab project service account personal access token operations.

func NewServiceAccountAccessTokenClient added in v0.21.1

func NewServiceAccountAccessTokenClient(cfg common.Config) ServiceAccountAccessTokenClient

NewServiceAccountAccessTokenClient returns a new GitLab project service account access token service.

type ServiceAccountClient added in v0.21.1

type ServiceAccountClient interface {
	ListProjectServiceAccounts(pid any, opt *gitlab.ListProjectServiceAccountsOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectServiceAccount, *gitlab.Response, error)
	CreateProjectServiceAccount(pid any, opt *gitlab.CreateProjectServiceAccountOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectServiceAccount, *gitlab.Response, error)
	UpdateProjectServiceAccount(pid any, serviceAccount int64, opt *gitlab.UpdateProjectServiceAccountOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectServiceAccount, *gitlab.Response, error)
	DeleteProjectServiceAccount(pid any, serviceAccount int64, opt *gitlab.DeleteProjectServiceAccountOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

ServiceAccountClient defines Gitlab project service account service operations.

func NewServiceAccountClient added in v0.21.1

func NewServiceAccountClient(cfg common.Config) ServiceAccountClient

NewServiceAccountClient returns a new Gitlab project service account service.

type TelegramClient added in v0.22.0

type TelegramClient interface {
	GetTelegramService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.TelegramService, *gitlab.Response, error)
	SetTelegramService(pid any, opt *gitlab.SetTelegramServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.TelegramService, *gitlab.Response, error)
	DeleteTelegramService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

TelegramClient defines GitLab Telegram integration operations for a project.

func NewTelegramClient added in v0.22.0

func NewTelegramClient(cfg common.Config) TelegramClient

NewTelegramClient returns a new GitLab Services client for project Telegram operations.

type VariableClient

VariableClient defines Gitlab Variable service operations

func NewVariableClient

func NewVariableClient(cfg common.Config) VariableClient

NewVariableClient returns a new Gitlab Project service

type YouTrackClient added in v0.22.0

type YouTrackClient interface {
	GetYouTrackService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.YouTrackService, *gitlab.Response, error)
	SetYouTrackService(pid any, opt *gitlab.SetYouTrackServiceOptions, options ...gitlab.RequestOptionFunc) (*gitlab.YouTrackService, *gitlab.Response, error)
	DeleteYouTrackService(pid any, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error)
}

YouTrackClient defines GitLab YouTrack integration operations for a project.

func NewYouTrackClient added in v0.22.0

func NewYouTrackClient(cfg common.Config) YouTrackClient

NewYouTrackClient returns a new GitLab Services client for project YouTrack operations.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL