model

package
v0.26.4 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2018 License: Apache-2.0 Imports: 5 Imported by: 118

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AvailableSolution added in v0.11.3

type AvailableSolution struct {
	ID     string          `json:"id,omitempty" yaml:"id,omitempty"`
	Name   string          `json:"name" yaml:"name"`
	Limits *SolutionLimits `json:"limits" yaml:"limits"`
	Images []string        `json:"images" yaml:"images"`
	URL    string          `json:"url" yaml:"url"`
	Active bool            `json:"active" yaml:"active"`
}

AvailableSolution -- solution which user can run

swagger:model

func (AvailableSolution) Copy added in v0.11.3

func (solution AvailableSolution) Copy() AvailableSolution

type AvailableSolutionsList added in v0.11.3

type AvailableSolutionsList struct {
	Solutions []AvailableSolution `json:"solutions"`
}

AvailableSolutionsList -- list of available solutions

swagger:model

func (AvailableSolutionsList) Copy added in v0.11.3

func (AvailableSolutionsList) Filter added in v0.11.3

func (AvailableSolutionsList) Get added in v0.11.3

func (AvailableSolutionsList) Len added in v0.11.3

func (list AvailableSolutionsList) Len() int

type CheckTokenResponse

type CheckTokenResponse struct {
	Access struct {
		Namespace []Resource `json:"namespace"`
		Volume    []Resource `json:"volume"`
	} `json:"access"`
}

CheckTokenResponse --

type ConfigFile added in v0.11.3

type ConfigFile struct {
	Name string `json:"config_file"`
	Type string `json:"type"`
}

type ConfigMap

type ConfigMap struct {
	// required: true
	Name string `json:"name" yaml:"name"`
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
	//delete date in RFC3339 format
	DeletedAt string `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
	// key-value data
	//
	// required: true
	Data  ConfigMapData `json:"data" yaml:"data"`
	Owner string        `json:"owner,omitempty" yaml:"owner,omitempty"`
}

ConfigMap -- model for config map

swagger:model

func (*ConfigMap) Mask added in v0.16.0

func (cm *ConfigMap) Mask()

Mask removes information not interesting for users

type ConfigMapData added in v0.12.0

type ConfigMapData map[string]string

ConfigMapData -- model for config map data

swagger:model

type ConfigMapsList added in v0.16.0

type ConfigMapsList struct {
	ConfigMaps []ConfigMap `json:"configmaps"`
}

ConfigMapsList -- model for config maps list

swagger:model

type Container

type Container struct {
	// required: true
	Image string `json:"image"`
	// required: true
	Name string `json:"name"`
	// required: true
	Limits       Resource          `json:"limits"`
	Env          []Env             `json:"env,omitempty"`
	Commands     []string          `json:"commands,omitempty"`
	Ports        []ContainerPort   `json:"ports,omitempty"`
	VolumeMounts []ContainerVolume `json:"volume_mounts,omitempty"`
	ConfigMaps   []ContainerVolume `json:"config_maps,omitempty"`
}

Container -- model for container in deployment

swagger:model

func (*Container) AddEnv added in v0.19.9

func (container *Container) AddEnv(env Env)

func (*Container) GetEnv added in v0.19.9

func (container *Container) GetEnv(name string) (Env, bool)

func (*Container) GetEnvMap added in v0.19.9

func (container *Container) GetEnvMap() map[string]string

func (*Container) PutEnvMap added in v0.19.9

func (container *Container) PutEnvMap(envs map[string]string)

func (Container) Version added in v0.19.7

func (container Container) Version() string

type ContainerPort

type ContainerPort struct {
	// required: true
	Name string `json:"name"`
	// required: true
	Port int `json:"port"`
	// required: true
	Protocol Protocol `json:"protocol"`
}

ContainerPort -- model for port in container

swagger:model

type ContainerVolume

type ContainerVolume struct {
	Name string  `json:"name"`
	Mode *string `json:"mode,omitempty"`
	// required: true
	MountPath string  `json:"mount_path"`
	SubPath   *string `json:"sub_path,omitempty"`
}

ContainerVolume -- volume (or config map) mounted in container

swagger:model

type CreateVolume

type CreateVolume struct {
	TariffID string `json:"tariff_id"`
	Label    string `json:"label"`
}

CreateVolume --

type Deployment

type Deployment struct {
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
	//delete date in RFC3339 format
	DeletedAt string            `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
	Status    *DeploymentStatus `json:"status,omitempty" yaml:"status,omitempty"`
	// required: true
	Containers []Container `json:"containers" yaml:"containers"`
	// required: true
	Name string `json:"name" yaml:"name"`
	// required: true
	Replicas int `json:"replicas" yaml:"replicas"`
	//total CPU usage by all containers in this deployment
	TotalCPU uint `json:"total_cpu,omitempty" yaml:"total_cpu,omitempty"`
	//total RAM usage by all containers in this deployment
	TotalMemory uint `json:"total_memory,omitempty"`
	//Solution ID (only if deployment is part of solution)
	SolutionID string         `json:"solution_id,omitempty" yaml:"solution_id,omitempty"`
	Owner      string         `json:"owner,omitempty" yaml:"owner,omitempty"`
	Active     bool           `json:"active" yaml:"active"`
	Version    semver.Version `json:"version" yaml:"version"`
}

