types

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package types defines the interfaces for plugin

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdditionalWebhookRegister

type AdditionalWebhookRegister interface {
	// GetWebhookSupport get webhook support map
	GetWebhookSupport() map[metav1alpha1.WebhookEventSupportType][]string
}

type ArtifactDeleter

type ArtifactDeleter interface {
	Interface
	DeleteArtifact(ctx context.Context, params metav1alpha1.ArtifactOptions) error
}

ArtifactDeleter delete artifact

type ArtifactGetter

type ArtifactGetter interface {
	Interface
	GetArtifact(ctx context.Context, params metav1alpha1.ArtifactOptions) (*metav1alpha1.Artifact, error)
}

ArtifactGetter get artifact detail

type ArtifactLister

type ArtifactLister interface {
	Interface
	ListArtifacts(ctx context.Context, params metav1alpha1.ArtifactOptions, option metav1alpha1.ListOptions) (*metav1alpha1.ArtifactList, error)
}

ArtifactLister list artifact

type ArtifactTagDeleter

type ArtifactTagDeleter interface {
	Interface
	DeleteArtifactTag(ctx context.Context, params metav1alpha1.ArtifactTagOptions) error
}

ArtifactTagDeleter delete a specific tag of the artifact.

type ArtifactTriggerRegister

type ArtifactTriggerRegister interface {
	GetIntegrationClassName() string

	// cloud event type of push hook that will match
	PushEventType() string
}

ArtifactTriggerRegister used to register ArtifactTrigger

type AuthChecker

type AuthChecker interface {
	AuthCheck(ctx context.Context, option metav1alpha1.AuthCheckOptions) (*metav1alpha1.AuthCheck, error)
}

AuthChecker implements an authorization check method for plugins

type AuthTokenGenerator

type AuthTokenGenerator interface {
	AuthToken(ctx context.Context) (*metav1alpha1.AuthToken, error)
}

AuthTokenGenerator implements token generation/refresh API method

type BlobStoreLister

type BlobStoreLister interface {
	Interface
	ListBlobStores(ctx context.Context, listOption metav1alpha1.ListOptions) (*metav1alpha1.BlobStoreList, error)
}

type DependentResourceGetter

type DependentResourceGetter interface {
	// GetDependentResources parses params and returns expected dependent resources
	GetDependentResources(ctx context.Context, params []metav1alpha1.Param) ([]corev1.ObjectReference, error)
}

DependentResourceGetter checks and returns dependent resource references

type GetProjectOption

type GetProjectOption struct {
	ProjectName string                      `json:"projectName" yaml:"projectName"`
	SubType     metav1alpha1.ProjectSubType `json:"subType" yaml:"subType"`
}

GetProjectOption option to get a subtype project

type GitBranchCreator

type GitBranchCreator interface {
	Interface
	CreateGitBranch(ctx context.Context, payload metav1alpha1.CreateBranchPayload) (metav1alpha1.GitBranch, error)
}

GitBranchCreator create git branch,github, gogs don't support create branch

type GitBranchGetter

type GitBranchGetter interface {
	Interface
	GetGitBranch(ctx context.Context, repoOption metav1alpha1.GitRepo, branch string) (metav1alpha1.GitBranch, error)
}

GitBranchGetter get git branch

type GitBranchLister

type GitBranchLister interface {
	Interface
	ListGitBranch(ctx context.Context, branchOption metav1alpha1.GitBranchOption, option metav1alpha1.ListOptions) (metav1alpha1.GitBranchList, error)
}

GitBranchLister List git branch

type GitCommitCommentCreator

type GitCommitCommentCreator interface {
	Interface
	CreateGitCommitComment(ctx context.Context, payload metav1alpha1.CreateCommitCommentPayload) (metav1alpha1.GitCommitComment, error)
}

GitCommitCommentCreator create git commit comment

type GitCommitCommentLister

