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.