Deployment -- model for deployments

swagger:model

func (Deployment) ContainersAndImages added in v0.19.7

func (deployment Deployment) ContainersAndImages() []string

func (Deployment) ContainersNames added in v0.19.7

func (deployment Deployment) ContainersNames() []string

func (Deployment) Images added in v0.19.7

func (deployment Deployment) Images() []Image

func (Deployment) ImagesNames added in v0.19.7

func (deployment Deployment) ImagesNames() []string

func (*Deployment) Mask added in v0.16.0

func (deploy *Deployment) Mask()

Mask removes information not interesting for users

type DeploymentDiff added in v0.23.9

type DeploymentDiff struct {
	Diff string `json:"diff"`
}

DeploymentDiff -- model for deployments diff

swagger:model

type DeploymentStatus

type DeploymentStatus struct {
	Replicas            int `json:"replicas"`
	ReadyReplicas       int `json:"ready_replicas"`
	AvailableReplicas   int `json:"available_replicas"`
	UnavailableReplicas int `json:"unavailable_replicas"`
	UpdatedReplicas     int `json:"updated_replicas"`
}

DeploymentStatus -- kubernetes status of deployment

swagger:model

type DeploymentVersion added in v0.19.5

type DeploymentVersion struct {
	Version string `json:"version"`
}

DeploymentVersion -- model for deployment version update

swagger:model

type DeploymentsList added in v0.16.0

type DeploymentsList struct {
	Deployments []Deployment `json:"deployments"`
}

DeploymentsList -- model for deployments list

swagger:model

type Env

type Env struct {
	// required: true
	Value string `json:"value"`
	// required: true
	Name string `json:"name"`
}

Env -- key-value pair of environment variables

swagger:model

type Image added in v0.19.7

type Image struct {
	Name string
	Tag  string
}

func ImageFromString added in v0.19.7

func ImageFromString(str string) (Image, error)

func (Image) String added in v0.19.7

func (image Image) String() string

type Ingress