type GitCommitCommentLister interface {
	Interface
	ListGitCommitComment(
		ctx context.Context,
		option metav1alpha1.GitCommitOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitCommitCommentList, error)
}

GitCommitCommentLister list git commit comment

type GitCommitCreator

type GitCommitCreator interface {
	Interface
	CreateGitCommit(ctx context.Context, option coderepositoryv1alpha1.CreateGitCommitOption) (metav1alpha1.GitCommit, error)
}

GitCommitCreator create git commit

type GitCommitGetter

type GitCommitGetter interface {
	Interface
	GetGitCommit(ctx context.Context, option metav1alpha1.GitCommitOption) (metav1alpha1.GitCommit, error)
}

GitCommitGetter get git commit

type GitCommitLister

type GitCommitLister interface {
	Interface
	ListGitCommit(
		ctx context.Context,
		option metav1alpha1.GitCommitListOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitCommitList, error)
}

GitCommitLister List git commit

type GitCommitStatusCreator

type GitCommitStatusCreator interface {
	Interface
	CreateGitCommitStatus(ctx context.Context, payload metav1alpha1.CreateCommitStatusPayload) (metav1alpha1.GitCommitStatus, error)
}

GitCommitStatusCreator create git commit status

type GitCommitStatusLister

type GitCommitStatusLister interface {
	Interface
	ListGitCommitStatus(
		ctx context.Context,
		option metav1alpha1.GitCommitOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitCommitStatusList, error)
}

GitCommitStatusLister list git commit status

type GitPullRequestCommentCreator

type GitPullRequestCommentCreator interface {
	Interface
	CreatePullRequestComment(ctx context.Context, option metav1alpha1.CreatePullRequestCommentPayload) (metav1alpha1.GitPullRequestNote, error)
}

GitPullRequestCommentCreator create pull request comment functions

type GitPullRequestCommentLister

type GitPullRequestCommentLister interface {
	Interface
	ListPullRequestComment(
		ctx context.Context,
		option metav1alpha1.GitPullRequestOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitPullRequestNoteList, error)
}

GitPullRequestCommentLister list pull request comment functions

type GitPullRequestCommentUpdater

type GitPullRequestCommentUpdater interface {
	Interface
	UpdatePullRequestComment(ctx context.Context, option metav1alpha1.UpdatePullRequestCommentPayload) (metav1alpha1.GitPullRequestNote, error)
}

GitPullRequestCommentUpdater updates pull request comment

type GitPullRequestCreator

type GitPullRequestCreator interface {
	Interface
	CreatePullRequest(ctx context.Context, payload metav1alpha1.CreatePullRequestPayload) (metav1alpha1.GitPullRequest, error)
}

GitPullRequestCreator create a new pull request

type GitPullRequestGetter

type GitPullRequestGetter interface {
	Interface
	GetGitPullRequest(ctx context.Context, option metav1alpha1.GitPullRequestOption) (metav1alpha1.GitPullRequest, error)
}

GitPullRequestGetter get a pull request

type GitPullRequestHandler

GitPullRequestHandler list, get and create pr function

type GitPullRequestLister

type GitPullRequestLister interface {
	Interface
	ListGitPullRequest(
		ctx context.Context,
		option metav1alpha1.GitPullRequestListOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitPullRequestList, error)
}

GitPullRequestLister list pull requests

type GitRepoFileCreator

type GitRepoFileCreator interface {
	Interface
	CreateGitRepoFile(ctx context.Context, payload metav1alpha1.CreateRepoFilePayload) (metav1alpha1.GitCommit, error)
}

GitRepoFileCreator used to create a file, gogs don't support

type GitRepoFileGetter

type GitRepoFileGetter interface {
	Interface
	GetGitRepoFile(ctx context.Context, option metav1alpha1.GitRepoFileOption) (metav1alpha1.GitRepoFile, error)
}

GitRepoFileGetter used to get a file content

type GitRepositoryCreator

