restapi

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2022 License: Apache-2.0 Imports: 24 Imported by: 0

README

restapi

swagger generate server -f swagger/swagger.yaml --template-dir=swagger/templates --exclude-main --additional-initialism=CVE --additional-initialism=GC -A harbor --existing-models=github.com/goharbor/harbor/src/server/v2.0/models --server-package=.

rm -rf models

Documentation

Overview

Package server Harbor API These APIs provide services for manipulating Harbor project.

Schemes:
  http
  https
Host: localhost
BasePath: /api/v2.0
Version: 2.0

Consumes:
- application/json

Produces:
- application/json
- application/octet-stream
- text/plain

swagger:meta

Index

Constants

View Source
const AuthKey contextKey = "Auth"

Variables

View Source
var (
	// SwaggerJSON embedded version of the swagger document used at generation time
	SwaggerJSON json.RawMessage
	// FlatSwaggerJSON embedded flattened version of the swagger document used at generation time
	FlatSwaggerJSON json.RawMessage
)

Functions

func Handler

func Handler(c Config) (http.Handler, error)

Handler returns an http.Handler given the handler configuration It mounts all the business logic implementers in the right routing.

func HandlerAPI

func HandlerAPI(c Config) (http.Handler, *operations.HarborAPI, error)

HandlerAPI returns an http.Handler given the handler configuration and the corresponding *Harbor instance. It mounts all the business logic implementers in the right routing.

Types

type ArtifactAPI

type ArtifactAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CopyArtifact is Copy the artifact specified in the "from" parameter to the repository.
	CopyArtifact(ctx context.Context, params artifact.CopyArtifactParams) middleware.Responder
	// AddLabel is Add label to the specified artiact.
	AddLabel(ctx context.Context, params artifact.AddLabelParams) middleware.Responder
	// CreateTag is Create a tag for the specified artifact
	CreateTag(ctx context.Context, params artifact.CreateTagParams) middleware.Responder
	// DeleteArtifact is Delete the artifact specified by the reference under the project and repository. The reference can be digest or tag
	DeleteArtifact(ctx context.Context, params artifact.DeleteArtifactParams) middleware.Responder
	// DeleteTag is Delete the tag of the specified artifact
	DeleteTag(ctx context.Context, params artifact.DeleteTagParams) middleware.Responder
	// GetAddition is Get the addition of the artifact specified by the reference under the project and repository.
	GetAddition(ctx context.Context, params artifact.GetAdditionParams) middleware.Responder
	// GetArtifact is Get the artifact specified by the reference under the project and repository. The reference can be digest or tag.
	GetArtifact(ctx context.Context, params artifact.GetArtifactParams) middleware.Responder
	// GetVulnerabilitiesAddition is Get the vulnerabilities addition of the artifact specified by the reference under the project and repository.
	GetVulnerabilitiesAddition(ctx context.Context, params artifact.GetVulnerabilitiesAdditionParams) middleware.Responder
	// ListArtifacts is List artifacts under the specific project and repository. Except the basic properties, the other supported queries in "q" includes "tags=*" to list only tagged artifacts, "tags=nil" to list only untagged artifacts, "tags=~v" to list artifacts whose tag fuzzy matches "v", "tags=v" to list artifact whose tag exactly matches "v", "labels=(id1, id2)" to list artifacts that both labels with id1 and id2 are added to
	ListArtifacts(ctx context.Context, params artifact.ListArtifactsParams) middleware.Responder
	// ListTags is List tags of the specific artifact
	ListTags(ctx context.Context, params artifact.ListTagsParams) middleware.Responder
	// RemoveLabel is Remove the label from the specified artiact.
	RemoveLabel(ctx context.Context, params artifact.RemoveLabelParams) middleware.Responder
}

ArtifactAPI

type AuditlogAPI

type AuditlogAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder

	ListAuditLogs(ctx context.Context, params auditlog.ListAuditLogsParams) middleware.Responder
}

AuditlogAPI

type Config

type Config struct {
	ArtifactAPI
	AuditlogAPI
	GCAPI
	IconAPI
	PingAPI
	PreheatAPI
	ProjectAPI
	ReplicationAPI
	RepositoryAPI
	RetentionAPI
	RobotAPI
	Robotv1API
	ScanAPI
	ScanAllAPI
	SysteminfoAPI
	Logger func(string, ...interface{})
	// InnerMiddleware is for the handler executors. These do not apply to the swagger.json document.
	// The middleware executes after routing but before authentication, binding and validation
	InnerMiddleware func(http.Handler) http.Handler

	// Authorizer is used to authorize a request after the Auth function was called using the "Auth*" functions
	// and the principal was stored in the context in the "AuthKey" context value.
	Authorizer func(*http.Request) error

	// AuthBasic for basic authentication
	AuthBasic func(user string, pass string) (interface{}, error)
}

