internal

package
v0.0.0-...-1ac4f16 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2019 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
	Repository          RemoteRepository
	Tags                []BundleTag
	Requires            []string
	Bindable            bool
	BindingsRetrievable bool
	PlanUpdatable       *bool
}

Bundle represents bundle as defined by OSB API.

func (Bundle) IsProvisioningAllowed

func (b Bundle) IsProvisioningAllowed(namespace Namespace, collection []*Instance) bool

IsProvisioningAllowed determines bundle can be provision on indicated namespace if bundle has provisionOnlyOnce flag on true then check if bundle already exist in this namespace

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
	ProvisionOnlyOnce   bool
	// ImageURL is graphical representation of the bundle.
	// Currently SVG is required.
	ImageURL string
	Labels   Labels
}

BundleMetadata holds bundle metadata as defined by OSB API.

func (BundleMetadata) DeepCopy

func (b BundleMetadata) DeepCopy() BundleMetadata

DeepCopy returns a new BundleMetadata object.

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
	Free         *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 Labels

type Labels map[string]string

Labels are key-value pairs which add metadata information for bundle.

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 RemoteRepository

type RemoteRepository struct {
	URL string
}

RemoteRepository contains information about the repository which contains the given bundle.

func (RemoteRepository) ID

func (r RemoteRepository) ID() string

ID returns an identifier of a repository which is the repository URL.

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 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 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 Code generated by mockery v1.0.0 Code generated by mockery v1.0.0
Code generated by mockery v1.0.0 Code generated by mockery v1.0.0 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.

Jump to

Keyboard shortcuts

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