type GitRepositoryCreator interface {
	Interface
	CreateGitRepository(ctx context.Context, payload metav1alpha1.CreateGitRepositoryPayload) (metav1alpha1.GitRepository, error)
}

GitRepositoryCreator create a git repository

type GitRepositoryDeleter

type GitRepositoryDeleter interface {
	Interface
	DeleteGitRepository(ctx context.Context, gitRepo metav1alpha1.GitRepo) error
}

GitRepositoryDeleter delete a git repository

type GitRepositoryFileTreeGetter

type GitRepositoryFileTreeGetter interface {
	Interface
	GetGitRepositoryFileTree(
		ctx context.Context,
		repoOption metav1alpha1.GitRepoFileTreeOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitRepositoryFileTree, error)
}

GitRepositoryFileTreeGetter get git repository file tree

type GitRepositoryGetter

type GitRepositoryGetter interface {
	Interface
	GetGitRepository(ctx context.Context, repoOption metav1alpha1.GitRepo) (metav1alpha1.GitRepository, error)
}

GitRepositoryGetter get git repository

type GitRepositoryLister

type GitRepositoryLister interface {
	Interface
	ListGitRepository(
		ctx context.Context,
		id, keyword string,
		subtype metav1alpha1.ProjectSubType,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitRepositoryList, error)
}

GitRepositoryLister list git repository

type GitRepositoryTagCreator

type GitRepositoryTagCreator interface {
	Interface
	CreateGitRepositoryTag(ctx context.Context, option metav1alpha1.CreateGitTagPayload) (metav1alpha1.GitRepositoryTag, error)
}

GitRepositoryTagCreator create git repository tag

type GitRepositoryTagGetter

type GitRepositoryTagGetter interface {
	Interface
	GetGitRepositoryTag(
		ctx context.Context,
		option metav1alpha1.GitRepositoryTagOption,
	) (metav1alpha1.GitRepositoryTag, error)
}

GitRepositoryTagGetter get git repository Tag

type GitRepositoryTagLister

type GitRepositoryTagLister interface {
	Interface
	ListGitRepositoryTag(
		ctx context.Context,
		option metav1alpha1.GitRepositoryTagListOption,
		listOption metav1alpha1.ListOptions,
	) (metav1alpha1.GitRepositoryTagList, error)
}

GitRepositoryTagLister list git repository Tag

type GitTriggerRegister

type GitTriggerRegister interface {
	GetIntegrationClassName() string

	// cloud event type of pull request hook that will match
	PullRequestEventType() string

	// cloud event type of push hook that will match
	PushEventType() string

	// cloud event type of push hook that will match
	TagEventType() string
}

GitTriggerRegister used to register GitTrigger TODO: need refactor: maybe integration plugin should decided how to generate cloudevents filters up to now, it is not a better solution that relying on plugins to give some events type to GitTriggerReconcile.

PullRequestCloudEventFilter() CloudEventFilters BranchCloudEventFilter() CloudEventFilters TagCloudEventFilter() CloudEventFilters WebHook() WebHook

type ImageConfigGetter

type ImageConfigGetter interface {
	Interface
	GetImageConfig(ctx context.Context, params metav1alpha1.ArtifactOptions) (*metav1alpha1.ImageConfig, error)
}

ImageConfigGetter get image config

type Initializer

type Initializer interface {
	// Initialize  the tool service if desired
	Initialize(ctx context.Context) error
}

Initializer initialize the tool service

type Interface

type Interface interface {
	Path() string
	Setup(context.Context, *zap.SugaredLogger) error
}

Interface base interface for plugins

type IssueAttributeGetter

type IssueAttributeGetter interface {
	Interface
	GetIssueAttribute(ctx context.Context, params metav1alpha1.IssueOptions, option metav1alpha1.ListOptions) (*metav1alpha1.Attribute, error)
}

type IssueBranchCreator

type IssueBranchCreator interface {
	Interface
	CreateIssueBranch(ctx context.Context, params metav1alpha1.IssueOptions, payload metav1alpha1.Branch) (*metav1alpha1.Branch, error)
}