Config is configuration for Handler

type GCAPI

type GCAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder

	CreateGCSchedule(ctx context.Context, params gc.CreateGCScheduleParams) middleware.Responder
	// GetGC is This endpoint let user get gc status filtered by specific ID.
	GetGC(ctx context.Context, params gc.GetGCParams) middleware.Responder
	// GetGCHistory is This endpoint let user get gc execution history.
	GetGCHistory(ctx context.Context, params gc.GetGCHistoryParams) middleware.Responder
	// GetGCLog is This endpoint let user get gc job logs filtered by specific ID.
	GetGCLog(ctx context.Context, params gc.GetGCLogParams) middleware.Responder
	// GetGCSchedule is This endpoint is for get schedule of gc job.
	GetGCSchedule(ctx context.Context, params gc.GetGCScheduleParams) middleware.Responder

	UpdateGCSchedule(ctx context.Context, params gc.UpdateGCScheduleParams) middleware.Responder
}

GCAPI

type IconAPI

type IconAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// GetIcon is Get the artifact icon with the specified digest. As the original icon image is resized and encoded before returning, the parameter "digest" in the path doesn't match the hash of the returned content
	GetIcon(ctx context.Context, params icon.GetIconParams) middleware.Responder
}

IconAPI

type PingAPI

type PingAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// GetPing is This API simply replies a pong to indicate the process to handle API is up, disregarding the health status of dependent components.
	GetPing(ctx context.Context, params ping.GetPingParams) middleware.Responder
}

PingAPI

type PreheatAPI

type PreheatAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CreateInstance is Create p2p provider instances
	CreateInstance(ctx context.Context, params preheat.CreateInstanceParams) middleware.Responder
	// CreatePolicy is Create a preheat policy under a project
	CreatePolicy(ctx context.Context, params preheat.CreatePolicyParams) middleware.Responder
	// DeleteInstance is Delete the specified P2P provider instance
	DeleteInstance(ctx context.Context, params preheat.DeleteInstanceParams) middleware.Responder
	// DeletePolicy is Delete a preheat policy
	DeletePolicy(ctx context.Context, params preheat.DeletePolicyParams) middleware.Responder
	// GetExecution is Get a execution detail by id
	GetExecution(ctx context.Context, params preheat.GetExecutionParams) middleware.Responder
	// GetInstance is Get a P2P provider instance
	GetInstance(ctx context.Context, params preheat.GetInstanceParams) middleware.Responder
	// GetPolicy is Get a preheat policy
	GetPolicy(ctx context.Context, params preheat.GetPolicyParams) middleware.Responder
	// GetPreheatLog is Get the log text stream of the specified task for the given execution
	GetPreheatLog(ctx context.Context, params preheat.GetPreheatLogParams) middleware.Responder
	// ListExecutions is List executions for the given policy
	ListExecutions(ctx context.Context, params preheat.ListExecutionsParams) middleware.Responder
	// ListInstances is List P2P provider instances
	ListInstances(ctx context.Context, params preheat.ListInstancesParams) middleware.Responder
	// ListPolicies is List preheat policies
	ListPolicies(ctx context.Context, params preheat.ListPoliciesParams) middleware.Responder
	// ListProviders is List P2P providers
	ListProviders(ctx context.Context, params preheat.ListProvidersParams) middleware.Responder
	// ListProvidersUnderProject is Get all providers at project level
	ListProvidersUnderProject(ctx context.Context, params preheat.ListProvidersUnderProjectParams) middleware.Responder
	// ListTasks is List all the related tasks for the given execution
	ListTasks(ctx context.Context, params preheat.ListTasksParams) middleware.Responder
	// ManualPreheat is Manual preheat
	ManualPreheat(ctx context.Context, params preheat.ManualPreheatParams) middleware.Responder

	PingInstances(ctx context.Context, params preheat.PingInstancesParams) middleware.Responder
	// StopExecution is Stop a execution
	StopExecution(ctx context.Context, params preheat.StopExecutionParams) middleware.Responder
	// UpdateInstance is Update the specified P2P provider instance
	UpdateInstance(ctx context.Context, params preheat.UpdateInstanceParams) middleware.Responder
	// UpdatePolicy is Update preheat policy
	UpdatePolicy(ctx context.Context, params preheat.UpdatePolicyParams) middleware.Responder
}

PreheatAPI

type ProjectAPI

type ProjectAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CreateProject is This endpoint is for user to create a new project.
	CreateProject(ctx context.Context, params project.CreateProjectParams) middleware.Responder
	// DeleteProject is This endpoint is aimed to delete project by project ID.
	DeleteProject(ctx context.Context, params project.DeleteProjectParams) middleware.Responder
	// GetLogs is Get recent logs of the projects
	GetLogs(ctx context.Context, params project.GetLogsParams) middleware.Responder
	// GetProject is This endpoint returns specific project information by project ID.
	GetProject(ctx context.Context, params project.GetProjectParams) middleware.Responder
	// GetProjectDeletable is Get the deletable status of the project
	GetProjectDeletable(ctx context.Context, params project.GetProjectDeletableParams) middleware.Responder
	// GetProjectSummary is Get summary of the project.
	GetProjectSummary(ctx context.Context, params project.GetProjectSummaryParams) middleware.Responder
	// HeadProject is This endpoint is used to check if the project name provided already exist.
	HeadProject(ctx context.Context, params project.HeadProjectParams) middleware.Responder
	// ListProjects is This endpoint returns projects created by Harbor.
	ListProjects(ctx context.Context, params project.ListProjectsParams) middleware.Responder
	// UpdateProject is This endpoint is aimed to update the properties of a project.
	UpdateProject(ctx context.Context, params project.UpdateProjectParams) middleware.Responder
}

ProjectAPI

type ReplicationAPI

type ReplicationAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// GetReplicationExecution is Get the replication execution specified by ID
	GetReplicationExecution(ctx context.Context, params replication.GetReplicationExecutionParams) middleware.Responder
	// GetReplicationLog is Get the log of the specific replication task
	GetReplicationLog(ctx context.Context, params replication.GetReplicationLogParams) middleware.Responder
	// ListReplicationExecutions is List replication executions
	ListReplicationExecutions(ctx context.Context, params replication.ListReplicationExecutionsParams) middleware.Responder
	// ListReplicationTasks is List replication tasks for a specific execution
	ListReplicationTasks(ctx context.Context, params replication.ListReplicationTasksParams) middleware.Responder
	// StartReplication is Start one replication execution according to the policy
	StartReplication(ctx context.Context, params replication.StartReplicationParams) middleware.Responder
	// StopReplication is Stop the replication execution specified by ID
	StopReplication(ctx context.Context, params replication.StopReplicationParams) middleware.Responder
}

ReplicationAPI

type RepositoryAPI

type RepositoryAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// DeleteRepository is Delete the repository specified by name
	DeleteRepository(ctx context.Context, params repository.DeleteRepositoryParams) middleware.Responder
	// GetRepository is Get the repository specified by name
	GetRepository(ctx context.Context, params repository.GetRepositoryParams) middleware.Responder
	// ListRepositories is List repositories of the specified project
	ListRepositories(ctx context.Context, params repository.ListRepositoriesParams) middleware.Responder
	// UpdateRepository is Update the repository specified by name
	UpdateRepository(ctx context.Context, params repository.UpdateRepositoryParams) middleware.Responder
}

RepositoryAPI

type RetentionAPI

type RetentionAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CreateRetention is Create Retention Policy, you can reference metadatas API for the policy model. You can check project metadatas to find whether a retention policy is already binded. This method should only be called when no retention policy binded to project yet.
	CreateRetention(ctx context.Context, params retention.CreateRetentionParams) middleware.Responder
	// GetRentenitionMetadata is Get Retention Metadatas.
	GetRentenitionMetadata(ctx context.Context, params retention.GetRentenitionMetadataParams) middleware.Responder
	// GetRetention is Get Retention Policy.
	GetRetention(ctx context.Context, params retention.GetRetentionParams) middleware.Responder
	// GetRetentionTaskLog is Get Retention job task log, tags ratain or deletion detail will be shown in a table.
	GetRetentionTaskLog(ctx context.Context, params retention.GetRetentionTaskLogParams) middleware.Responder
	// ListRetentionExecutions is Get Retention executions, execution status may be delayed before job service schedule it up.
	ListRetentionExecutions(ctx context.Context, params retention.ListRetentionExecutionsParams) middleware.Responder
	// ListRetentionTasks is Get Retention tasks, each repository as a task.
	ListRetentionTasks(ctx context.Context, params retention.ListRetentionTasksParams) middleware.Responder
	// OperateRetentionExecution is Stop a Retention execution, only support "stop" action now.
	OperateRetentionExecution(ctx context.Context, params retention.OperateRetentionExecutionParams) middleware.Responder
	// TriggerRetentionExecution is Trigger a Retention Execution, if dry_run is True, nothing would be deleted actually.
	TriggerRetentionExecution(ctx context.Context, params retention.TriggerRetentionExecutionParams) middleware.Responder
	// UpdateRetention is Update Retention Policy, you can reference metadatas API for the policy model. You can check project metadatas to find whether a retention policy is already binded. This method should only be called when retention policy has already binded to project.
	UpdateRetention(ctx context.Context, params retention.UpdateRetentionParams) middleware.Responder
}

