Documentation ¶
Index ¶
- Variables
- func CreateServiceInstance(instance ServiceInstance, service *Service, user *auth.User) error
- func DeleteInstance(si *ServiceInstance) error
- func GetServicesNames(services []Service) []string
- func Proxy(si *ServiceInstance, path string, w http.ResponseWriter, r *http.Request) error
- type Client
- func (c *Client) Bind(instance *ServiceInstance, app bind.App, unit bind.Unit) (map[string]string, error)
- func (c *Client) Create(instance *ServiceInstance, user string) error
- func (c *Client) Destroy(instance *ServiceInstance) error
- func (c *Client) Info(instance *ServiceInstance) ([]map[string]string, error)
- func (c *Client) Plans() ([]Plan, error)
- func (c *Client) Proxy(path string, w http.ResponseWriter, r *http.Request) error
- func (c *Client) Status(instance *ServiceInstance) (string, error)
- func (c *Client) Unbind(instance *ServiceInstance, app bind.App, unit bind.Unit) error
- type Plan
- type Service
- func (s *Service) Create() error
- func (s *Service) Delete() error
- func (s *Service) Get() error
- func (s *Service) GetUsername() string
- func (s *Service) GrantAccess(team *auth.Team) error
- func (s *Service) HasTeam(team *auth.Team) bool
- func (s *Service) RevokeAccess(team *auth.Team) error
- func (s *Service) Update() error
- type ServiceInstance
- func (si *ServiceInstance) AddApp(appName string) error
- func (si *ServiceInstance) BindApp(app bind.App) error
- func (si *ServiceInstance) BindUnit(app bind.App, unit bind.Unit) (map[string]string, error)
- func (si *ServiceInstance) Create() error
- func (si *ServiceInstance) FindApp(appName string) int
- func (si *ServiceInstance) GetIdentifier() string
- func (si *ServiceInstance) Info() (map[string]string, error)
- func (si *ServiceInstance) MarshalJSON() ([]byte, error)
- func (si *ServiceInstance) RemoveApp(appName string) error
- func (si *ServiceInstance) Service() *Service
- func (si *ServiceInstance) Status() (string, error)
- func (si *ServiceInstance) UnbindApp(app bind.App) error
- func (si *ServiceInstance) UnbindUnit(unit bind.Unit, app bind.App) error
- type ServiceModel
Constants ¶
This section is empty.
Variables ¶
var ( ErrServiceInstanceNotFound = stderrors.New("service instance not found") ErrInvalidInstanceName = stderrors.New("invalid service instance name") ErrInstanceNameAlreadyExists = stderrors.New("instance name already exists.") ErrAccessNotAllowed = stderrors.New("user does not have access to this service instance") ErrMultipleTeams = stderrors.New("user is member of multiple teams, please specify the team that owns the service instance") )
var (
ErrServiceAlreadyExists = errors.New("Service already exists.")
)
Functions ¶
func CreateServiceInstance ¶
func CreateServiceInstance(instance ServiceInstance, service *Service, user *auth.User) error
func DeleteInstance ¶
func DeleteInstance(si *ServiceInstance) error
DeleteInstance deletes the service instance from the database.
func GetServicesNames ¶
func Proxy ¶
func Proxy(si *ServiceInstance, path string, w http.ResponseWriter, r *http.Request) error
Proxy is a proxy between tsuru and the service. This method allow customized service methods.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) Destroy ¶
func (c *Client) Destroy(instance *ServiceInstance) error
func (*Client) Info ¶
func (c *Client) Info(instance *ServiceInstance) ([]map[string]string, error)
Info returns the additional info about a service instance. The api should be prepared to receive the request, like below: GET /resources/<name>
func (*Client) Plans ¶
Plans returns the service plans. The api should be prepared to receive the request, like below: GET /resources/plans
func (*Client) Proxy ¶
Proxy is a proxy between tsuru and the service. This method allow customized service methods.
func (*Client) Status ¶
func (c *Client) Status(instance *ServiceInstance) (string, error)
Connects into service's api The api should be prepared to receive the request, like below: GET /resources/<name>/status/ The service host here is the private ip of the service instance 204 means the service is up, 500 means the service is down
type Service ¶
type Service struct { Name string `bson:"_id"` Username string Password string Endpoint map[string]string OwnerTeams []string `bson:"owner_teams"` Teams []string Doc string IsRestricted bool `bson:"is_restricted"` }
func GetServicesByOwnerTeams ¶
func (*Service) GetUsername ¶
type ServiceInstance ¶
type ServiceInstance struct { Name string Id int ServiceName string `bson:"service_name"` PlanName string `bson:"plan_name"` Apps []string Teams []string TeamOwner string }
func GetServiceInstance ¶
func GetServiceInstance(name string, u *auth.User) (*ServiceInstance, error)
func GetServiceInstancesByServices ¶
func GetServiceInstancesByServices(services []Service) ([]ServiceInstance, error)
func (*ServiceInstance) AddApp ¶
func (si *ServiceInstance) AddApp(appName string) error
func (*ServiceInstance) BindApp ¶
func (si *ServiceInstance) BindApp(app bind.App) error
BindApp makes the bind between the service instance and an app.
func (*ServiceInstance) Create ¶
func (si *ServiceInstance) Create() error
func (*ServiceInstance) FindApp ¶
func (si *ServiceInstance) FindApp(appName string) int
func (*ServiceInstance) GetIdentifier ¶
func (si *ServiceInstance) GetIdentifier() string
func (*ServiceInstance) MarshalJSON ¶
func (si *ServiceInstance) MarshalJSON() ([]byte, error)
MarshalJSON marshals the ServiceName in json format.
func (*ServiceInstance) RemoveApp ¶
func (si *ServiceInstance) RemoveApp(appName string) error
func (*ServiceInstance) Service ¶
func (si *ServiceInstance) Service() *Service
func (*ServiceInstance) Status ¶
func (si *ServiceInstance) Status() (string, error)
Status returns the service instance status.
func (*ServiceInstance) UnbindApp ¶
func (si *ServiceInstance) UnbindApp(app bind.App) error
UnbindApp makes the unbind between the service instance and an app.
func (*ServiceInstance) UnbindUnit ¶
UnbindUnit makes the unbind between the service instance and an unit.