type IssueBranchDeleter

type IssueBranchDeleter interface {
	Interface
	DeleteIssueBranch(ctx context.Context, params metav1alpha1.IssueOptions, option metav1alpha1.ListOptions) error
}

type IssueBranchLister

type IssueBranchLister interface {
	Interface
	ListIssueBranches(ctx context.Context, params metav1alpha1.IssueOptions, option metav1alpha1.ListOptions) (*metav1alpha1.BranchList, error)
}

type IssueGetter

type IssueGetter interface {
	Interface
	GetIssue(ctx context.Context, params metav1alpha1.IssueOptions, option metav1alpha1.ListOptions) (*metav1alpha1.Issue, error)
}

type IssueLister

type IssueLister interface {
	Interface
	ListIssues(ctx context.Context, params metav1alpha1.IssueOptions, option metav1alpha1.ListOptions) (*metav1alpha1.IssueList, error)
}

IssueLister issue lister

type LivenessChecker

type LivenessChecker interface {
	// CheckAlive check the tool service is alive
	CheckAlive(ctx context.Context) error
}

LivenessChecker check the tool service is alive

type PluginAddressable

type PluginAddressable interface {
	// GetAddressURL Returns its own plugin access URL
	GetAddressURL() *apis.URL
}

PluginAddressable provides methods to get plugin address url

type PluginAttributes

type PluginAttributes interface {
	SetAttribute(k string, values ...string)
	GetAttribute(k string) []string
	Attributes() map[string][]string
}

type PluginDisplayColumns

type PluginDisplayColumns interface {
	SetDisplayColumns(k string, values ...metav1alpha1.DisplayColumn)
	GetDisplayColumns() map[string]metav1alpha1.DisplayColumns
}

PluginDisplayColumns implements display columns manager.

Used to record the format in which the front end should display data. example:

projectColumns: ['{"name":"name","displayName":"_.integrations.project.columns.name","field":"metadata.name"}']

projectColumns: the value agreed usage location. {"name":"name","displayName":"_.integrations.project.columns.name","field":"metadata.name"}: describe the details displayed. name: the name of the column. displayName: index used to find specific display data. field: the field of the data to be displayed.

type PluginRegister

type PluginRegister interface {
	Interface
	PluginAddressable
	// GetIntegrationClassName returns integration class name
	GetIntegrationClassName() string
	// GetWebhookURL Returns a Webhook accessible URL for external tools
	// If not supported return nil, false
	GetWebhookURL() (*apis.URL, bool)
	// GetSupportedVersions Returns a list of supported versions by the plugin
	// For SaaS platform plugins use a "online" version.
	GetSupportedVersions() []string
	// GetSecretTypes Returns all secret types supported by the plugin
	GetSecretTypes() []string
	// GetReplicationPolicyTypes return replication policy types for ClusterIntegration
	GetReplicationPolicyTypes() []string
	// GetResourceTypes Returns a list of Resource types that can be used in ClusterIntegration and Integration
	GetResourceTypes() []string
	// GetAllowEmptySecret Returns if an empty secret is allowed with IntegrationClass
	GetAllowEmptySecret() []string
}

PluginRegister plugin registration methods to update IntegrationClass status

type PluginVersionAttributes

type PluginVersionAttributes interface {
	// GetVersionAttributes get the differential configuration of the specified version
	GetVersionAttributes(version string) map[string][]string

	// SetVersionAttributes set the differential configuration of the specified version
	SetVersionAttributes(version string, attributes map[string][]string)
}

PluginVersionAttributes get diff configurations for different versions.

type ProjectArtifactDeleter

type ProjectArtifactDeleter interface {
	Interface
	DeleteProjectArtifact(ctx context.Context, params metav1alpha1.ProjectArtifactOptions) error
}

ProjectArtifactDeleter delete artifact

type ProjectArtifactFileGetter

