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