type Ingress struct {
	// required: true
	Name string `json:"name" yaml:"name"`
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
	//delete date in RFC3339 format
	DeletedAt string `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
	// required: true
	Rules []Rule `json:"rules" yaml:"rules"`
	Owner string `json:"owner,omitempty" yaml:"owner,omitempty"`
}

Ingress -- model for ingress

swagger:model

func (*Ingress) Mask added in v0.16.0

func (ingress *Ingress) Mask()

Mask removes information not interesting for users

type IngressesList added in v0.16.0

type IngressesList struct {
	Ingress []Ingress `json:"ingresses"`
}

IngressesList -- model for ingresses list

swagger:model

type Login

type Login struct {
	Login     string  `json:"login"`
	Password  string  `json:"password"`
	Recaptcha *string `json:"recaptcha,omitempty"`
}

Login --

type Namespace

type Namespace struct {
	ID string `json:"id,omitempty"`
	//creation date in RFC3339 format
	CreatedAt  *string `json:"created_at,omitempty"`
	Owner      string  `json:"owner,omitempty"`
	OwnerLogin string  `json:"owner_login,omitempty"`
	// user-visible label for the namespace
	Label         string          `json:"label,omitempty"`
	Access        UserGroupAccess `json:"access,omitempty"`
	TariffID      string          `json:"tariff_id,omitempty"`
	MaxExtService uint            `json:"max_ext_service,omitempty"`
	MaxIntService uint            `json:"max_int_service,omitempty"`
	MaxTraffic    uint            `json:"max_traffic,omitempty"`
	// required: true
	Resources Resources    `json:"resources,omitempty"`
	Users     []UserAccess `json:"users,omitempty"`
}

Namespace -- namespace representation

swagger:model

func (*Namespace) Mask added in v0.16.0

func (ns *Namespace) Mask()

Mask removes information not interesting for users

type NamespacesList added in v0.16.0

type NamespacesList struct {
	Namespaces []Namespace `json:"namespaces"`
}

NamespacesList -- model for namespaces list

swagger:model

type Path

type Path struct {
	// required: true
	Path string `json:"path" yaml:"path"`
	// required: true
	ServiceName string `json:"service_name" yaml:"service_name"`
	// required: true
	ServicePort int `json:"service_port" yaml:"service_port"`
}

Path -- ingress path

swagger:model

type PersistentVolumeAccessMode added in v0.14.3

type PersistentVolumeAccessMode string
const (
	// can be mounted read/write mode to exactly 1 host
	ReadWriteOnce PersistentVolumeAccessMode = "ReadWriteOnce"
	// can be mounted in read-only mode to many hosts
	ReadOnlyMany PersistentVolumeAccessMode = "ReadOnlyMany"
	// can be mounted in read/write mode to many hosts
	ReadWriteMany PersistentVolumeAccessMode = "ReadWriteMany"
)

type Pod

type Pod struct {
	//creation date in RFC3339 format
	CreatedAt       *string            `json:"created_at,omitempty"`
	Name            string             `json:"name"`
	Owner           string             `json:"owner"`
	Containers      []Container        `json:"containers"`
	ImagePullSecret *map[string]string `json:"image_pull_secret,omitempty"`
	Status          *PodStatus         `json:"status,omitempty"`
	Deploy          *string            `json:"deploy,omitempty"`
	//total CPU usage by all containers in this pod
	TotalCPU uint `json:"total_cpu,omitempty"`
	//total RAM usage by all containers in this pod
	TotalMemory uint `json:"total_memory,omitempty"`
}

Pod -- model for pod

swagger:model

func (*Pod) Mask added in v0.17.2

func (pod *Pod) Mask()

Mask removes information not interesting for users

type PodStatus

type PodStatus struct {
	Phase        string `json:"phase"`
	RestartCount int    `json:"restart_count"`
	//pod start date in RFC3339 format
	StartAt string `json:"start_at"`
}

PodStatus -- kubernetes status of pod

swagger:model

type PodsList added in v0.16.0

type PodsList struct {
	Pods []Pod `json:"pods"`
}

PodsList -- model for pods list

swagger:model

type Protocol

type Protocol string

represents port protocol type (TCP or UDP)

swagger:model

const (
	// UDP net protocol
	UDP Protocol = "UDP"
	// TCP net protocol
	TCP Protocol = "TCP"
)

type Resource

type Resource struct {
	// CPU in m
	//
	// required: true
	CPU uint `json:"cpu"`
	// RAM in Mi
	//
	// required: true
	Memory uint `json:"memory"`
}

Resource -- represents namespace CPU and RAM

swagger:model

type ResourceUpdateName

type ResourceUpdateName struct {
	Label string `json:"label"`
}

ResourceUpdateName -- contains new resource name

type ResourceUpdateUserAccess

type ResourceUpdateUserAccess struct {
	Username string          `json:"username"`
	Access   UserGroupAccess `json:"access,omitempty"`
}

ResourceUpdateUserAccess -- contains user access data

type Resources

type Resources struct {
	// Hard resource limits
	//
	// required: true
	Hard Resource  `json:"hard"`
	Used *Resource `json:"used,omitempty"`
}

Resources -- represents namespace limits and user resources.

swagger:model

type Rule

type Rule struct {
	// required: true
	Host      string  `json:"host" yaml:"host"`
	TLSSecret *string `json:"tls_secret,omitempty" yaml:"tls_secret,omitempty"`
	// required: true
	Path []Path `json:"path" yaml:"path"`
}

Rule -- ingress rule

swagger:model

type RunSolutionResponse added in v0.15.0

type RunSolutionResponse struct {
	Created    int      `json:"created"`
	NotCreated int      `json:"not_created"`
	Errors     []string `json:"errors,omitempty"`
}

RunSolutionResponse -- response to run solution request

swagger:model

type Secret

type Secret struct {
	// required: true
	Name string `json:"name"`
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty"`
	//delete date in RFC3339 format
	DeletedAt string `json:"deleted_at,omitempty"`
	// required: true
	Data  map[string]string `json:"data"`
	Owner string            `json:"owner,omitempty"`
}

