models

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 2021 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PathConfig = "/configurations"
View Source
var PathGC = "/system/gc/schedule"
View Source
var PathLabel = "/labels"
View Source
var PathProjects = "/projects"
View Source
var PathRegistries = "/registries"
View Source
var PathReplication = "/replication/policies"
View Source
var PathRetentions = "/retentions"
View Source
var PathScanners = "/scanners"
View Source
var PathUsers = "/users"
View Source
var PathVuln = "/system/scanAll/schedule"

Functions

This section is empty.

Types

type ConfigBodyPost

type ConfigBodyPost struct {
	OidcVerifyCert        bool   `json:"oidc_verify_cert"`
	OidcAutoOnboard       bool   `json:"oidc_auto_onboard"`
	OidcUserClaim         string `json:"oidc_user_claim,omitempty"`
	EmailIdentity         string `json:"email_identity,omitempty"`
	LdapGroupSearchFilter string `json:"ldap_group_search_filter,omitempty"`
	AuthMode              string `json:"auth_mode,omitempty"`
	SelfRegistration      bool   `json:"self_registration"`
	OidcScope             string `json:"oidc_scope,omitempty"`
	LdapSearchDn          string `json:"ldap_search_dn,omitempty"`
	StoragePerProject     string `json:"storage_per_project,omitempty"`
	ScanAllPolicy         struct {
		Type      string `json:"type,omitempty"`
		Parameter struct {
			DailyTime int `json:"daily_time,omitempty"`
		} `json:"parameter,omitempty"`
	} `json:"scan_all_policy,omitempty"`
	LdapTimeout                int    `json:"ldap_timeout,omitempty"`
	LdapBaseDn                 string `json:"ldap_base_dn,omitempty"`
	LdapFilter                 string `json:"ldap_filter,omitempty"`
	ReadOnly                   bool   `json:"read_only"`
	QuotaPerProjectEnable      bool   `json:"quota_per_project_enable"`
	LdapURL                    string `json:"ldap_url,omitempty"`
	OidcName                   string `json:"oidc_name,omitempty"`
	ProjectCreationRestriction string `json:"project_creation_restriction,omitempty"`
	LdapUID                    string `json:"ldap_uid,omitempty"`
	OidcClientID               string `json:"oidc_client_id,omitempty"`
	LdapGroupBaseDn            string `json:"ldap_group_base_dn,omitempty"`
	LdapGroupAttributeName     string `json:"ldap_group_attribute_name,omitempty"`
	EmailInsecure              bool   `json:"email_insecure"`
	LdapGroupAdminDn           string `json:"ldap_group_admin_dn,omitempty"`
	EmailUsername              string `json:"email_username,omitempty"`
	EmailPassword              string `json:"email_password,omitempty"`
	OidcEndpoint               string `json:"oidc_endpoint,omitempty"`
	OidcClientSecret           string `json:"oidc_client_secret,omitempty"`
	OidcGroupsClaim            string `json:"oidc_groups_claim,omitempty"`
	LdapScope                  int    `json:"ldap_scope,omitempty"`
	CountPerProject            string `json:"count_per_project,omitempty"`
	TokenExpiration            int    `json:"token_expiration,omitempty"`
	LdapGroupSearchScope       int    `json:"ldap_group_search_scope,omitempty"`
	EmailSsl                   bool   `json:"email_ssl"`
	EmailPort                  int    `json:"email_port,omitempty"`
	EmailHost                  string `json:"email_host,omitempty"`
	EmailFrom                  string `json:"email_from,omitempty"`
	RobotTokenDuration         int    `json:"robot_token_duration,omitempty"`
	LdapVerifyCert             bool   `json:"ldap_verify_cert,omitempty"`

	LdapGroupGID string `json:"ldap_group_id,omitempty"`
}

type ConfigBodyResponse added in v0.6.0

