descriptor

package
v2.0.0-...-98cc131 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package descriptor declares several structs that describe the information that formally describes the capabilities provided by each plugin. The plugin implementation has to provide this information and the plugin user has to evaluate this information.

Index

Constants

View Source
const (
	KIND_PLUGIN       = "plugin"
	KIND_DOWNLOADER   = "downloader"
	KIND_UPLOADER     = "uploader"
	KIND_ACCESSMETHOD = errors.KIND_ACCESSMETHOD
	KIND_ACTION       = action.KIND_ACTION
)
View Source
const VERSION = "v1"

Variables

View Source
var REALM = ocmlog.DefineSubRealm("OCM plugin handling", "plugins")

Functions

This section is empty.

Types

type AccessMethodDescriptor

type AccessMethodDescriptor struct {
	Name                   string      `json:"name"`
	Version                string      `json:"version,omitempty"`
	Description            string      `json:"description"`
	Format                 string      `json:"format"`
	SupportContentIdentity bool        `json:"supportContentIdentity,omitempty"`
	CLIOptions             []CLIOption `json:"options,omitempty"`
}

type ActionDescriptor

type ActionDescriptor struct {
	Name             string   `json:"name"`
	Versions         []string `json:"versions,omitempty"`
	Description      string   `json:"description,omitempty"`
	ConsumerType     string   `json:"consumerType,omitempty"`
	DefaultSelectors []string `json:"defaultSelectors,omitempty"`
}

func (ActionDescriptor) GetDescription

func (a ActionDescriptor) GetDescription() string

func (ActionDescriptor) GetName

func (a ActionDescriptor) GetName() string

type ArtifactContext

type ArtifactContext struct {
	ArtifactType string `json:"artifactType"`
	MediaType    string `json:"mediaType"`
}

func (ArtifactContext) Describe

func (k ArtifactContext) Describe() string

func (ArtifactContext) GetArtifactType

func (k ArtifactContext) GetArtifactType() string

func (ArtifactContext) GetMediaType

func (k ArtifactContext) GetMediaType() string

func (ArtifactContext) IsValid

func (k ArtifactContext) IsValid() bool

func (ArtifactContext) SetArtifact

func (k ArtifactContext) SetArtifact(arttype, mediatype string) ArtifactContext

func (ArtifactContext) String

func (k ArtifactContext) String() string

type CLIOption

type CLIOption struct {
	Name        string `json:"name"`
	Type        string `json:"type,omitempty"`
	Description string `json:"description,omitempty"`
}

type Descriptor

type Descriptor struct {
	Version       string `json:"version,omitempty"`
	PluginName    string `json:"pluginName"`
	PluginVersion string `json:"pluginVersion"`
	Short         string `json:"shortDescription"`
	Long          string `json:"description"`

	Actions       []ActionDescriptor         `json:"actions,omitempty"`
	AccessMethods []AccessMethodDescriptor   `json:"accessMethods,omitempty"`
	Uploaders     List[UploaderDescriptor]   `json:"uploaders,omitempty"`
	Downloaders   List[DownloaderDescriptor] `json:"downloaders,omitempty"`
}

type DownloaderDescriptor

type DownloaderDescriptor struct {
	Name             string                   `json:"name"`
	Description      string                   `json:"description"`
	Constraints      []DownloaderKey          `json:"constraints,omitempty"`
	ConfigScheme     string                   `json:"configScheme,omitempty"`
	AutoRegistration []DownloaderRegistration `json:"autoRegistration,omitempty"`
}

func (DownloaderDescriptor) GetConstraints

func (d DownloaderDescriptor) GetConstraints() []DownloaderKey

func (DownloaderDescriptor) GetDescription

func (d DownloaderDescriptor) GetDescription() string

func (DownloaderDescriptor) GetName

func (d DownloaderDescriptor) GetName() string

type DownloaderKey

type DownloaderKey = ArtifactContext

func NewDownloaderKey

func NewDownloaderKey(arttype, mediatype string) DownloaderKey

type DownloaderRegistration

type DownloaderRegistration struct {
	DownloaderKey `json:",inline"`
	Priority      int `json:"priority,omitempty"`
}

type Element

type Element[K registry.Key[K]] interface {
	Named
	GetConstraints() []K
}

type List

type List[T Named] []T

func (List[T]) Get

func (l List[T]) Get(name string) *T

func (List[T]) GetNames

func (l List[T]) GetNames() []string

func (List[T]) MergeWith

func (l List[T]) MergeWith(o List[T]) List[T]

type Named

type Named interface {
	GetName() string
}

type RepositoryContext

type RepositoryContext struct {
	ContextType    string `json:"contextType"`
	RepositoryType string `json:"repositoryType"`
}

func (RepositoryContext) Describe

func (k RepositoryContext) Describe() string

func (RepositoryContext) HasRepo

func (k RepositoryContext) HasRepo() bool

func (RepositoryContext) IsValid

func (k RepositoryContext) IsValid() bool

func (RepositoryContext) String

func (k RepositoryContext) String() string

type StringName

type StringName string

func (StringName) GetName

func (e StringName) GetName() string

type UploaderDescriptor

type UploaderDescriptor struct {
	Name        string        `json:"name"`
	Description string        `json:"description"`
	Constraints []UploaderKey `json:"constraints,omitempty"`
}

func (UploaderDescriptor) GetConstraints

func (d UploaderDescriptor) GetConstraints() []UploaderKey

func (UploaderDescriptor) GetDescription

func (d UploaderDescriptor) GetDescription() string

func (UploaderDescriptor) GetName

func (d UploaderDescriptor) GetName() string

type UploaderKey

type UploaderKey struct {
	RepositoryContext `json:",inline"`
	ArtifactContext   `json:",inline"`
}

func (UploaderKey) Describe

func (k UploaderKey) Describe() string

func (UploaderKey) IsValid

func (k UploaderKey) IsValid() bool

func (UploaderKey) SetArtifact

func (k UploaderKey) SetArtifact(arttype, mediatype string) UploaderKey

func (UploaderKey) SetRepo

func (k UploaderKey) SetRepo(contexttype, repotype string) UploaderKey

func (UploaderKey) String

func (k UploaderKey) String() string

type UploaderKeySet

type UploaderKeySet = generics.Set[UploaderKey]

Jump to

Keyboard shortcuts

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