scs

package
v0.9.22 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package scs defines the SCS services of BCE. The supported APIs are all defined in sub-package

scs.go - the SCS for Redis APIs definition supported by the redis service

Index

Constants

View Source
const (
	INSTANCE_URL_V1 = bce.URI_PREFIX + "v1" + "/instance"
	INSTANCE_URL_V2 = bce.URI_PREFIX + "v2" + "/instance"
)
View Source
const (
	DEFAULT_ENDPOINT = "redis." + bce.DEFAULT_REGION + ".baidubce.com"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Billing

type Billing struct {
	PaymentTiming string       `json:"paymentTiming"`
	Reservation   *Reservation `json:"reservation,omitempty"`
}

type Client

type Client struct {
	*bce.BceClient
}

Client of SCS service is a kind of BceClient, so derived from BceClient

func NewClient

func NewClient(ak, sk, endPoint string) (*Client, error)

func (*Client) CreateInstance

func (c *Client) CreateInstance(args *CreateInstanceArgs) (*CreateInstanceResult, error)

CreateInstance - create an instance with specified parameters

PARAMS:

  • cli: the client agent which can perform sending request
  • reqBody: the request body to create instance

RETURNS:

  • *CreateInstanceResult: result of the instance ids newly created
  • error: nil if success otherwise the specific error

func (*Client) DeleteInstance

func (c *Client) DeleteInstance(instanceId string, clientToken string) error

DeleteInstance - delete a specified instance

PARAMS:

  • cli: the client agent which can perform sending request
  • instanceId: id of the instance to be deleted

RETURNS:

  • error: nil if success otherwise the specific error

func (*Client) GetInstanceDetail

func (c *Client) GetInstanceDetail(instanceId string) (*GetInstanceDetailResult, error)

GetInstanceDetail - get details of the specified instance

PARAMS:

  • cli: the client agent which can perform sending request
  • instanceId: id of the instance

RETURNS:

  • *GetInstanceDetailResult: result of the instance details
  • error: nil if success otherwise the specific error

func (*Client) GetNodeTypeList

func (c *Client) GetNodeTypeList() (*GetNodeTypeListResult, error)

GetNodeTypeList - list all nodetype

PARAMS:

  • cli: the client agent which can perform sending request
  • instanceId: id of the instance to be deleted
  • args: the arguments to Update instanceName

RETURNS:

  • error: nil if success otherwise the specific error

func (*Client) ListInstances

func (c *Client) ListInstances(args *ListInstancesArgs) (*ListInstancesResult, error)

ListInstances - list all instances with the specified parameters

PARAMS:

  • cli: the client agent which can perform sending request
  • args: the arguments to list instances

RETURNS:

  • *ListInstanceResult: result of the instance list
  • error: nil if success otherwise the specific error

func (*Client) ResizeInstance

func (c *Client) ResizeInstance(instanceId string, args *ResizeInstanceArgs) error

ResizeInstance - resize a specified instance

PARAMS:

  • cli: the client agent which can perform sending request
  • instanceId: id of the instance to be resized
  • reqBody: the request body to resize instance

RETURNS:

  • error: nil if success otherwise the specific error

func (*Client) UpdateInstanceName

func (c *Client) UpdateInstanceName(instanceId string, args *UpdateInstanceNameArgs) error

UpdateInstanceName - update name of a specified instance

PARAMS:

  • cli: the client agent which can perform sending request
  • instanceId: id of the instance to be deleted
  • args: the arguments to Update instanceName

RETURNS:

  • error: nil if success otherwise the specific error

type CreateInstanceArgs

type CreateInstanceArgs struct {
	Billing           Billing  `json:"billing"`
	PurchaseCount     int      `json:"purchaseCount"`
	InstanceName      string   `json:"instanceName"`
	NodeType          string   `json:"nodeType"`
	ShardNum          int      `json:"shardNum"`
	ProxyNum          int      `json:"proxyNum"`
	ClusterType       string   `json:"clusterType"`
	ReplicationNum    int      `json:"replicationNum"`
	Port              int      `json:"port"`
	EngineVersion     string   `json:"engineVersion"`
	VpcID             string   `json:"vpcId"`
	Subnets           []Subnet `json:"subnets,omitempty"`
	AutoRenewTimeUnit string   `json:"autoRenewTimeUnit,omitempty"`
	AutoRenewTime     int      `json:"autoRenewTime,omitempty"`
	ClientToken       string   `json:"-"`
}

type CreateInstanceResult

type CreateInstanceResult struct {
	InstanceIds []string `json:"instanceIds"`
}

type GetInstanceDetailResult

type GetInstanceDetailResult struct {
	InstanceID         string           `json:"instanceId"`
	InstanceName       string           `json:"instanceName"`
	InstanceStatus     string           `json:"instanceStatus"`
	ClusterType        string           `json:"clusterType"`
	Engine             string           `json:"engine"`
	EngineVersion      string           `json:"engineVersion"`
	VnetIP             string           `json:"vnetIp"`
	Domain             string           `json:"domain"`
	Port               int              `json:"port"`
	InstanceCreateTime string           `json:"instanceCreateTime"`
	InstanceExpireTime string           `json:"instanceExpireTime"`
	Capacity           int              `json:"capacity"`
	UsedCapacity       float64          `json:"usedCapacity"`
	PaymentTiming      string           `json:"paymentTiming"`
	VpcID              string           `json:"vpcId"`
	ZoneNames          []string         `json:"zoneNames"`
	Subnets            []Subnet         `json:"subnets"`
	AutoRenew          int              `json:"autoRenew"`
	Tags               []model.TagModel `json:"tags"`
}

type GetNodeTypeListResult

type GetNodeTypeListResult struct {
	ClusterNodeTypeList []NodeType `json:"clusterNodeTypeList"`
	DefaultNodeTypeList []NodeType `json:"defaultNodeTypeList"`
	HsdbNodeTypeList    []NodeType `json:"hsdbNodeTypeList"`
}

type InstanceModel

type InstanceModel struct {
	InstanceID         string           `json:"instanceId"`
	InstanceName       string           `json:"instanceName"`
	InstanceStatus     string           `json:"instanceStatus"`
	ClusterType        string           `json:"clusterType"`
	Engine             string           `json:"engine"`
	EngineVersion      string           `json:"engineVersion"`
	VnetIP             string           `json:"vnetIp"`
	Domain             string           `json:"domain"`
	Port               int              `json:"port"`
	InstanceCreateTime string           `json:"instanceCreateTime"`
	Capacity           int              `json:"capacity"`
	UsedCapacity       float64          `json:"usedCapacity"`
	PaymentTiming      string           `json:"paymentTiming"`
	ZoneNames          []string         `json:"zoneNames"`
	Tags               []model.TagModel `json:"tags"`
}

type ListInstancesArgs

type ListInstancesArgs struct {
	Marker  string
	MaxKeys int
}

type ListInstancesResult

type ListInstancesResult struct {
	Marker      string          `json:"marker"`
	IsTruncated bool            `json:"isTruncated"`
	NextMarker  string          `json:"nextMarker"`
	MaxKeys     int             `json:"maxKeys"`
	Instances   []InstanceModel `json:"instances"`
}

type NodeType

type NodeType struct {
	InstanceFlavor          int     `json:"instanceFlavor"`
	NodeType                string  `json:"nodeType"`
	CPUNum                  int     `json:"cpuNum"`
	NetworkThroughputInGbps float64 `json:"networkThroughputInGbps"`
	PeakQPS                 int     `json:"peakQps"`
	MaxConnections          int     `json:"maxConnections"`
	AllowedNodeNumList      []int   `json:"allowedNodeNumList"`
}

type Reservation

type Reservation struct {
	ReservationLength   int    `json:"reservationLength"`
	ReservationTimeUnit string `json:"reservationTimeUnit"`
}

type ResizeInstanceArgs

type ResizeInstanceArgs struct {
	NodeType    string `json:"nodeType"`
	ShardNum    int    `json:"shardNum"`
	ClientToken string `json:"-"`
}

type Subnet

type Subnet struct {
	ZoneName string `json:"zoneName"`
	SubnetID string `json:"subnetId"`
}

type UpdateInstanceNameArgs

type UpdateInstanceNameArgs struct {
	InstanceName string `json:"instanceName"`
	ClientToken  string `json:"-"`
}

Jump to

Keyboard shortcuts

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