type ConfigBodyResponse struct {
	OidcVerifyCert struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"oidc_verify_cert,omitempty"`
	OidcAutoOnboard struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"oidc_auto_onboard,omitempty"`
	OidcUserClaim struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"oidc_user_claim,omitempty"`
	OidcGroupsClaim struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"oidc_groups_claim,omitempty"`
	EmailIdentity struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"email_identity,omitempty"`
	LdapGroupSearchFilter struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_group_search_filter,omitempty"`
	AuthMode struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"auth_mode,omitempty"`
	SelfRegistration struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"self_registration,omitempty"`
	OidcScope struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"oidc_scope,omitempty"`
	LdapSearchDn struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_search_dn,omitempty"`
	StoragePerProject struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"storage_per_project,omitempty"`
	ScanAllPolicy struct {
		Type      string `json:"type,omitempty"`
		Parameter struct {
			DailyTime int `json:"daily_time,omitempty"`
		} `json:"parameter,omitempty"`
	} `json:"scan_all_policy",omitempty`
	VerifyRemoteCert struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"verify_remote_cert,omitempty"`
	LdapTimeout struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"ldap_timeout,omitempty"`
	LdapBaseDn struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_base_dn,omitempty"`
	LdapFilter struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_filter,omitempty"`
	ReadOnly struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"read_only,omitempty"`
	QuotaPerProjectEnable struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"quota_per_project_enable,omitempty"`
	LdapURL struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_url,omitempty"`
	OidcName struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"oidc_name,omitempty"`
	ProjectCreationRestriction struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"project_creation_restriction,omitempty"`
	LdapUID struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_uid,omitempty"`
	OidcClientID struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"oidc_client_id,omitempty"`
	LdapGroupBaseDn struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_group_base_dn,omitempty"`
	LdapGroupAttributeName struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_group_attribute_name,omitempty"`
	EmailInsecure struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"email_insecure,omitempty"`
	LdapGroupAdminDn struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_group_admin_dn,omitempty"`
	LdapGroupMembershipAttribute struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"ldap_group_membership_attribute,omitempty"`
	EmailUsername struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"email_username,omitempty"`
	OidcEndpoint struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"oidc_endpoint,omitempty"`
	LdapScope struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"ldap_scope,omitempty"`
	CountPerProject struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"count_per_project,omitempty"`
	TokenExpiration struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"token_expiration,omitempty"`
	LdapGroupSearchScope struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"ldap_group_search_scope,omitempty"`
	EmailSsl struct {
		Editable bool `json:"editable,omitempty"`
		Value    bool `json:"value,omitempty"`
	} `json:"email_ssl,omitempty"`
	EmailPort struct {
		Editable bool `json:"editable,omitempty"`
		Value    int  `json:"value,omitempty"`
	} `json:"email_port,omitempty"`
	EmailHost struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"email_host,omitempty"`
	EmailFrom struct {
		Editable bool   `json:"editable,omitempty"`
		Value    string `json:"value,omitempty"`
	} `json:"email_from,omitempty"`
}

type CveWhitelistItem added in v1.0.0

type CveWhitelistItem struct {
	CveID string `json:"cve_id,omitempty"`
}

type CveWhitelistItems added in v1.0.0

type CveWhitelistItems []struct {
	CveID string `json:"cve_id,omitempty"`
}

type Hard added in v1.3.2

type Hard struct {
	Storage int64 `json:"storage"`
}

type JobParameters added in v0.6.0

type JobParameters struct {
	DeleteUntagged bool `json:"delete_untagged"`
}

type Labels added in v0.7.0

type Labels struct {
	Description string `json:"description"`
	Color       string `json:"color"`
	Deleted     bool   `json:"deleted"`
	Scope       string `json:"scope"`
	ProjectID   int    `json:"project_id"`
	ID          int    `json:"id"`
	Name        string `json:"name"`
}

type Params added in v1.0.0

type Params struct {
	LatestPushedK      int `json:"latestPushedK,omitempty"`
	LatestPulledN      int `json:"latestPulledN,omitempty"`
	NDaysSinceLastPush int `json:"nDaysSinceLastPush,omitempty"`
	NDaysSinceLastPull int `json:"nDaysSinceLastPull,omitempty"`
}

type ProjectMemberUsersGroup

type ProjectMemberUsersGroup struct {
	UserName string `json:"username,omitempty"`
}

type ProjectMembersBody

type ProjectMembersBody struct {
	ID          int                     `json:"id,omitempty"`
	RoleID      int                     `json:"role_id,omitempty"`
	GroupMember ProjectMembersBodyGroup `json:"member_group,omitempty"`
	UserMembers ProjectMemberUsersGroup `json:"member_user,omitempty"`
}

type ProjectMembersBodyGroup

type ProjectMembersBodyGroup struct {
	GroupType   int    `json:"group_type,omitempty"`
	GroupName   string `json:"group_name,omitempty"`
	GroupID     int    `json:"id,omitempty"`
	LdapGroupDN string `json:"ldap_group_dn,omitempty"`
}

type ProjectsBodyPost

