Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Filter ¶
type Filter struct { Kind string `json:"kind"` Pattern string `json:"pattern"` // deprecated, use Value instead Value interface{} `json:"value"` }
Filter is the data model represents the filter defined by user.
type FilterConfig ¶
type FilterConfig struct { //The pattern for fuzzy matching Pattern string }
FilterConfig is data model to provide configurations to the filters.
type FilterItem ¶
type FilterItem struct { //The kind of the filtering resources. Support 'project','repository' and 'tag' etc. Kind string `json:"kind"` //The key value of resource which can be used to filter out the resource matched with specified pattern. //E.g: //kind == 'project', value will be project name; //kind == 'repository', value will be repository name //kind == 'tag', value will be tag name. Value string `json:"value"` Operation string `json:"operation"` //Extension placeholder. //To append more additional information if required by the filter. Metadata map[string]interface{} `json:"metadata"` }
FilterItem is the general data model represents the filtering resources which are used as input and output for the filters.
type Namespace ¶
type Namespace struct { //Name of the namespace Name string //Extensions to provide flexibility Metadata map[string]interface{} }
Namespace is the resource group/scope like project in Harbor and organization in docker hub.
type QueryParameter ¶
type QueryParameter struct { //Query by page, couple with pageSize Page int64 //Size of each page, couple with page PageSize int64 //Query by project ID ProjectID int64 //Query by name Name string }
QueryParameter defines the parameters used to do query selection.
type ReplicationPolicy ¶
type ReplicationPolicy struct { ID int64 //UUID of the policy Name string Description string Filters []Filter ReplicateDeletion bool Trigger *Trigger //The trigger of the replication ProjectIDs []int64 //Projects attached to this policy TargetIDs []int64 Namespaces []string // The namespaces are used to set immediate trigger CreationTime time.Time UpdateTime time.Time }
ReplicationPolicy defines the structure of a replication policy.
type ReplicationPolicyQueryResult ¶
type ReplicationPolicyQueryResult struct { Total int64 Policies []*ReplicationPolicy }
ReplicationPolicyQueryResult is the query result of replication policy
type Repository ¶
type Repository struct { //Name of the repository Name string //Project reference of this repository belongs to Namespace Namespace //Extensions to provide flexibility Metadata map[string]interface{} }
Repository is to keep the info of image repository.
type ScheduleParam ¶
type ScheduleParam struct { Type string `json:"type"` //daily or weekly Weekday int8 `json:"weekday"` //Optional, only used when type is 'weekly' Offtime int64 `json:"offtime"` //The time offset with the UTC 00:00 in seconds }
ScheduleParam defines the parameters used by schedule trigger
type Tag ¶
type Tag struct { //Name of the tag Name string //The repository reference of this tag belongs to Repository Repository //Extensions to provide flexibility Metadata map[string]interface{} }
Tag keeps the info of image with specified version
type Trigger ¶
type Trigger struct { Kind string `json:"kind"` // the type of the trigger ScheduleParam *ScheduleParam `json:"schedule_param"` // optional, only used when kind is 'schedule' }
Trigger is replication launching approach definition