model for secret

swagger:model

func (*Secret) Mask added in v0.16.0

func (secret *Secret) Mask()

Mask removes information not interesting for users

type SecretsList added in v0.16.0

type SecretsList struct {
	Secrets []Secret `json:"secrets"`
}

SecretsList -- model for secrets list

swagger:model

type SelectedConfigMapsList added in v0.16.0

type SelectedConfigMapsList map[string]map[string]ConfigMapsList

SelectedConfigMapsList -- model for config maps list from all namespaces

swagger:model

type SelectedIngressesList added in v0.16.0

type SelectedIngressesList map[string]map[string]IngressesList

SelectedIngressesList -- model for ingresses list from all namespaces

swagger:model

type Service

type Service struct {
	// required: true
	Name string `json:"name" yaml:"name"`
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
	//delete date in RFC3339 format
	DeletedAt string   `json:"deleted_at,omitempty" yaml:"deleted_at,omitempty"`
	Deploy    string   `json:"deploy,omitempty" yaml:"deploy,omitempty"`
	IPs       []string `json:"ips,omitempty" yaml:"ips,omitempty"`
	Domain    string   `json:"domain,omitempty" yaml:"domain,omitempty"`
	//Solution ID (only if service is part of solution)
	SolutionID string `json:"solution_id,omitempty" yaml:"solution_id,omitempty"`
	// required: true
	Ports []ServicePort `json:"ports" yaml:"ports"`
	Owner string        `json:"owner,omitempty" yaml:"owner,omitempty"`
}

represents service

swagger:model

func (*Service) Mask added in v0.16.0

func (svc *Service) Mask()

Mask removes information not interesting for users

type ServicePort

type ServicePort struct {
	// required: true
	Name string `json:"name" yaml:"name"`
	Port *int   `json:"port,omitempty" yaml:"port,omitempty"`
	// required: true
	TargetPort int `json:"target_port" yaml:"target_port"`
	// required: true
	Protocol Protocol `json:"protocol" yaml:"protocol"`
}

represent service port

swagger:model

type ServiceType

type ServiceType string

represents service type

swagger:model

type ServicesList added in v0.16.0

type ServicesList struct {
	Services []Service `json:"services"`
}

ServicesList -- model for services list

swagger:model

type SolutionEnv added in v0.11.3

type SolutionEnv struct {
	Env map[string]string `json:"env"`
}

SolutionEnv -- solution environment variables