RetentionAPI

type RobotAPI

type RobotAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CreateRobot is Create a robot account
	CreateRobot(ctx context.Context, params robot.CreateRobotParams) middleware.Responder
	// DeleteRobot is This endpoint deletes specific robot account information by robot ID.
	DeleteRobot(ctx context.Context, params robot.DeleteRobotParams) middleware.Responder
	// GetRobotByID is This endpoint returns specific robot account information by robot ID.
	GetRobotByID(ctx context.Context, params robot.GetRobotByIDParams) middleware.Responder
	// ListRobot is List the robot accounts with the specified level and project.
	ListRobot(ctx context.Context, params robot.ListRobotParams) middleware.Responder
	// RefreshSec is Refresh the robot secret
	RefreshSec(ctx context.Context, params robot.RefreshSecParams) middleware.Responder
	// UpdateRobot is This endpoint updates specific robot account information by robot ID.
	UpdateRobot(ctx context.Context, params robot.UpdateRobotParams) middleware.Responder
}

RobotAPI

type Robotv1API

type Robotv1API interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CreateRobotV1 is Create a robot account
	CreateRobotV1(ctx context.Context, params robotv1.CreateRobotV1Params) middleware.Responder
	// DeleteRobotV1 is This endpoint deletes specific robot account information by robot ID.
	DeleteRobotV1(ctx context.Context, params robotv1.DeleteRobotV1Params) middleware.Responder
	// GetRobotByIDV1 is This endpoint returns specific robot account information by robot ID.
	GetRobotByIDV1(ctx context.Context, params robotv1.GetRobotByIDV1Params) middleware.Responder
	// ListRobotV1 is Get all robot accounts of specified project
	ListRobotV1(ctx context.Context, params robotv1.ListRobotV1Params) middleware.Responder
	// UpdateRobotV1 is Used to disable/enable a specified robot account.
	UpdateRobotV1(ctx context.Context, params robotv1.UpdateRobotV1Params) middleware.Responder
}

Robotv1API

type ScanAPI

type ScanAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// GetReportLog is Get the log of the scan report
	GetReportLog(ctx context.Context, params scan.GetReportLogParams) middleware.Responder
	// ScanArtifact is Scan the specified artifact
	ScanArtifact(ctx context.Context, params scan.ScanArtifactParams) middleware.Responder
}

ScanAPI

type ScanAllAPI

type ScanAllAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder
	// CreateScanAllSchedule is This endpoint is for creating a schedule or a manual trigger for the scan all job, which scans all of images in Harbor.
	CreateScanAllSchedule(ctx context.Context, params scan_all.CreateScanAllScheduleParams) middleware.Responder
	// GetLatestScanAllMetrics is Get the metrics of the latest scan all process
	GetLatestScanAllMetrics(ctx context.Context, params scan_all.GetLatestScanAllMetricsParams) middleware.Responder
	// GetLatestScheduledScanAllMetrics is Get the metrics of the latest scheduled scan all process
	GetLatestScheduledScanAllMetrics(ctx context.Context, params scan_all.GetLatestScheduledScanAllMetricsParams) middleware.Responder
	// GetScanAllSchedule is This endpoint is for getting a schedule for the scan all job, which scans all of images in Harbor.
	GetScanAllSchedule(ctx context.Context, params scan_all.GetScanAllScheduleParams) middleware.Responder
	// UpdateScanAllSchedule is This endpoint is for updating the schedule of scan all job, which scans all of images in Harbor.
	UpdateScanAllSchedule(ctx context.Context, params scan_all.UpdateScanAllScheduleParams) middleware.Responder
}

ScanAllAPI

type SysteminfoAPI

type SysteminfoAPI interface {
	// Prepare action before the operation
	Prepare(ctx context.Context, operation string, params interface{}) middleware.Responder

	GetSysteminfo(ctx context.Context, params systeminfo.GetSysteminfoParams) middleware.Responder

	GetSysteminfoGetcert(ctx context.Context, params systeminfo.GetSysteminfoGetcertParams) middleware.Responder

	GetSysteminfoVolumes(ctx context.Context, params systeminfo.GetSysteminfoVolumesParams) middleware.Responder
}

SysteminfoAPI

Jump to

Keyboard shortcuts

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