Documentation
¶
Index ¶
- func CreateCluster(client *golangsdk.ServiceClient, opts CreateClusterOpts) (string, error)
- func DeleteCluster(client *golangsdk.ServiceClient, opts DeleteClusterOpts) error
- func ExtractClusterId(err error, raw *http.Response) (string, error)
- func ResetPassword(client *golangsdk.ServiceClient, opts ResetPasswordOpts) (err error)
- func ResizeCluster(client *golangsdk.ServiceClient, opts ResizeClusterOpts) (err error)
- func RestartCluster(client *golangsdk.ServiceClient, opts RestartClusterOpts) (err error)
- func WaitForCreate(c *golangsdk.ServiceClient, id string, secs int) error
- func WaitForResize(c *golangsdk.ServiceClient, id string, secs int) error
- func WaitForRestart(c *golangsdk.ServiceClient, id string, secs int) error
- type ClusterDetail
- type ClusterInfo
- type CreateClusterOpts
- type DeleteClusterOpts
- type Endpoints
- type FailedReason
- type ListClustersResponse
- type MaintainWindow
- type Nodes
- type ParameterGroup
- type PublicEndpoints
- type PublicIp
- type ResetPasswordOpts
- type ResizeClusterOpts
- type ResizeInfo
- type RestartClusterOpts
- type Tags
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateCluster ¶
func CreateCluster(client *golangsdk.ServiceClient, opts CreateClusterOpts) (string, error)
CreateCluster is an asynchronous API. It takes 10 to 15 minutes to create a cluster.
func DeleteCluster ¶
func DeleteCluster(client *golangsdk.ServiceClient, opts DeleteClusterOpts) error
func ResetPassword ¶
func ResetPassword(client *golangsdk.ServiceClient, opts ResetPasswordOpts) (err error)
func ResizeCluster ¶
func ResizeCluster(client *golangsdk.ServiceClient, opts ResizeClusterOpts) (err error)
func RestartCluster ¶
func RestartCluster(client *golangsdk.ServiceClient, opts RestartClusterOpts) (err error)
func WaitForCreate ¶
func WaitForCreate(c *golangsdk.ServiceClient, id string, secs int) error
func WaitForResize ¶
func WaitForResize(c *golangsdk.ServiceClient, id string, secs int) error
func WaitForRestart ¶
func WaitForRestart(c *golangsdk.ServiceClient, id string, secs int) error
Types ¶
type ClusterDetail ¶
type ClusterDetail struct {
// Cluster ID
Id string `json:"id"`
// Cluster name
Name string `json:"name"`
// Cluster status. The value can be one of the following:
// CREATING
// AVAILABLE
// UNAVAILABLE
// CREATION FAILED
Status string `json:"status"`
// Data warehouse version
Version string `json:"version"`
// Last modification time of a cluster. Format: ISO8601:YYYY-MM-DDThh:mm:ssZ
Updated string `json:"updated"`
// Cluster creation time. Format: ISO8601: YYYY-MM-DDThh:mm:ssZ
Created string `json:"created"`
// Service port of a cluster. The value ranges from 8000 to 30000. The default value is 8000.
Port int `json:"port"`
// Private network connection information about the cluster.
Endpoints []Endpoints `json:"endpoints"`
// Unused
Nodes []Nodes `json:"nodes"`
// Labels in a cluster
Tags []Tags `json:"tags"`
// Administrator name
UserName string `json:"user_name"`
// Number of nodes in a cluster. The value ranges from 2 to 256.
NumberOfNode int `json:"number_of_node"`
// Number of events
RecentEvent int `json:"recent_event"`
// AZ
AvailabilityZone string `json:"availability_zone"`
// Enterprise project ID. The value 0 indicates the ID of the default enterprise project.
EnterpriseProjectId string `json:"enterprise_project_id"`
// Node type
NodeType string `json:"node_type"`
// VPC ID
VpcId string `json:"vpc_id"`
// Subnet ID
SubnetId string `json:"subnet_id"`
// Public IP address. If the parameter is not specified, public connection is not used by default.
PublicIp PublicIp `json:"public_ip"`
// Public network connection information about the cluster. If the parameter is not specified, the public network connection information is not used by default.
PublicEndpoints []PublicEndpoints `json:"public_endpoints"`
// The key indicates an ongoing task. The value can be one of the following:
// GROWING
// RESTORING
// SNAPSHOTTING
// REPAIRING
// CREATING
// The value indicates the task progress.
ActionProgress map[string]interface{} `json:"action_progress"`
// Sub-status of clusters in the AVAILABLE state. The value can be one of the following:
// NORMAL
// READONLY
// REDISTRIBUTING
// REDISTRIBUTION-FAILURE
// UNBALANCED
// UNBALANCED | READONLY
// DEGRADED
// DEGRADED | READONLY
// DEGRADED | UNBALANCED
// UNBALANCED | REDISTRIBUTING
// UNBALANCED | REDISTRIBUTION-FAILURE
// READONLY | REDISTRIBUTION-FAILURE
// UNBALANCED | READONLY | REDISTRIBUTION-FAILURE
// DEGRADED | REDISTRIBUTION-FAILURE
// DEGRADED | UNBALANCED | REDISTRIBUTION-FAILURE
// DEGRADED | UNBALANCED | READONLY | REDISTRIBUTION-FAILURE
// DEGRADED | UNBALANCED | READONLY
SubStatus string `json:"sub_status"`
// Cluster management task. The value can be one of the following:
// RESTORING
// SNAPSHOTTING
// GROWING
// REBOOTING
// SETTING_CONFIGURATION
// CONFIGURING_EXT_DATASOURCE
// DELETING_EXT_DATASOURCE
// REBOOT_FAILURE
// RESIZE_FAILURE
TaskStatus string `json:"task_status"`
// Parameter group details
ParameterGroup ParameterGroup `json:"parameter_group,omitempty"`
// Node type ID
NodeTypeId string `json:"node_type_id"`
// Security group ID
SecurityGroupId string `json:"security_group_id"`
// List of private network IP addresses
PrivateIp []string `json:"private_ip"`
// Cluster maintenance window
MaintainWindow MaintainWindow `json:"maintain_window"`
// Cluster scale-out details
ResizeInfo ResizeInfo `json:"resize_info,omitempty"`
// Cause of failure. If the parameter is left empty, the cluster is in the normal state.
FailedReasons FailedReason `json:"failed_reasons,omitempty"`
}
func ListClusterDetails ¶
func ListClusterDetails(client *golangsdk.ServiceClient, clusterId string) (*ClusterDetail, error)
type ClusterInfo ¶
type ClusterInfo struct {
// Cluster ID
Id string `json:"id"`
// Cluster name
Name string `json:"name"`
// Cluster status. The value can be one of the following:
// CREATING
// AVAILABLE
// UNAVAILABLE
// CREATION FAILED
Status string `json:"status"`
// Data warehouse version
Version string `json:"version"`
// Last modification time of a cluster. Format: ISO8601:YYYY-MM-DDThh:mm:ssZ
Updated string `json:"updated"`
// Cluster creation time. Format: ISO8601:YYYY-MM-DDThh:mm:ssZ
Created string `json:"created"`
// Service port of a cluster. The value ranges from 8000 to 30000. The default value is 8000.
Port int `json:"port"`
// Private network connection information about the cluster.
Endpoints []Endpoints `json:"endpoints"`
// Unused
Nodes []Nodes `json:"nodes"`
// Tags in a cluster
Tags []Tags `json:"tags"`
// Cluster administrator name
UserName string `json:"user_name"`
// Number of nodes in a cluster. The value ranges from 2 to 256.
NumberOfNode int `json:"number_of_node"`
// Number of events
RecentEvent int `json:"recent_event"`
// AZ
AvailabilityZone string `json:"availability_zone"`
// Enterprise project ID. The value 0 indicates the ID of the default enterprise project.
EnterpriseProjectId string `json:"enterprise_project_id"`
// Node type
NodeType string `json:"node_type"`
// VPC ID
VpcId string `json:"vpc_id"`
// Subnet ID
SubnetId string `json:"subnet_id"`
// Public IP address. If the parameter is not specified, public connection is not used by default.
PublicIp PublicIp `json:"public_ip"`
// Public network connection information about the cluster.
// If the parameter is not specified, the public network connection information is not used by default.
PublicEndpoints []PublicEndpoints `json:"public_endpoints"`
// Task information, consisting of a key and a value. The key indicates an ongoing task, and the value indicates the progress of the ongoing task.
// Valid key values include:
// GROWING
// RESTORING
// SNAPSHOTTING
// REPAIRING
// CREATING
// The value indicates the task progress.
// Example:
// "action_progress":
// {"SNAPSHOTTING":"16%"}
ActionProgress map[string]string `json:"action_progress"`
// Sub-status of clusters in the AVAILABLE state. The value can be one of the following:
// NORMAL
// READONLY
// REDISTRIBUTING
// REDISTRIBUTION-FAILURE
// UNBALANCED
// UNBALANCED | READONLY
// DEGRADED
// DEGRADED | READONLY
// DEGRADED | UNBALANCED
// UNBALANCED | REDISTRIBUTING
// UNBALANCED | REDISTRIBUTION-FAILURE
// READONLY | REDISTRIBUTION-FAILURE
// UNBALANCED | READONLY | REDISTRIBUTION-FAILURE
// DEGRADED | REDISTRIBUTION-FAILURE
// DEGRADED | UNBALANCED | REDISTRIBUTION-FAILURE
// DEGRADED | UNBALANCED | READONLY | REDISTRIBUTION-FAILURE
// DEGRADED | UNBALANCED | READONLY
SubStatus string `json:"sub_status"`
// Cluster management task. The value can be one of the following:
// RESTORING
// SNAPSHOTTING
// GROWING
// REBOOTING
// SETTING_CONFIGURATION
// CONFIGURING_EXT_DATASOURCE
// DELETING_EXT_DATASOURCE
// REBOOT_FAILURE
// RESIZE_FAILURE
TaskStatus string `json:"task_status"`
// Security group ID
SecurityGroupId string `json:"security_group_id"`
// Cause of failure. If the parameter is left empty, the cluster is in the normal state.
FailedReasons FailedReason `json:"failed_reasons,omitempty"`
}
type CreateClusterOpts ¶
type CreateClusterOpts struct {
// Node type
NodeType string `json:"node_type" required:"true"`
// Number of cluster nodes. For a cluster, the value ranges from 3 to 256. For a hybrid data warehouse (standalone), the value is 1.
NumberOfNode int `json:"number_of_node" required:"true"`
// Subnet ID, which is used for configuring cluster network.
SubnetId string `json:"subnet_id" required:"true"`
// ID of a security group, which is used for configuring cluster network.
SecurityGroupId string `json:"security_group_id" required:"true"`
// VPC ID, which is used for configuring cluster network.
VpcId string `json:"vpc_id" required:"true"`
// AZ of a cluster.
AvailabilityZone string `json:"availability_zone,omitempty"`
// Service port of a cluster. The value ranges from 8000 to 30000. The default value is 8000.
Port int `json:"port,omitempty"`
// Cluster name, which must be unique. The cluster name must contain 4 to 64 characters, which must start with a letter.
// Only letters, digits, hyphens (-), and underscores (_) are allowed.
Name string `json:"name" required:"true"`
// Administrator username for logging in to a GaussDB(DWS) cluster. The username must:
// Consist of lowercase letters, digits, or underscores.
// Start with a lowercase letter or an underscore.
// Contain 1 to 63 characters.
// Cannot be a keyword of the GaussDB(DWS) database.
UserName string `json:"user_name" required:"true"`
// Administrator password for logging in to a GaussDB(DWS) cluster
UserPwd string `json:"user_pwd" required:"true"`
// Public IP address. If the parameter is not specified, public connection is not used by default.
PublicIp PublicIp `json:"public_ip,omitempty"`
// Number of deployed CNs. The value ranges from 2 to the number of cluster nodes minus 1. The maximum value is 20 and the default value is 3.
NumberOfCn int `json:"number_of_cn,omitempty"`
// Enterprise project. The default enterprise project ID is 0.
EnterpriseProjectId string `json:"enterprise_project_id,omitempty"`
}
type DeleteClusterOpts ¶
type FailedReason ¶
type ListClustersResponse ¶
type ListClustersResponse struct {
// List of cluster objects
Clusters []ClusterInfo `json:"clusters,omitempty"`
// Total number of cluster objects
Count int `json:"count,omitempty"`
}
func ListClusters ¶
func ListClusters(client *golangsdk.ServiceClient) (*ListClustersResponse, error)
type MaintainWindow ¶
type MaintainWindow struct {
// Maintenance time in each week in the unit of day. The value can be one of the following:
// Mon
// Tue
// Wed
// Thu
// Fri
// Sat
// Sun
Day string `json:"day,omitempty"`
// Maintenance start time in HH:mm format. The time zone is GMT+0.
StartTime string `json:"start_time,omitempty"`
// Maintenance end time in HH:mm format. The time zone is GMT+0.
EndTime string `json:"end_time,omitempty"`
}
type ParameterGroup ¶
type ParameterGroup struct {
// Parameter group ID
Id string `json:"id"`
// Parameter group name
Name string `json:"name"`
// Cluster parameter status. The value can be one of the following:
// In-Sync: synchronized
// Applying: in application
// Pending-Reboot: restart for the modification to take effect
// Sync-Failure: application failure
Status string `json:"status"`
}
type PublicEndpoints ¶
type PublicEndpoints struct {
// Public network connection information
PublicConnectInfo string `json:"public_connect_info,omitempty"`
// JDBC URL of the public network. The following is the default format:
//jdbc:postgresql://< public_connect_info>/<YOUR_DATABASE_name>
JdbcUrl string `json:"jdbc_url,omitempty"`
}
type ResetPasswordOpts ¶
type ResetPasswordOpts struct {
ClusterId string `json:"-"`
// New password of the GaussDB(DWS) cluster administrator
// A password must conform to the following rules:
// Contains 8 to 32 characters.
// Cannot be the same as the username or the username written in reverse order.
// Contains at least three types of the following:
// Lowercase letters
// Uppercase letters
// Digits
// Special characters: ~!?,.:;-_'"(){}[]/<>@#%^&*+|\=
// Cannot be the same as previous passwords.
// Cannot be a weak password.
NewPassword string `json:"new_password" required:"true"`
}
type ResizeClusterOpts ¶
type ResizeInfo ¶
type ResizeInfo struct {
// Number of nodes after the scale-out
TargetNodeNum int `json:"target_node_num,omitempty"`
// Number of nodes before the scale-out
OriginNodeNum int `json:"origin_node_num,omitempty"`
// Scale-out status. The value can be one of the following:
// GROWING
// RESIZE_FAILURE
ResizeStatus string `json:"resize_status,omitempty"`
// Scale-out start time. Format: ISO8601:YYYY-MM-DDThh:mm:ss
StartTime string `json:"start_time,omitempty"`
}
type RestartClusterOpts ¶
type RestartClusterOpts struct {
ClusterId string `json:"-"`
// Restart flag.
Restart interface{} `json:"restart" required:"true"`
}
type Tags ¶
type Tags struct {
// Key. A key can contain a maximum of 36 Unicode characters, which cannot be null.
// The first and last characters cannot be spaces.
// Only letters, digits, hyphens (-), and underscores (_) are allowed. It cannot contain the following characters: =*<>\,|/
Key string `json:"key"`
// Value. A value can contain a maximum of 43 Unicode characters, which can be null. The first and last characters cannot be spaces.
// Only letters, digits, hyphens (-), and underscores (_) are allowed. It cannot contain the following characters: =*<>\,|/
Value string `json:"value"`
}
Click to show internal directories.
Click to hide internal directories.