type ProjectArtifactFileGetter interface {
	Interface
	GetProjectArtifactFile(ctx context.Context, params metav1alpha1.ProjectArtifactOptions) (io.ReadCloser, error)
}

ProjectArtifactFileGetter download artifact within a project

type ProjectArtifactGetter

type ProjectArtifactGetter interface {
	Interface
	GetProjectArtifact(ctx context.Context, params metav1alpha1.ProjectArtifactOptions) (*metav1alpha1.Artifact, error)
}

ProjectArtifactGetter get artifact detail

type ProjectArtifactLister

type ProjectArtifactLister interface {
	Interface
	ListProjectArtifacts(ctx context.Context, params metav1alpha1.ArtifactOptions, option metav1alpha1.ListOptions) (*metav1alpha1.ArtifactList, error)
}

ProjectArtifactLister list project-level artifacts

type ProjectArtifactUploader

type ProjectArtifactUploader interface {
	Interface
	UploadArtifact(ctx context.Context, params metav1alpha1.ProjectArtifactOptions, r io.Reader) error
}

ProjectArtifactUploader upload artifact

type ProjectCreator

type ProjectCreator interface {
	Interface
	CreateProject(ctx context.Context, project *metav1alpha1.Project) (*metav1alpha1.Project, error)
}

ProjectCreator create project api

type ProjectDeleter

type ProjectDeleter interface {
	Interface
	DeleteProject(ctx context.Context, project *metav1alpha1.Project) error
}

ProjectDeleter create project api

type ProjectGetter

type ProjectGetter interface {
	Interface
	GetProject(ctx context.Context, id string) (*metav1alpha1.Project, error)
}

ProjectGetter list project api Deprecated: use ProjectSubTypeGetter instead

type ProjectLister

type ProjectLister interface {
	Interface
	ListProjects(ctx context.Context, option metav1alpha1.ListOptions) (*metav1alpha1.ProjectList, error)
}

ProjectLister list project api

type ProjectUserLister

type ProjectUserLister interface {
	Interface
	ListProjectUsers(ctx context.Context, params metav1alpha1.UserOptions, option metav1alpha1.ListOptions) (*metav1alpha1.UserList, error)
}

type RepositoryGetter

type RepositoryGetter interface {
	Interface
	GetRepository(
		ctx context.Context,
		params metav1alpha1.RepositoryOptions,
	) (*metav1alpha1.Repository, error)
}

RepositoryGetter get repository

type RepositoryLister

type RepositoryLister interface {
	Interface
	ListRepositories(
		ctx context.Context,
		params metav1alpha1.RepositoryOptions,
		option metav1alpha1.ListOptions,
	) (*metav1alpha1.RepositoryList, error)
}

RepositoryLister list repository

type ResourcePathFormatter

type ResourcePathFormatter interface {
	// GetResourcePathFmt resource path format
	GetResourcePathFmt() map[metav1alpha1.ResourcePathScene]string
	// GetSubResourcePathFmt resource path format
	GetSubResourcePathFmt() map[metav1alpha1.ResourcePathScene]string
}

ResourcePathFormatter implements a formatter for resource path base on different scene

type ScanImage

type ScanImage interface {
	Interface
	ScanImage(ctx context.Context, params metav1alpha1.ArtifactOptions) error
}

ScanImage scan image

type SubtypeProjectGetter

type SubtypeProjectGetter interface {
	Interface
	GetSubTypeProject(ctx context.Context, getOption GetProjectOption) (*metav1alpha1.Project, error)
}

SubtypeProjectGetter get project with subtype alias of ProjectGetter for better experience

type TestCaseExecutionCreator

type TestCaseExecutionCreator interface {
	Interface
	CreateTestCaseExecution(ctx context.Context, params metav1alpha1.TestProjectOptions, payload metav1alpha1.TestCaseExecution) (*metav1alpha1.TestCaseExecution, error)
}

TestCaseExecutionCreator create a new test case execution

