internal

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bundle

type Bundle struct {
	ID          BundleID
	Name        BundleName
	Version     semver.Version
	Description string
	Plans       map[BundlePlanID]BundlePlan
	Metadata    BundleMetadata
	Tags        []BundleTag
	Bindable    bool
}

Bundle represents bundle as defined by OSB API.

type BundleID

type BundleID string

BundleID is a Bundle identifier as defined by Open Service Broker API.

type BundleMetadata

type BundleMetadata struct {
	DisplayName         string
	ProviderDisplayName string
	LongDescription     string
	DocumentationURL    string
	SupportURL          string
	// ImageURL is graphical representation of the bundle.
	// Currently SVG is required.
	ImageURL string
}

BundleMetadata holds bundle metadata as defined by OSB API.

func (BundleMetadata) ToMap

func (b BundleMetadata) ToMap() map[string]interface{}

ToMap collect data from BundleMetadata to format compatible with YAML encoder.

type BundleName

type BundleName string

BundleName is a Bundle name as defined by Open Service Broker API.

type BundlePlan

type BundlePlan struct {
	ID           BundlePlanID
	Name         BundlePlanName
	Description  string
	Schemas      map[PlanSchemaType]PlanSchema
	ChartRef     ChartRef
	ChartValues  ChartValues
	Metadata     BundlePlanMetadata
	Bindable     *bool
	BindTemplate BundlePlanBindTemplate
}

BundlePlan is a container for whole data of bundle plan. Each bundle needs to have at least one plan.

type BundlePlanBindTemplate

type BundlePlanBindTemplate []byte

BundlePlanBindTemplate represents template used for helm chart installation

type BundlePlanID

type BundlePlanID string

BundlePlanID is an identifier of Bundle plan as defined by Open Service Broker API.

type BundlePlanMetadata

type BundlePlanMetadata struct {
	DisplayName string
}

BundlePlanMetadata provides metadata of the bundle.

func (BundlePlanMetadata) ToMap

func (b BundlePlanMetadata) ToMap() map[string]interface{}

ToMap function is converting Metadata to format compatible with YAML encoder.

type BundlePlanName

type BundlePlanName string

BundlePlanName is the name of the Bundle plan as defined by Open Service Broker API

type BundleTag

type BundleTag string

BundleTag is a Tag attached to Bundle.

type ChartName

type ChartName string

ChartName is a type expressing name of the chart

type ChartRef

type ChartRef struct {
	Name    ChartName
	Version semver.Version
}

ChartRef provide reference to bundle's chart

func (*ChartRef) GobDecode

func (cr *ChartRef) GobDecode(in []byte) error

GobDecode is decoding chart info

func (ChartRef) GobEncode

func (cr ChartRef) GobEncode() ([]byte, error)

GobEncode implements GobEncoder for custom encoding

type ChartValues

type ChartValues map[string]interface{}

ChartValues are used as container for chart's values. It's currently populated from yaml file or request parameters. TODO: switch to more concrete type

type Instance

type Instance struct {
	ID            InstanceID
	ServiceID     ServiceID
	ServicePlanID ServicePlanID
	ReleaseName   ReleaseName
	Namespace     Namespace
	ParamsHash    string
}

Instance contains info about Service exposed via Service Catalog.

type InstanceBindData

type InstanceBindData struct {
	InstanceID  InstanceID
	Credentials InstanceCredentials
}

InstanceBindData contains data about service instance and it's credentials.

type InstanceCredentials

type InstanceCredentials map[string]string

InstanceCredentials are created when we bind a service instance.

type InstanceID

type InstanceID string

InstanceID is a service instance identifier.

func (InstanceID) IsZero

func (id InstanceID) IsZero() bool

IsZero checks if InstanceID equals zero.

type InstanceOperation

type InstanceOperation struct {
	InstanceID       InstanceID
	OperationID      OperationID
	Type             OperationType
	State            OperationState
	StateDescription *string

	// ParamsHash is an immutable hash for operation parameters
	// used to match requests.
	ParamsHash string

	// CreatedAt points to creation time of the operation.
	// Field should be treated as immutable and is responsibility of storage implementation.
	// It should be set by storage Insert method.
	CreatedAt time.Time
}

InstanceOperation represents single operation.

type Namespace

type Namespace string

Namespace is the name of namespace in k8s

type OperationID

type OperationID string

OperationID is used as binding operation identifier.

func (OperationID) IsZero

func (id OperationID) IsZero() bool

IsZero checks if OperationID equals zero

type OperationState

type OperationState string

OperationState defines the possible states of an asynchronous request to a broker.

const (
	// OperationStateInProgress means that operation is in progress
	OperationStateInProgress OperationState = "in progress"
	// OperationStateSucceeded means that request succeeded
	OperationStateSucceeded OperationState = "succeeded"
	// OperationStateFailed means that request failed
	OperationStateFailed OperationState = "failed"
)

func (OperationState) String

func (os OperationState) String() string

String returns state of the operation.

type OperationType

type OperationType string

OperationType defines the possible types of an asynchronous operation to a broker.

const (
	// OperationTypeCreate means creating OperationType
	OperationTypeCreate OperationType = "create"
	// OperationTypeRemove means removing OperationType
	OperationTypeRemove OperationType = "remove"
	// OperationTypeUndefined means undefined OperationType
	OperationTypeUndefined OperationType = ""
)

type PlanSchema

type PlanSchema jsonschema.Schema

PlanSchema is schema definition used for creating parameters

type PlanSchemaType

type PlanSchemaType string

PlanSchemaType describes type of the schema file.

const (
	// SchemaTypeBind represents 'bind' schema plan
	SchemaTypeBind PlanSchemaType = "bind"
	// SchemaTypeProvision represents 'provision' schema plan
	SchemaTypeProvision PlanSchemaType = "provision"
	// SchemaTypeUpdate represents 'update' schema plan
	SchemaTypeUpdate PlanSchemaType = "update"
)

type ReleaseName

type ReleaseName string

ReleaseName is the name of the Helm (Tiller) release.

type ServiceID

type ServiceID string

ServiceID is an ID of the Service exposed via Service Catalog.

type ServicePlanID

type ServicePlanID string

ServicePlanID is an ID of the Plan of Service exposed via Service Catalog.

Directories

Path Synopsis
automock
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
automock
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0
platform
logger/spy
Package spy provides an implementation of go-sdk.logger that helps test logging.
Package spy provides an implementation of go-sdk.logger that helps test logging.
testing
Package testing provides test functions for storage.
Package testing provides test functions for storage.
automock
Code generated by mockery v1.0.0
Code generated by mockery v1.0.0

Jump to

Keyboard shortcuts

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