github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/mrs/v1/cluster/results.go (about) 1 package cluster 2 3 import "github.com/chnsz/golangsdk" 4 5 type Cluster struct { 6 Clusterid string `json:"clusterId"` 7 Clustername string `json:"clusterName"` 8 Masternodenum string `json:"masterNodeNum"` 9 Corenodenum string `json:"coreNodeNum"` 10 Totalnodenum string `json:"totalNodeNum"` 11 Clusterstate string `json:"clusterState"` 12 Createat string `json:"createAt"` 13 Updateat string `json:"updateAt"` 14 Billingtype string `json:"billingType"` 15 Datacenter string `json:"dataCenter"` 16 Duration string `json:"duration"` 17 Fee string `json:"fee"` 18 Hadoopversion string `json:"hadoopVersion"` 19 Masternodesize string `json:"masterNodeSize"` 20 Corenodesize string `json:"coreNodeSize"` 21 Componentlist []Component `json:"componentList"` 22 Externalip string `json:"externalIp"` 23 Externalalternateip string `json:"externalAlternateIp"` 24 Internalip string `json:"internalIp"` 25 Deploymentid string `json:"deploymentId"` 26 Remark string `json:"remark"` 27 Orderid string `json:"orderId"` 28 AvailabilityZone string `json:"azCode"` 29 Azid string `json:"azId"` 30 Azname string `json:"azName"` 31 Masternodeproductid string `json:"masterNodeProductId"` 32 Masternodespecid string `json:"masterNodeSpecId"` 33 Corenodeproductid string `json:"coreNodeProductId"` 34 Corenodespecid string `json:"coreNodeSpecId"` 35 Instanceid string `json:"instanceId"` 36 Vnc string `json:"vnc"` 37 Tenantid string `json:"tenantId"` 38 Volumesize int `json:"volumeSize"` 39 Vpc string `json:"vpc"` 40 Vpcid string `json:"vpcId"` 41 Subnetid string `json:"subnetId"` 42 Subnetname string `json:"subnetName"` 43 Securitygroupsid string `json:"securityGroupsId"` 44 Slavesecuritygroupsid string `json:"slaveSecurityGroupsId"` 45 Stagedesc string `json:"stageDesc"` 46 Safemode int `json:"safeMode"` 47 Clusterversion string `json:"clusterVersion"` 48 ClusterType int `json:"clusterType"` 49 Nodepubliccertname string `json:"nodePublicCertName"` 50 Masternodeip string `json:"masterNodeIp"` 51 Privateipfirst string `json:"privateIpFirst"` 52 Errorinfo string `json:"errorInfo"` 53 Chargingstarttime string `json:"chargingStartTime"` 54 LogCollection int `json:"logCollection"` 55 TaskNodeGroups []NodeGroup `json:"taskNodeGroups"` 56 NodeGroups []NodeGroup `json:"nodeGroups"` 57 MasterDataVolumeType string `json:"masterDataVolumeType"` 58 MasterDataVolumeSize int `json:"masterDataVolumeSize"` 59 MasterDataVolumeCount int `json:"masterDataVolumeCount"` 60 CoreDataVolumeType string `json:"coreDataVolumeType"` 61 CoreDataVolumeSize int `json:"coreDataVolumeSize"` 62 CoreDataVolumeCount int `json:"coreDataVolumeCount"` 63 BootstrapScripts []BootStrapScript `json:"bootstrapScripts"` 64 EnterpriseProjectId string `json:"enterpriseProjectId"` 65 IsMrsManagerFinish bool `json:"ismrsManagerFinish"` 66 PeriodType int `json:"periodType"` 67 Scale string `json:"scale"` 68 EipId string `json:"eipId"` 69 EipAddress string `json:"eipAddress"` 70 Eipv6Address string `json:"eipv6Address"` 71 Tags string `json:"tags"` 72 } 73 74 type Component struct { 75 Componentid string `json:"componentId"` 76 Componentname string `json:"componentName"` 77 Componentversion string `json:"componentVersion"` 78 Componentdesc string `json:"componentDesc"` 79 } 80 81 type NodeGroup struct { 82 GroupName string `json:"groupName"` 83 NodeNum int `json:"nodeNum"` 84 NodeSize string `json:"nodeSize"` 85 NodeSpecId string `json:"nodeSpecId"` 86 NodeProductId string `json:"nodeProductId"` 87 VMProductId string `json:"vmProductId"` 88 VMSpecCode string `json:"vmSpecCode"` 89 RootVolumeSize int `json:"rootVolumeSize"` 90 RootVolumeType string `json:"rootVolumeType"` 91 RootVolumeProductId string `json:"rootVolumeProductId"` 92 RootVolumeResourceSpecCode string `json:"rootVolumeResourceSpecCode"` 93 DataVolumeType string `json:"dataVolumeType"` 94 DataVolumeSize int `json:"dataVolumeSize"` 95 DataVolumeCount int `json:"dataVolumeCount"` 96 DataVolumeResourceSpecCode string `json:"dataVolumeResourceSpecCode"` 97 DataVolumeResourceType string `json:"dataVolumeResourceType"` 98 AssignedRoles []string `json:"assignedRoles"` 99 } 100 101 type BootStrapScript struct { 102 Name string `json:"name"` 103 URI string `json:"uri"` 104 Parameters string `json:"parameters"` 105 Nodes []string `json:"nodes"` 106 ActiveMaster bool `json:"active_master"` 107 BeforeComponentStart bool `json:"before_component_start"` 108 ExecuteNeedSudoRoot bool `json:"execute_need_sudo_root"` 109 FailAction string `json:"fail_action"` 110 StartTime int `json:"start_time"` 111 State string `json:"state"` 112 } 113 114 type ClusterResult struct { 115 ClusterID string `json:"cluster_id"` 116 Result bool `json:"result"` 117 Msg string `json:"msg"` 118 } 119 120 type HostListResult struct { 121 Hosts []Host `json:"hosts"` 122 Total int `json:"total"` 123 } 124 125 type Host struct { 126 // VM ID 127 Id string `json:"id"` 128 // VM IP address 129 Ip string `json:"ip"` 130 // VM flavor ID 131 Flavor string `json:"flavor"` 132 // VM type 133 // Currently, MasterNode, CoreNode, and TaskNode are supported. 134 Type string `json:"type"` 135 // VM name 136 Name string `json:"name"` 137 // Current VM state 138 Status string `json:"status"` 139 // Memory 140 Mem string `json:"mem"` 141 // Number of CPU cores 142 Cpu string `json:"cpu"` 143 // OS disk capacity 144 RootVolumeSize string `json:"root_volume_size"` 145 // Data disk type 146 DataVolumeType string `json:"data_volume_type"` 147 // Data disk capacity 148 DataVolumeSize int `json:"data_volume_size"` 149 // Number of data disks 150 DataVolumeCount int `json:"data_volume_count"` 151 } 152 153 type CreateResult struct { 154 golangsdk.Result 155 } 156 157 func (r CreateResult) Extract() (*ClusterResult, error) { 158 var s ClusterResult 159 err := r.ExtractInto(&s) 160 return &s, err 161 } 162 163 type GetResult struct { 164 golangsdk.Result 165 } 166 167 func (r GetResult) Extract() (*Cluster, error) { 168 var s Cluster 169 err := r.ExtractInto(&s) 170 return &s, err 171 } 172 173 func (r GetResult) ExtractInto(v interface{}) error { 174 return r.Result.ExtractIntoStructPtr(v, "cluster") 175 } 176 177 // UpdateResult represents a result of the Update method. 178 type UpdateResult struct { 179 golangsdk.Result 180 } 181 182 // UpdateResp is an object struct that represents an result of node group resize operation. 183 type UpdateResp struct { 184 // Operation result 185 // succeeded: The operation is successful. 186 // Table 8 describes the error codes returned upon operation failures. 187 Result string `json:"result"` 188 } 189 190 // Extract is a method which to extract the response of the resize operation. 191 func (r UpdateResult) Extract() (*UpdateResp, error) { 192 var s UpdateResp 193 err := r.ExtractInto(&s) 194 return &s, err 195 } 196 197 type DeleteResult struct { 198 golangsdk.ErrResult 199 }