type ProjectsBodyPost struct {
	CountLimit   int    `json:"count_limit,omitempty"`
	ProjectName  string `json:"project_name,omitempty"`
	RegistryID   int    `json:"registry_id,omitempty"`
	CveWhitelist struct {
		Items CveWhitelistItems `json:"items,omitempty"`
		// Items []struct {
		// 	CveID string `json:"cve_id,omitempty"`
		// } `json:"items,omitempty"`
		ProjectID int `json:"project_id,omitempty"`
		ID        int `json:"id,omitempty"`
		ExpiresAt int `json:"expires_at,omitempty"`
	} `json:"cve_whitelist,omitempty"`
	StorageLimit int `json:"storage_limit,omitempty"`
	Metadata     struct {
		EnableContentTrust   string `json:"enable_content_trust,omitempty"`
		AutoScan             string `json:"auto_scan,omitempty"`
		Severity             string `json:"severity,omitempty"`
		ReuseSysCveWhitelist string `json:"reuse_sys_cve_whitelist,omitempty"`
		Public               string `json:"public,omitempty"`
		PreventVul           string `json:"prevent_vul,omitempty"`
	} `json:"metadata,omitempty"`
}

type ProjectsBodyResponses

type ProjectsBodyResponses struct {
	UpdateTime         string `json:"update_time"`
	OwnerName          string `json:"owner_name"`
	Name               string `json:"name"`
	Deleted            bool   `json:"deleted"`
	OwnerID            int    `json:"owner_id"`
	RepoCount          int    `json:"repo_count"`
	CreationTime       string `json:"creation_time"`
	Togglable          bool   `json:"togglable"`
	ProjectID          int    `json:"project_id"`
	CurrentUserRoleID  int    `json:"current_user_role_id"`
	CurrentUserRoleIds []int  `json:"current_user_role_ids"`
	ChartCount         int    `json:"chart_count"`
	CveWhitelist       struct {
		Items []struct {
			CveID string `json:"cve_id"`
		} `json:"items"`
		ProjectID int `json:"project_id"`
		ID        int `json:"id"`
		ExpiresAt int `json:"expires_at"`
	} `json:"cve_whitelist"`
	Metadata struct {
		EnableContentTrust   string `json:"enable_content_trust"`
		AutoScan             string `json:"auto_scan"`
		Severity             string `json:"severity"`
		ReuseSysCveWhitelist string `json:"reuse_sys_cve_whitelist"`
		Public               string `json:"public"`
		PreventVul           string `json:"prevent_vul"`
	} `json:"metadata"`
}

type References added in v1.0.0

type References struct {
}

type RegistryBody added in v0.3.0

type RegistryBody struct {
	Status     string `json:"status,omitempty"`
	Credential struct {
		AccessKey    string `json:"access_key,omitempty"`
		AccessSecret string `json:"access_secret,omitempty"`
		Type         string `json:"type,omitempty"`
	} `json:"credential,omitempty"`
	UpdateTime   string `json:"update_time,omitempty"`
	Name         string `json:"name,omitempty"`
	URL          string `json:"url,omitempty"`
	Insecure     bool   `json:"insecure,omitempty"`
	CreationTime string `json:"creation_time,omitempty"`
	Type         string `json:"type,omitempty"`
	ID           int    `json:"id,omitempty"`
	Description  string `json:"description,omitempty"`
}

type ReplicationBody added in v0.3.0

type ReplicationBody struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	SrcRegistry struct {
		ID int `json:"id,omitempty"`
	} `json:"src_registry,omitempty"`
	DestRegistry struct {
		ID int `json:"id,omitempty"`
	} `json:"dest_registry,omitempty"`
	DestNamespace string `json:"dest_namespace,omitempty"`
	Trigger       struct {
		Type            string `json:"type,omitempty"`
		TriggerSettings struct {
			Cron string `json:"cron,omitempty"`
		} `json:"trigger_settings,omitempty"`
	} `json:"trigger,omitempty"`
	Enabled  bool                 `json:"enabled,omitempty"`
	Deletion bool                 `json:"deletion,omitempty"`
	Override bool                 `json:"override,omitempty"`
	Filters  []ReplicationFilters `json:"filters,omitempty"`
}

type ReplicationFilters added in v0.3.0

type ReplicationFilters struct {
	Type  string `json:"type,omitempty"`
	Value string `json:"value,omitempty"`
}

type Repository added in v1.0.0

type Repository struct {
	Kind       string `json:"kind"`
	Decoration string `json:"decoration"`
	Pattern    string `json:"pattern"`
}

type ResponseHeaders

type ResponseHeaders struct {
	Connection    []string `json:"Connection,omitempty"`
	ContentLength []string `json:"Content-Length,omitempty"`
	ContentType   []string `json:"Content-Type,omitempty"`
	Date          []string `json:"Date,omitempty"`
	Location      []string `json:"Location,omitempty"`
	Server        []string `json:"Server,omitempty"`
	SetCookie     []string `json:"Set-Cookie,omitempty"`
	XRequestID    []string `json:"X-Request-Id,omitempty"`
}

type Retention added in v1.0.0

type Retention struct {
	Algorithm string  `json:"algorithm"`
	Rules     []Rules `json:"rules"`
	Trigger   Trigger `json:"trigger"`
	Scope     Scope   `json:"scope"`
}

type RobotBody

