Documentation ¶
Index ¶
- Constants
- func MarshalIntArray(inta []int) []byte
- func New(o Options, am AgentManagerInterface) *broker
- func UnmarshalIntArray(ba []byte) []int
- type AgentManagerInterface
- type BindingRequest
- type BrokerCerts
- type BrokerError
- type BrokerService
- type BrokerServiceError
- type Catalog
- type Credentials
- type DispatcherInterface
- type DockerInfo
- type ImageDefinition
- type Options
- type Persister
- func (persister *Persister) AddBasicImageConf(service_id int, name, plan string) error
- func (persister *Persister) AddBrokerCertsConf(agent string, clientcertfile, clientkeyfile, cafile []byte) error
- func (persister *Persister) AddImageConf(service_id int, name, plan, dashboardurl, credentials string, numinstances int, ...) error
- func (persister *Persister) AddServiceAgents(serviceagents []ServiceAgent) error
- func (persister *Persister) AddServiceBinding(instanceId, bindingId, appId string, started_at time.Time) error
- func (persister *Persister) AddServiceConf(user, password, catalog string) error
- func (persister *Persister) AddServiceInstance(service_name string, service_port, host_port int, ...) error
- func (persister *Persister) AddorUpdateServiceAgent(sa ServiceAgent) error
- func (persister *Persister) Connect() error
- func (persister *Persister) DeleteBrokerCertsConf(agent string) error
- func (persister *Persister) DeleteImageConf(service_id int, name, plan string) error
- func (persister *Persister) DeleteServiceBinding(instanceId, bindingId string) error
- func (persister *Persister) DeleteServiceConf(id int) error
- func (persister *Persister) DeleteServiceInstance(instanceId string) error
- func (persister *Persister) GetBrokerCerts() ([]BrokerCerts, error)
- func (persister *Persister) GetContainerIdAndImageName(instanceid string) (string, string)
- func (persister *Persister) GetCount(tablename, cond string) (int32, error)
- func (persister *Persister) GetPortBindings(cond string) (int, int, []int, error)
- func (persister *Persister) GetServiceAgentFromInstance(cond string) (string, error)
- func (persister *Persister) GetServiceAgentList(cond string) ([]ServiceAgent, error)
- func (persister *Persister) GetServiceConf() ([]ServiceDefinition, error)
- func (persister *Persister) GetServiceId(catalog string) int
- func (persister *Persister) GetServicePort(instanceid string) int
- func (persister *Persister) GetServiceUrl(cond string) string
- func (persister *Persister) HasEntry(tablename, cond string) bool
- func (persister *Persister) InsertTable(tablename string, colmap map[string]interface{}) error
- func (persister *Persister) MarkServiceAgentActive(Host string) error
- func (persister *Persister) MarkServiceAgentInactive(Host string) error
- func (persister *Persister) ReadContainers(container_map map[string]string) error
- func (persister *Persister) TimeElapsed(eventtime string) string
- func (persister *Persister) UpdateTable(tablename string, colmap map[string]interface{}, cond string) error
- func (persister *Persister) UrlString4MySQL() string
- func (persister *Persister) UrlString4Postgres() string
- func (persister *Persister) WritePortBinding(ports []int, cond string) error
- type Plan
- type ProvisioningRequest
- type Service
- type ServiceAgent
- type ServiceDefinition
- type Version
Constants ¶
View Source
const ( MYSQL = 1 SQLITE = 2 POSTGRES = 3 )
View Source
const ( // Raised by Broker Service if service instance or service instance binding already exists ErrCodeConflict = 10 // Raised by Broker Service if service instance or service instance binding cannot be found ErrCodeGone = 20 // Raised by Broker Service for any other issues ErrCodeOther = 99 )
Variables ¶
This section is empty.
Functions ¶
func MarshalIntArray ¶
func New ¶
func New(o Options, am AgentManagerInterface) *broker
func UnmarshalIntArray ¶
Types ¶
type AgentManagerInterface ¶
type AgentManagerInterface interface { Ping(ServiceAgent) error Catalog() (Catalog, error) GetServiceAgent(instanceid string) (BrokerService, error) AddImage(string, ImageDefinition) error GetImage(string, string) ([]ImageDefinition, error) DeleteImage(string, string) error AddCerts(BrokerCerts) error GetCerts(string) ([]BrokerCerts, error) DeleteCerts(string) error }
type BindingRequest ¶
type BindingRequest struct { InstanceId string `json:"-"` BindingId string `json:"-"` ServiceId string `json:"service_id"` PlanId string `json:"plan_id"` AppId string `json:"app_guid"` }
See http://docs.cloudfoundry.com/docs/running/architecture/services/api.html#binding
type BrokerCerts ¶
type BrokerService ¶
type BrokerService interface { // Exposes the catalog of services managed by this broker. // Returns the exposed catalog. Catalog() (Catalog, error) // Creates a service instance of a specified service and plan. // Returns the optional management URL. Provision(ProvisioningRequest) (string, error) // Removes created service instance. Deprovision(ProvisioningRequest) error // Binds to specified service instance. // Returns credentials necessary to establish connection to this // service instance as well as optional syslog drain URL. Bind(BindingRequest) (string, Credentials, string, error) // Removes created binding. Unbind(BindingRequest) error }
The BrokerService defines the internal API used by the broker's HTTP endpoints.
type BrokerServiceError ¶
type Catalog ¶
type Catalog struct {
Services []Service `json:"services"`
}
See http://docs.cloudfoundry.com/docs/running/architecture/services/api.html#catalog-mgmt
type Credentials ¶
type Credentials map[string]interface{}
type DispatcherInterface ¶
type DispatcherInterface interface { //algorithm implementation to find best ServiceAgent for provisioning NewBrokerService() (BrokerService, error) }
type DockerInfo ¶
type ImageDefinition ¶
type Persister ¶
type Persister struct { Driver string Host string Port int User string Password string Database string Db *sql.DB }
func (*Persister) AddBasicImageConf ¶
func (*Persister) AddBrokerCertsConf ¶
func (*Persister) AddImageConf ¶
func (*Persister) AddServiceAgents ¶
func (persister *Persister) AddServiceAgents(serviceagents []ServiceAgent) error
func (*Persister) AddServiceBinding ¶
func (*Persister) AddServiceConf ¶
func (*Persister) AddServiceInstance ¶
func (*Persister) AddorUpdateServiceAgent ¶
func (persister *Persister) AddorUpdateServiceAgent(sa ServiceAgent) error
func (*Persister) DeleteBrokerCertsConf ¶
func (*Persister) DeleteImageConf ¶
func (*Persister) DeleteServiceBinding ¶
func (*Persister) DeleteServiceConf ¶
func (*Persister) DeleteServiceInstance ¶
func (*Persister) GetBrokerCerts ¶
func (persister *Persister) GetBrokerCerts() ([]BrokerCerts, error)
func (*Persister) GetContainerIdAndImageName ¶
func (*Persister) GetPortBindings ¶
func (*Persister) GetServiceAgentFromInstance ¶
func (*Persister) GetServiceAgentList ¶
func (persister *Persister) GetServiceAgentList(cond string) ([]ServiceAgent, error)
func (*Persister) GetServiceConf ¶
func (persister *Persister) GetServiceConf() ([]ServiceDefinition, error)
func (*Persister) GetServiceId ¶
func (*Persister) GetServicePort ¶
func (*Persister) GetServiceUrl ¶
func (*Persister) InsertTable ¶
func (*Persister) MarkServiceAgentActive ¶
func (*Persister) MarkServiceAgentInactive ¶
func (*Persister) ReadContainers ¶
func (*Persister) TimeElapsed ¶
func (*Persister) UpdateTable ¶
func (*Persister) UrlString4MySQL ¶
func (*Persister) UrlString4Postgres ¶
type Plan ¶
type Plan struct { Id string `json:"id"` Name string `json:"name"` Description string `json:"description"` Metadata map[string]interface{} `json:"metadata,omitempty"` }
See http://docs.cloudfoundry.com/docs/running/architecture/services/api.html#catalog-mgmt
type ProvisioningRequest ¶
type ProvisioningRequest struct { InstanceId string `json:"-"` ServiceId string `json:"service_id"` PlanId string `json:"plan_id"` OrgId string `json:"organization_guid"` SpaceId string `json:"space_guid"` }
See http://docs.cloudfoundry.com/docs/running/architecture/services/api.html#provisioning
type Service ¶
type Service struct { Id string `json:"id"` Name string `json:"name"` Description string `json:"description"` Bindable bool `json:"bindable"` Tags []string `json:"tags,omitempty"` Requires []string `json:"requires,omitempty"` Plans []Plan `json:"plans"` Metadata map[string]interface{} `json:"metadata,omitempty"` }
See http://docs.cloudfoundry.com/docs/running/architecture/services/api.html#catalog-mgmt
type ServiceAgent ¶
type ServiceDefinition ¶
type ServiceDefinition struct { User string Password string Catalog string Images []ImageDefinition }
Click to show internal directories.
Click to hide internal directories.