type TestCaseExecutionLister

type TestCaseExecutionLister interface {
	Interface
	ListTestCaseExecutions(ctx context.Context, params metav1alpha1.TestProjectOptions, options metav1alpha1.ListOptions) (*metav1alpha1.TestCaseExecutionList, error)
}

TestCaseExecutionLister list test case executions

type TestCaseGetter

type TestCaseGetter interface {
	Interface
	GetTestCase(ctx context.Context, params metav1alpha1.TestProjectOptions) (*metav1alpha1.TestCase, error)
}

TestCaseGetter get a test case

type TestCaseLister

type TestCaseLister interface {
	Interface
	ListTestCases(ctx context.Context, params metav1alpha1.TestProjectOptions, options metav1alpha1.ListOptions) (*metav1alpha1.TestCaseList, error)
}

TestCaseLister list test cases

type TestModuleLister

type TestModuleLister interface {
	Interface
	ListTestModules(ctx context.Context, params metav1alpha1.TestProjectOptions, options metav1alpha1.ListOptions) (*metav1alpha1.TestModuleList, error)
}

TestModuleLister list a test module

type TestPlanGetter

type TestPlanGetter interface {
	Interface
	GetTestPlan(ctx context.Context, params metav1alpha1.TestProjectOptions) (*metav1alpha1.TestPlan, error)
}

TestPlanGetter get a test plan

type TestPlanLister

type TestPlanLister interface {
	Interface
	ListTestPlans(ctx context.Context, params metav1alpha1.TestProjectOptions, option metav1alpha1.ListOptions) (*metav1alpha1.TestPlanList, error)
}

TestPlanLister list test plans

type ToolMetadataGetter

type ToolMetadataGetter interface {
	// GetToolMetadata get the version information corresponding to the address.
	GetToolMetadata(ctx context.Context) (*metav1alpha1.ToolMeta, error)
}

ToolMetadataGetter get the version information corresponding to the address.

type WebhookCreator

type WebhookCreator interface {
	CreateWebhook(ctx context.Context, spec metav1alpha1.WebhookRegisterSpec, secret corev1.Secret) (metav1alpha1.WebhookRegisterStatus, error)
}

WebhookCreator create a new webhook

type WebhookDeleter

type WebhookDeleter interface {
	DeleteWebhook(ctx context.Context, spec metav1alpha1.WebhookRegisterSpec, secret corev1.Secret) error
}

WebhookDeleter delete a webhook

type WebhookLister

type WebhookLister interface {
	ListWebhooks(ctx context.Context, uri apis.URL, secret corev1.Secret) ([]metav1alpha1.WebhookRegisterStatus, error)
}

WebhookLister list webhooks

type WebhookReceiver

type WebhookReceiver interface {
	Interface
	ReceiveWebhook(ctx context.Context, req *restful.Request, secret string) (cloudevent.Event, error)
}

WebhookReceiver receives a webhook request with validation and transform it into a cloud event

type WebhookRegister

type WebhookRegister interface {
	WebhookCreator
	WebhookUpdater
	WebhookDeleter
	WebhookLister
}

WebhookRegister used to register and manage webhooks

type WebhookResourceDiffer

type WebhookResourceDiffer interface {
	// IsSameResource will provide two ResourceURI
	// the plugin should discern if they are the same.
	// If this method is not implemented a standard comparisons will be used
	IsSameResource(ctx context.Context, i, j metav1alpha1.ResourceURI) bool
}

WebhookResourceDiffer used to compare different webhook resources in order to provide a way to merge webhook registration requests. If not provided, the resource's URI will be directly compared

type WebhookUpdater

type WebhookUpdater interface {
	UpdateWebhook(ctx context.Context, spec metav1alpha1.WebhookRegisterSpec, secret corev1.Secret) (metav1alpha1.WebhookRegisterStatus, error)
}

WebhookUpdater update a webhook

Jump to

Keyboard shortcuts

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