swagger:model

type SolutionLimits added in v0.11.3

type SolutionLimits struct {
	CPU string `json:"cpu" yaml:"cpu"`
	RAM string `json:"ram" yaml:"cpu"`
}

SolutionLimits -- solution resources limits

swagger:model

type SolutionResources added in v0.11.3

type SolutionResources struct {
	Resources map[string]int `json:"resources"`
}

SolutionResources -- list of solution resources

swagger:model

func (SolutionResources) Copy added in v0.11.3

type Tokens

type Tokens struct {
	AccessToken  string `json:"access_token"`
	RefreshToken string `json:"refresh_token"`
}

Tokens --

type UpdateImage

type UpdateImage struct {
	// required: true
	Container string `json:"container_name"`
	// required: true
	Image string `json:"image"`
}

UpdateImage -- model for update container image request

swagger:model

type UpdateNamespaceName

type UpdateNamespaceName struct {
	// required: true
	Label string `json:"label"`
}

UpdateNamespaceName -- contains new namespace label

swagger:model

type UpdateReplicas

type UpdateReplicas struct {
	// required: true
	Replicas int `json:"replicas"`
}

UpdateReplicas -- contains new number of replicas

swagger:model

type User

type User struct {
	Login     string   `json:"login"`
	Data      UserData `json:"data"`
	ID        string   `json:"id"`
	IsActive  bool     `json:"is_active"`
	CreatedAt string   `json:"created_at"`
}

User --

type UserAccess added in v0.13.2

type UserAccess struct {
	Username    string          `json:"username"`
	AccessLevel UserGroupAccess `json:"access_level"`
}

func (UserAccess) String added in v0.13.2

func (access UserAccess) String() string

type UserData

type UserData struct {
	Email          string `json:"email"`
	Address        string `json:"address"`
	Phone          string `json:"phone"`
	FirstName      string `json:"first_name"`
	LastName       string `json:"last_name"`
	IsOrganization bool   `json:"is_organization"`
	TaxCode        string `json:"tax_code"`
	Company        string `json:"company"`
}

UserData --

type UserGroup added in v0.17.5

type UserGroup struct {
	ID         string `json:"id,omitempty"`
	Label      string `json:"label"`
	OwnerID    string `json:"owner_user_id,omitempty"`
	OwnerLogin string `json:"owner_login,omitempty"`
	*UserGroupMembers
	MembersCount uint            `json:"members_count,omitempty"`
	UserAccess   UserGroupAccess `json:"access,omitempty"`
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty"`
}

UserGroup -- group of users

swagger:model

type UserGroupAccess added in v0.17.5

type UserGroupAccess uint
const (
	AccessNone UserGroupAccess = iota
	AccessGuest
	AccessMember
	AccessMaster
	AccessAdmin
)

func UserGroupAccessString added in v0.25.0

func UserGroupAccessString(s string) (UserGroupAccess, error)

UserGroupAccessString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func UserGroupAccessValues added in v0.25.0

func UserGroupAccessValues() []UserGroupAccess

UserGroupAccessValues returns all values of the enum

func (UserGroupAccess) IsAUserGroupAccess added in v0.25.0

func (i UserGroupAccess) IsAUserGroupAccess() bool

IsAUserGroupAccess returns "true" if the value is listed in the enum definition. "false" otherwise

func (UserGroupAccess) MarshalJSON added in v0.25.0

func (i UserGroupAccess) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for UserGroupAccess

func (UserGroupAccess) MarshalText added in v0.25.0

func (i UserGroupAccess) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for UserGroupAccess

func (UserGroupAccess) MarshalYAML added in v0.25.0

func (i UserGroupAccess) MarshalYAML() (interface{}, error)

MarshalYAML implements a YAML Marshaler for UserGroupAccess

func (*UserGroupAccess) Scan added in v0.25.0

func (i *UserGroupAccess) Scan(value interface{}) error

func (UserGroupAccess) String added in v0.25.0

