clusters

package
v0.0.0-...-63319d1 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2024 License: MPL-2.0, Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Delete

func Delete(c *golangsdk.ServiceClient, clusterId string) *golangsdk.ErrResult

Delete is a method to remove an existing cluster by ID.

Types

type Cluster

type Cluster struct {
	// Cluster datastore.
	Datastore Datastore `json:"datastore"`
	// The current status list of the cluster:
	//   CREATING
	//   GROWING
	Actions []string `json:"actions"`
	// Whether the openTSDB is enabled.
	OpenTSDBEnabled bool `json:"enable_openTSDB"`
	// Whether the Lemon is enabled.
	LemonEnabled bool `json:"enable_lemon"`
	// The name of the CloudTable cluster.
	Name string `json:"cluster_name"`
	// The number of RegionServers.
	CUNum string `json:"cu_num"`
	// The number of TSD nodes.
	TSDNum string `json:"tsd_num"`
	// The number of Lemon nodes.
	LemonNum string `json:"lemon_num"`
	// Cluster bottom storage type:
	//   OBS
	//   HDFS
	StorageType string `json:"storage_type"`
	// Cluster storage quota.
	StorageQuota string `json:"storage_quota"`
	// Storage space currently in use.
	StorageUsed string `json:"used_storage_size"`
	// Whether the IAM auth is enabled.
	IAMAuthEnabled bool `json:"auth_mode"`
	// The time when the disk was updated.
	UpdatedAt string `json:"updated"`
	// The time when the disk was created.
	CreateAt string `json:"created"`
	// Cluster ID.
	ID string `json:"cluster_id"`
	// Cluster status.
	//   100 Creating
	//   200 Running
	//   300 Abnormal
	//   303 Creation failed
	//   400 Deleted
	//   800 Frezon
	Status string `json:"status"`
	// Intranet OpenTSDB connection access address.
	OpenTSDBLink string `json:"openTSDB_link"`
	// OpenTSDB public network endpoint address.
	TSDPublicEndpoint string `json:"tsd_public_endpoint"`
	// Intranet Lemon connection access address.
	LemonLink string `json:"lemon_link"`
	// Intranet ZooKeeper connection access address.
	ZookeeperLink string `json:"zookeeper_link"`
	// HBase connection access address on the public network.
	HbasePublicEndpoint string `json:"hbase_public_endpoint"`
	// Whether the cluster is frozen.
	//   false
	//   true
	IsFrozen string `json:"is_frozen"`
	// The VPC where the cluster is located.
	VpcId string `json:"vpc_id"`
	// The ID of the network where the CloudTable cluster is located.
	SubnetId string `json:"subnet_id"`
	// The ID of the security group to which the CloudTable belongs.
	SecurityGroupId string `json:"security_group_id"`
	// The ID of the availability zone where the cluster is located.
	AvailabilityZone string `json:"availability_zone"`
}

func Get

func Get(c *golangsdk.ServiceClient, clusterId string) (*Cluster, error)

Get is a method to obtain the detail of the cluster.

type CreateOpts

type CreateOpts struct {
	// Create cluster database parameters.
	Datastore Datastore `json:"datastore" required:"true"`
	// Cluster name
	Name string `json:"name" required:"true"`
	// The instance object of the cluster.
	Instance Instance `json:"instance" required:"true"`
	// Storage type, the valid values are:
	//   ULTRAHIGH
	//   COMMON
	StorageType string `json:"storage_type" required:"true"`
	// The VPC where the cluster is located.
	VpcId string `json:"vpc_id" required:"true"`
	// Whether the IAM auth is enabled.
	IAMAuthEnabled bool `json:"auth_mode,omitempty"`
	// Whether the Lemon is enabled.
	LemonEnabled bool `json:"enable_lemon,omitempty"`
	// Whether the OpenTSDB is enabled.
	OpenTSDBEnabled bool `json:"enable_openTSDB,omitempty"`
	// The size of the stored value.
	StorageSize int `json:"storage_size,omitempty"`
}

CreateOpts is a struct which will be used to create a new cloudtable cluster.

type Datastore

type Datastore struct {
	// Cluster database type.
	Type string `json:"type" required:"true"`
	// Controller version number, default to '1.0.6'.
	Version string `json:"version" required:"true"`
}

Datastore is an object specifying the cluster storage.

type Instance

type Instance struct {
	// The ID of the availability zone where the cluster is located.
	AvailabilityZone string `json:"availability_zone" required:"true"`
	// The number of computing unit nodes in the CloudTable cluster must be at least 2.
	CUNum int `json:"cu_num" required:"true"`
	// Information about the network where the cluster is located.
	Networks []Network `json:"nics" required:"true"`
	// The number of Lemon nodes in the CloudTable cluster.
	LemonNum int `json:"lemon_num,omitempty"`
	// The number of TSD nodes in the CloudTable cluster must be at least 2.
	TSDNum int `json:"tsd_num,omitempty"`
}

Instance is an object specifying the information of the nodes number, az and network.

type Network

type Network struct {
	// The ID of the network where the CloudTable cluster is located.
	SubnetId string `json:"net_id" required:"true"`
	// The ID of the security group to which the CloudTable belongs.
	SecurityGroupId string `json:"security_group_id" required:"true"`
}

Network is an object specifying the cluster network.

type RequestResp

type RequestResp struct {
	// Cluster ID.
	ClusterId string `json:"cluster_id"`
}

func Create

func Create(c *golangsdk.ServiceClient, opts CreateOpts) (*RequestResp, error)

Create is a method to create a new cluster.

Jump to

Keyboard shortcuts

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