plugin

package
v6.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: May 16, 2016 License: MIT Imports: 10 Imported by: 47

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 added in v0.4.1

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 added in v0.4.1

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 {
	Validate(ShieldEndpoint) error
	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"`
	Validate struct {
		Endpoint string `goptions:"-e, --endpoint, obligatory, description='JSON string representing backup target'"`
	} `goptions:"validate"`
	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) BooleanValueDefault added in v0.6.4

func (endpoint ShieldEndpoint) BooleanValueDefault(key string, def bool) (bool, error)

func (ShieldEndpoint) FloatValue

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

func (ShieldEndpoint) FloatValueDefault added in v0.6.4

func (endpoint ShieldEndpoint) FloatValueDefault(key string, def float64) (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)

func (ShieldEndpoint) StringValueDefault added in v0.6.4

func (endpoint ShieldEndpoint) StringValueDefault(key string, def 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