Documentation
¶
Index ¶
Constants ¶
View Source
const ( // MariaDBServiceID service/mariadb/id MariaDBServiceID = "c4f353f3-8a59-437d-b4af-6a6f856248db" // MariaDBPlan10GID plan/mariadb/10g/id MariaDBPlan10GID = "7320351e-4664-4df5-938c-c0bfe8551609" // MariaDBPlan30GID plan/mariadb/30g/id MariaDBPlan30GID = "d4591cca-6361-4957-bfad-3f5e84ef2215" // MariaDBPlan90GID plan/mariadb/90g/id MariaDBPlan90GID = "66907d28-6440-41ca-9f7f-ab9c4a0d171b" // MariaDBPlan240GID plan/mariadb/240g/id MariaDBPlan240GID = "b3321210-e5f0-4224-99cf-34abc4435ed3" // MariaDBPlan500GID plan/mariadb/500g/id MariaDBPlan500GID = "92a30279-e938-4e20-8e4e-50a0231e719e" // MariaDBPlan1TID plan/mariadb/1tb/id MariaDBPlan1TID = "8705f035-805b-4009-9158-1dd48aebcb41" // PostgreSQLServiceID service/postgres/id PostgreSQLServiceID = "cc17eabf-0178-4eea-966e-2f5fb2aa62a9" // PostgreSQLPlan10GID plan/mariadb/10g/id PostgreSQLPlan10GID = "590eb4a9-6efb-4f14-ac03-b66fe49adb2e" // PostgreSQLPlan30GID plan/mariadb/30g/id PostgreSQLPlan30GID = "feb02498-4cdb-404a-8606-4e56ec019d39" // PostgreSQLPlan90GID plan/mariadb/90g/id PostgreSQLPlan90GID = "bfff8edd-fb74-4e63-85e7-04f143db0a5f" // PostgreSQLPlan240GID plan/mariadb/240g/id PostgreSQLPlan240GID = "8ebb52e3-7b6a-47b6-87b3-cfe9af9b78bf" // PostgreSQLPlan500GID plan/mariadb/500g/id PostgreSQLPlan500GID = "64d02933-b8c4-45fc-afda-7e7045af5b3f" // PostgreSQLPlan1TID plan/mariadb/1tb/id PostgreSQLPlan1TID = "f4bf204d-a73f-4b41-b8e8-1417c47c18dc" )
Variables ¶
View Source
var ( // CurrentCatalog is current available catalog object CurrentCatalog = &osb.Catalog{ Services: []*osb.Service{ MariaDBService, PostgreSQLService, }, } // CurrentCatalogData is raw data of API server response CurrentCatalogData []byte )
View Source
var ( // MariaDBService is service for manage to SAKURA cloud Database Appliances MariaDBService = &osb.Service{ ID: MariaDBServiceID, Name: "sacloud-mariadb", Bindable: true, PlanUpdateable: false, Tags: []string{"database", "mariadb"}, Description: "SAKURA Cloud Database appliance(MariaDB)", Requires: []string{}, Metadata: &osb.Metadata{}, Plans: []*osb.Plan{ MariaDBPlan10G, MariaDBPlan30G, MariaDBPlan90G, MariaDBPlan240G, MariaDBPlan500G, MariaDBPlan1T, }, } // PostgreSQLService is service for manage to SAKURA cloud Database Appliances PostgreSQLService = &osb.Service{ ID: PostgreSQLServiceID, Name: "sacloud-postgres", Bindable: true, PlanUpdateable: false, Tags: []string{"database", "postgres"}, Description: "SAKURA Cloud Database appliance(PostgreSQL)", Requires: []string{}, Metadata: &osb.Metadata{}, Plans: []*osb.Plan{ PostgreSQLPlan10G, PostgreSQLPlan30G, PostgreSQLPlan90G, PostgreSQLPlan240G, PostgreSQLPlan500G, PostgreSQLPlan1T, }, } )
View Source
var ( // MariaDBPlan10G is represents MariaDB 10g plan MariaDBPlan10G = &osb.Plan{ ID: MariaDBPlan10GID, Name: "db-10g", Description: "DB 10GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // MariaDBPlan30G is represents MariaDB 30g plan MariaDBPlan30G = &osb.Plan{ ID: MariaDBPlan30GID, Name: "db-30g", Description: "DB 30GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // MariaDBPlan90G is represents MariaDB 90g plan MariaDBPlan90G = &osb.Plan{ ID: MariaDBPlan90GID, Name: "db-90g", Description: "DB 90GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // MariaDBPlan240G is represents MariaDB 240g plan MariaDBPlan240G = &osb.Plan{ ID: MariaDBPlan240GID, Name: "db-240g", Description: "DB 240GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // MariaDBPlan500G is represents MariaDB 500g plan MariaDBPlan500G = &osb.Plan{ ID: MariaDBPlan500GID, Name: "db-500g", Description: "DB 500GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // MariaDBPlan1T is represents MariaDB 1TB plan MariaDBPlan1T = &osb.Plan{ ID: MariaDBPlan1TID, Name: "db-1t", Description: "DB 1TB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } )
View Source
var ( // PostgreSQLPlan10G is represents PostgreSQL 10g plan PostgreSQLPlan10G = &osb.Plan{ ID: PostgreSQLPlan10GID, Name: "db-10g", Description: "DB 10GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // PostgreSQLPlan30G is represents PostgreSQL 30g plan PostgreSQLPlan30G = &osb.Plan{ ID: PostgreSQLPlan30GID, Name: "db-30g", Description: "DB 30GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // PostgreSQLPlan90G is represents PostgreSQL 90g plan PostgreSQLPlan90G = &osb.Plan{ ID: PostgreSQLPlan90GID, Name: "db-90g", Description: "DB 90GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // PostgreSQLPlan240G is represents PostgreSQL 240g plan PostgreSQLPlan240G = &osb.Plan{ ID: PostgreSQLPlan240GID, Name: "db-240g", Description: "DB 240GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // PostgreSQLPlan500G is represents PostgreSQL 500g plan PostgreSQLPlan500G = &osb.Plan{ ID: PostgreSQLPlan500GID, Name: "db-500g", Description: "DB 500GB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } // PostgreSQLPlan1T is represents PostgreSQL 1TB plan PostgreSQLPlan1T = &osb.Plan{ ID: PostgreSQLPlan1TID, Name: "db-1t", Description: "DB 1TB", Bindable: true, Free: false, Metadata: &osb.Metadata{}, Schemas: &osb.SchemasObject{ ServiceInstance: &osb.ServiceInstanceSchemaObject{ Create: &osb.SchemaParameters{}, }, ServiceBinding: &osb.ServiceBindingSchemaObject{ Create: &osb.SchemaParameters{}, }, }, } )
View Source
var DatabaseIDMap = map[string]PlanIDMap{ "MariaDB": { ID: MariaDBServiceID, PlanIDMap: map[int]string{ 10: MariaDBPlan10GID, 30: MariaDBPlan30GID, 90: MariaDBPlan90GID, 240: MariaDBPlan240GID, 500: MariaDBPlan500GID, 1000: MariaDBPlan1TID, }, }, "postgres": { ID: PostgreSQLServiceID, PlanIDMap: map[int]string{ 10: PostgreSQLPlan10GID, 30: PostgreSQLPlan30GID, 90: PostgreSQLPlan90GID, 240: PostgreSQLPlan240GID, 500: PostgreSQLPlan500GID, 1000: PostgreSQLPlan1TID, }, }, }
DatabaseIDMap defines relations of between service and plans
View Source
var Factory func(operation, serviceID, planID string, rawParameter []byte) Handler
Factory is factory-method to return Handler according to arguments
Functions ¶
Types ¶
type BindingState ¶
type BindingState interface { HasDiff() bool Binding() *osb.ServiceBinding }
BindingState is represents current binding state
type ConnectionInfo ¶
type ConnectionInfo interface { DriverName() string UserName() string Password() string Host() string Port() int DBName() string Salt() string FormatDSN() string }
ConnectionInfo represents info to connect database
type Handler ¶
type Handler interface { InstanceState(instanceID string) (InstanceState, error) BindingState(instanceID, bindingID string) (BindingState, error) CreateInstance(instanceID string) error UpdateInstance(instanceID string) error DeleteInstance(instanceID string) error CreateBinding(instanceID, bindingID string) (*osb.ServiceBinding, error) DeleteBinding(instanceID, bindingID string) error IsValid() (bool, error) }
Handler is interface that represents Broker operations
type InstanceState ¶
InstanceState is interface that represents current instance state
Source Files
¶
Click to show internal directories.
Click to hide internal directories.