plugin

package
v0.0.0-...-cad6cb5 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2016 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const ENDPOINT_BAD_DATA = 13
View Source
const ENDPOINT_MISSING_KEY = 12
View Source
const EXEC_FAILURE = 3
View Source
const JSON_FAILURE = 10
View Source
const NOPIPE = 0
View Source
const PLUGIN_FAILURE = 4
View Source
const RESTORE_KEY_REQUIRED = 11
View Source
const STDIN = 1
View Source
const STDOUT = 2
View Source
const SUCCESS = 0
View Source
const UNSUPPORTED_ACTION = 2
View Source
const USAGE = 1

Variables

View Source
var UNIMPLEMENTED = UnsupportedActionError{}

Functions

func DEBUG

func DEBUG(format string, args ...interface{})

func Exec

func Exec(cmdString string, flags int) error

func ExecWithOptions

func ExecWithOptions(opts ExecOptions) error

func GenUUID

func GenUUID() string

func Run

func Run(p Plugin)

Types

type EndpointDataTypeMismatchError

type EndpointDataTypeMismatchError struct {
	Key         string
	DesiredType string
}

func (EndpointDataTypeMismatchError) Error

type EndpointMissingRequiredDataError

type EndpointMissingRequiredDataError struct {
	Key string
}

func (EndpointMissingRequiredDataError) Error

type ExecFailure

type ExecFailure struct {
	Err string
}

func (ExecFailure) Error

func (e ExecFailure) Error() string

type ExecOptions

type ExecOptions struct {
	Stdout   *os.File
	Stdin    *os.File
	Stderr   *os.File
	Cmd      string
	ExpectRC []int
}

type JSONError

type JSONError struct {
	Err string
}

func (JSONError) Error

func (e JSONError) Error() string

type MissingRestoreKeyError

type MissingRestoreKeyError struct{}

func (MissingRestoreKeyError) Error

func (e MissingRestoreKeyError) Error() string

type Plugin

type Plugin interface {
	Backup(ShieldEndpoint) error
	Restore(ShieldEndpoint) error
	Store(ShieldEndpoint) (string, error)
	Retrieve(ShieldEndpoint, string) error
	Purge(ShieldEndpoint, string) error
	Meta() PluginInfo
}

type PluginFeatures

type PluginFeatures struct {
	Target string `json:"target"`
	Store  string `json:"store"`
}

type PluginInfo

type PluginInfo struct {
	Name     string         `json:"name"`
	Author   string         `json:"author"`
	Version  string         `json:"version"`
	Features PluginFeatures `json:"features"`
}

type PluginOpts

type PluginOpts struct {
	Debug   bool `goptions:"-D, --debug, description='Enable debugging'"`
	Version bool `goptions:"-v, --version, description='Display version information'"`
	Action  goptions.Verbs
	Info    struct {
	} `goptions:"info"`
	Backup struct {
		Endpoint string `goptions:"-e, --endpoint, obligatory, description='JSON string representing backup target'"`
	} `goptions:"backup"`
	Restore struct {
		Endpoint string `goptions:"-e, --endpoint, obligatory, description='JSON string representing backup target'"`
	} `goptions:"restore"`
	Store struct {
		Endpoint string `goptions:"-e, --endpoint, obligatory, description='JSON string representing store endpoint'"`
	} `goptions:"store"`
	Retrieve struct {
		Endpoint string `goptions:"-e, --endpoint, obligatory, description='JSON string representing retrieve endpoint'"`
		Key      string `goptions:"-k, --key, obligatory, description='Key of blob to retrieve from storage'"`
	} `goptions:"retrieve"`
	Purge struct {
		Endpoint string `goptions:"-e, --endpoint, obligatory, description='JSON string representing purge endpoint'"`
		Key      string `goptions:"-k, --key, obligatory, description='Key of blob to purge from storage'"`
	} `goptions:"purge"`
}

type ShieldEndpoint

type ShieldEndpoint map[string]interface{}

func (ShieldEndpoint) ArrayValue

func (endpoint ShieldEndpoint) ArrayValue(key string) ([]interface{}, error)

func (ShieldEndpoint) BooleanValue

func (endpoint ShieldEndpoint) BooleanValue(key string) (bool, error)

func (ShieldEndpoint) FloatValue

func (endpoint ShieldEndpoint) FloatValue(key string) (float64, error)

func (ShieldEndpoint) MapValue

func (endpoint ShieldEndpoint) MapValue(key string) (map[string]interface{}, error)

func (ShieldEndpoint) StringValue

func (endpoint ShieldEndpoint) StringValue(key string) (string, error)

type UnsupportedActionError

type UnsupportedActionError struct {
	Action string
}

func (UnsupportedActionError) Error

func (e UnsupportedActionError) Error() string

Directories

Path Synopsis
The `docker-postgres` plugin for SHIELD implements backup + restore functionality specific to the `docker-boshrelease`'s cf-containers-broker, in conjunction with Postgres docker containers.
The `docker-postgres` plugin for SHIELD implements backup + restore functionality specific to the `docker-boshrelease`'s cf-containers-broker, in conjunction with Postgres docker containers.
The `fs` plugin for SHIELD implements generic backup + restore functionality for filesystem based backups.
The `fs` plugin for SHIELD implements generic backup + restore functionality for filesystem based backups.
The `mysql` plugin for SHIELD implements generic backup + restore functionality for a MySQL-compatible server.
The `mysql` plugin for SHIELD implements generic backup + restore functionality for a MySQL-compatible server.
The `postgres` plugin for SHIELD is intended to be a generic backup/restore plugin for a postgres server.
The `postgres` plugin for SHIELD is intended to be a generic backup/restore plugin for a postgres server.
The `rabbitmq-broker` plugin for SHIELD implements backup + restore functionality for Pivotal's cf-rabbitmq-release RabbitMQ Service Broker BOSH release.
The `rabbitmq-broker` plugin for SHIELD implements backup + restore functionality for Pivotal's cf-rabbitmq-release RabbitMQ Service Broker BOSH release.
The `redis-broker` plugin for SHIELD implements backup + restore functionality for Piovtal's cf-redis-release (Redis Service + Broker for CloudFoundry).
The `redis-broker` plugin for SHIELD implements backup + restore functionality for Piovtal's cf-redis-release (Redis Service + Broker for CloudFoundry).
The `s3` plugin for SHIELD is intended to be a back-end storage plugin, wrapping Amazon's Simple Storage Service (S3).
The `s3` plugin for SHIELD is intended to be a back-end storage plugin, wrapping Amazon's Simple Storage Service (S3).

Jump to

Keyboard shortcuts

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