goss

package module
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2020 License: MIT Imports: 10 Imported by: 0

README

API implementation for ScalableSpace products in Go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	BaseURL *url.URL

	Instances InstancesServiceOp
	Plans     PlansServiceOp
	// contains filtered or unexported fields
}

func NewClient

func NewClient(baseUrl, apiKey string) *Client

func NewClientFromToken

func NewClientFromToken(apiKey string) *Client

func (*Client) Do added in v0.0.7

func (c *Client) Do(ctx context.Context, request *http.Request, v interface{}) error

func (*Client) NewRequest added in v0.0.7

func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error)

type ConnectionInfo added in v0.0.4

type ConnectionInfo struct {
	MasterHost  string `json:"master_host"`
	ReplicaHost string `json:"replica_host"`
}

type Instance

type Instance struct {
	ID             string         `json:"id"`
	Name           string         `json:"name"`
	Kind           string         `json:"kind"`
	Password       string         `json:"password"`
	State          string         `json:"state"`
	Enabled        bool           `json:"enabled"`
	Whitelist      []string       `json:"whitelist"`
	PlanID         string         `json:"plan_id"`
	LicenseKey     *string        `json:"license_key,omitempty"`
	EvictionPolicy *string        `json:"eviction_policy,omitempty"`
	ConnectionInfo ConnectionInfo `json:"connection_info"`
	CreatedAt      time.Time      `json:"created_at"`
}

type InstanceCreateRequest added in v0.0.4

type InstanceCreateRequest struct {
	Name           string   `json:"name,omitempty"`
	Password       string   `json:"password,omitempty"`
	PlanID         string   `json:"plan_id,omitempty"`
	Whitelist      []string `json:"whitelist,omitempty"`
	LicenseKey     string   `json:"license_key,omitempty"`     // only for keydb-pro
	EvictionPolicy string   `json:"eviction_policy,omitempty"` // only for keydb-pro, redis, keydb
}

type InstanceUpdateRequest added in v0.0.4

type InstanceUpdateRequest struct {
	ID             string   `json:"-"`
	Name           string   `json:"name,omitempty"`
	Password       string   `json:"password,omitempty"`
	PlanID         string   `json:"plan_id,omitempty"`
	Whitelist      []string `json:"whitelist,omitempty"`
	Enabled        *bool    `json:"enabled,omitempty"`
	LicenseKey     string   `json:"license_key,omitempty"`     // only for keydb-pro
	EvictionPolicy string   `json:"eviction_policy,omitempty"` // only for keydb-pro, redis, keydb
}

type Instances

type Instances struct {
	// contains filtered or unexported fields
}

func (*Instances) Create

func (s *Instances) Create(ctx context.Context, instanceCreateRequest *InstanceCreateRequest) (*Instance, error)

func (*Instances) Delete

func (s *Instances) Delete(ctx context.Context, id string) error

func (*Instances) Get

func (s *Instances) Get(ctx context.Context, id string) (*Instance, error)

func (*Instances) List

func (s *Instances) List(ctx context.Context) ([]*Instance, error)

func (*Instances) Update added in v0.0.4

func (s *Instances) Update(ctx context.Context, instanceUpdateRequest *InstanceUpdateRequest) (*Instance, error)

type InstancesServiceOp added in v0.0.7

type InstancesServiceOp interface {
	Create(ctx context.Context, instanceCreateRequest *InstanceCreateRequest) (*Instance, error)
	Update(ctx context.Context, instanceUpdateRequest *InstanceUpdateRequest) (*Instance, error)
	Get(ctx context.Context, id string) (*Instance, error)
	List(ctx context.Context) ([]*Instance, error)
	Delete(ctx context.Context, id string) error
}

type Plan

type Plan struct {
	ID     string  `json:"id"`
	Kind   string  `json:"kind"`
	Name   string  `json:"name"`
	Price  float64 `json:"price"`
	Cloud  string  `json:"cloud"`
	Region string  `json:"region"`
}

type PlanFindRequest added in v0.0.4

type PlanFindRequest struct {
	Kind   string `url:"kind"`
	Name   string `url:"name"`
	Cloud  string `url:"cloud"`
	Region string `url:"region"`
}

type Plans

type Plans struct {
	// contains filtered or unexported fields
}

func (*Plans) Find

func (s *Plans) Find(ctx context.Context, planFindRequest *PlanFindRequest) (*Plan, error)

func (*Plans) Get

func (s *Plans) Get(ctx context.Context, id string) (*Plan, error)

func (*Plans) List

func (s *Plans) List(ctx context.Context) ([]*Plan, error)

type PlansServiceOp added in v0.0.7

type PlansServiceOp interface {
	Find(ctx context.Context, planFindRequest *PlanFindRequest) (*Plan, error)
	List(ctx context.Context) ([]*Plan, error)
	Get(ctx context.Context, id string) (*Plan, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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