type RobotBody struct {
	Access      []RobotBodyAccess `json:"access,omitempty"`
	Name        string            `json:"name,omitempty"`
	ExpiresAt   int               `json:"expires_at,omitempty"`
	Description string            `json:"description,omitempty"`
}

type RobotBodyAccess

type RobotBodyAccess struct {
	Action   string `json:"action,omitempty"`
	Resource string `json:"resource,omitempty"`
}

type RobotBodyRepones

type RobotBodyRepones struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Token       string `json:"token"`
	Description string `json:"description"`
	ProjectID   int    `json:"project_id"`
	ExpiresAt   int    `json:"expires_at"`
	Disabled    bool   `json:"disabled"`
}

type Rules added in v1.0.0

type Rules struct {
	Disabled       bool           `json:"disabled"`
	Action         string         `json:"action"`
	ScopeSelectors ScopeSelectors `json:"scope_selectors"`
	TagSelectors   []TagSelectors `json:"tag_selectors"`
	Params         Params         `json:"params"`
	Template       string         `json:"template"`
}

type ScannerBody

type ScannerBody struct {
	UUID            string    `json:"uuid,omitempty"`
	Name            string    `json:"name,omitempty"`
	Description     string    `json:"description,omitempty"`
	URL             string    `json:"url,omitempty"`
	Disabled        bool      `json:"disabled,omitempty"`
	IsDefault       bool      `json:"is_default,omitempty"`
	Auth            string    `json:"auth,omitempty"`
	SkipCertVerify  bool      `json:"skip_certVerify,omitempty"`
	UseInternalAddr bool      `json:"use_internal_addr,omitempty"`
	CreateTime      time.Time `json:"create_time,omitempty"`
	UpdateTime      time.Time `json:"update_time,omitempty"`
}

type Scope added in v1.0.0

type Scope struct {
	Level string `json:"level"`
	Ref   int    `json:"ref"`
}

type ScopeSelectors added in v1.0.0

type ScopeSelectors struct {
	Repository []Repository `json:"repository"`
}

type Settings added in v1.0.0

type Settings struct {
	Cron string `json:"cron"`
}

type StorageQuota added in v1.3.2

type StorageQuota struct {
	Hard Hard `json:"hard"`
}

type SystemBody added in v0.6.0

type SystemBody struct {
	Schedule struct {
		Type string `json:"type,omitempty"`
		Cron string `json:"cron,omitempty"`
	} `json:"schedule,omitempty"`
	ID            int       `json:"id,omitempty"`
	JobName       string    `json:"job_name,omitempty"`
	JobKind       string    `json:"job_kind,omitempty"`
	JobParameters string    `json:"job_parameters,omitempty"`
	JobStatus     string    `json:"job_status,omitempty"`
	Deleted       bool      `json:"deleted,omitempty"`
	CreationTime  time.Time `json:"creation_time,omitempty"`
	UpdateTime    time.Time `json:"update_time,omitempty"`
	Parameters    struct {
		DeleteUntagged  bool `json:"delete_untagged,omitempty"`
		AdditionalProp1 bool `json:"additionalProp1,omitempty"`
		AdditionalProp2 bool `json:"additionalProp2,omitempty"`
		AdditionalProp3 bool `json:"additionalProp3,omitempty"`
	} `json:"parameters"`
}

type TagSelectors added in v1.0.0

type TagSelectors struct {
	Kind       string `json:"kind"`
	Decoration string `json:"decoration"`
	Pattern    string `json:"pattern"`
	Extras     string `json:"extras"`
}

type Trigger added in v1.0.0

type Trigger struct {
	Kind       string     `json:"kind"`
	References References `json:"references"`
	Settings   Settings   `json:"settings"`
}

type UserBody

type UserBody struct {
	Location        string `json:"location,omitempty"`
	Username        string `json:"username,omitempty"`
	Comment         string `json:"comment,omitempty"`
	UpdateTime      string `json:"update_time,omitempty"`
	Password        string `json:"password,omitempty"`
	UserID          int    `json:"user_id,omitempty"`
	Realname        string `json:"realname,omitempty"`
	Deleted         bool   `json:"deleted,omitempty"`
	CreationTime    string `json:"creation_time,omitempty"`
	AdminRoleInAuth bool   `json:"admin_role_in_auth,omitempty"`
	RoleID          int    `json:"role_id,omitempty"`
	SysadminFlag    bool   `json:"sysadmin_flag,omitempty"`
	RoleName        string `json:"role_name,omitempty"`
	ResetUUID       string `json:"reset_uuid,omitempty"`
	Salt            string `json:"Salt,omitempty"`
	Email           string `json:"email,omitempty"`
	Newpassword     string `json:"new_password,omitempty"`
}

Jump to

Keyboard shortcuts

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