func (i UserGroupAccess) String() string

func (*UserGroupAccess) UnmarshalJSON added in v0.25.0

func (i *UserGroupAccess) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface for UserGroupAccess

func (*UserGroupAccess) UnmarshalText added in v0.25.0

func (i *UserGroupAccess) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for UserGroupAccess

func (*UserGroupAccess) UnmarshalYAML added in v0.25.0

func (i *UserGroupAccess) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements a YAML Unmarshaler for UserGroupAccess

func (UserGroupAccess) Value added in v0.25.0

func (i UserGroupAccess) Value() (driver.Value, error)

type UserGroupMember added in v0.17.5

type UserGroupMember struct {
	ID       string          `json:"id,omitempty"`
	Username string          `json:"username"`
	Access   UserGroupAccess `json:"access"`
}

UserGroupMember -- group member

swagger:model

type UserGroupMembers added in v0.17.5

type UserGroupMembers struct {
	Members []UserGroupMember `json:"members"`
}

UserGroupMembers -- list of user group members

swagger:model

type UserGroups added in v0.19.1

type UserGroups struct {
	Groups []UserGroup `json:"groups"`
}

UserGroups -- list of user groups

swagger:model

type UserHeaderData

type UserHeaderData struct {
	// hosting-internal name
	// required: true
	ID string `json:"id"`
	// user-visible label for the object
	// required: true
	Label string `json:"label"`
	// one of: "admin", "master", "member", "guest", "none"
	// required: true
	Access UserGroupAccess `json:"access"`
}

represents header data for X-User-Namespace and X-User-Volume headers (encoded in base64)

type UserSolution added in v0.11.3

type UserSolution struct {
	ID     string            `json:"id,omitempty"`
	Branch string            `json:"branch"`
	Env    map[string]string `json:"env"`
	URL    string            `json:"url"`
	// required: true
	Template string `json:"template"`
	// required: true
	Name string `json:"name"`
	// required: true
	Namespace string `json:"namespace"`
}

UserSolution -- running solution

swagger:model

func (UserSolution) Copy added in v0.11.3

func (solution UserSolution) Copy() UserSolution

type UserSolutionsList added in v0.11.3

type UserSolutionsList struct {
	Solutions []UserSolution `json:"solutions"`
}

UserSolutionsList -- list of running solution

swagger:model

func (UserSolutionsList) Copy added in v0.11.3

func (UserSolutionsList) Filter added in v0.23.3

func (list UserSolutionsList) Filter(pred func(UserSolution) bool) UserSolutionsList

func (UserSolutionsList) Get added in v0.11.3

func (list UserSolutionsList) Get(i int) UserSolution

func (UserSolutionsList) Len added in v0.11.3

func (list UserSolutionsList) Len() int

type Volume

type Volume struct {
	Name string `json:"name,omitempty"`
	//creation date in RFC3339 format
	CreatedAt string `json:"created_at,omitempty"`
	//delete date in RFC3339 format
	Status      string                     `json:"status,omitempty"`
	DeletedAt   string                     `json:"deleted_at,omitempty"`
	Owner       string                     `json:"owner,omitempty"`
	OwnerLogin  string                     `json:"owner_login,omitempty"`
	Access      UserGroupAccess            `json:"access,omitempty"`
	TariffID    string                     `json:"tariff_id,omitempty"`
	Capacity    uint                       `json:"capacity,omitempty"`
	StorageName string                     `json:"storage_name,omitempty"` //AKA StorageClass
	AccessMode  PersistentVolumeAccessMode `json:"access_mode,omitempty"`
	Users       []UserAccess               `json:"users,omitempty"`
}

Volume -- volume representation

func (*Volume) Mask added in v0.16.0

func (vol *Volume) Mask()

Mask removes information not interesting for users

type VolumesList added in v0.17.1

type VolumesList struct {
	Volumes []Volume `json:"volumes"`
}

VolumesList -- model for volumes list

swagger:model

Jump to

Keyboard shortcuts

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