group

package
v0.0.0-...-a355528 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2017 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InterfaceSpec = spi.InterfaceSpec{
	Name:    "Group",
	Version: "0.1.0",
}

InterfaceSpec is the current name and version of the Group API.

Functions

This section is empty.

Types

type Description

type Description struct {
	Instances []instance.Description
	Converged bool
}

Description is a placeholder for the reported state of a Group.

type ID

type ID string

ID is the unique identifier for a Group.

type Plugin

type Plugin interface {
	CommitGroup(grp Spec, pretend bool) (string, error)

	FreeGroup(ID) error

	DescribeGroup(ID) (Description, error)

	DestroyGroup(ID) error

	InspectGroups() ([]Spec, error)

	// DestroyInstances deletes instances from this group. Error is returned either on
	// failure or if any instances don't belong to the group. This function
	// should wait until group size is updated.
	DestroyInstances(ID, []instance.ID) error

	// Size returns the current size of the group.
	Size(ID) (int, error)

	// SetSize sets the size.
	// This function should block until completion.
	SetSize(ID, int) error
}

Plugin defines the functions for a Group plugin.

type Spec

type Spec struct {
	// ID is the unique identifier for the group.
	ID ID

	// Properties is the configuration for the group.
	// The schema for the raw Any can be found as the *.Spec of the plugin used.
	// For instance, if the default group plugin is used, the value here will be
	// an Any / encoded representation of github.com/docker/infrakit/plugin/group/types.Spec
	Properties *types.Any
}

Spec is the specification for a Group. The full schema for a Group is defined by the plugin. In general, a Spec of an entity is set as the raw JSON value of another object's Properties.

Jump to

Keyboard shortcuts

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