github.com/huaweicloud/golangsdk@v0.0.0-20210831081626-d823fe11ceba/openstack/mrs/v1/cluster/results.go (about) 1 package cluster 2 3 import "github.com/huaweicloud/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 } 69 70 type Component struct { 71 Componentid string `json:"componentId"` 72 Componentname string `json:"componentName"` 73 Componentversion string `json:"componentVersion"` 74 Componentdesc string `json:"componentDesc"` 75 } 76 77 type NodeGroup struct { 78 GroupName string `json:"groupName"` 79 NodeNum int `json:"nodeNum"` 80 NodeSize string `json:"nodeSize"` 81 NodeSpecId string `json:"nodeSpecId"` 82 NodeProductId string `json:"nodeProductId"` 83 VMProductId string `json:"vmProductId"` 84 VMSpecCode string `json:"vmSpecCode"` 85 RootVolumeSize int `json:"rootVolumeSize"` 86 RootVolumeType string `json:"rootVolumeType"` 87 RootVolumeProductId string `json:"rootVolumeProductId"` 88 RootVolumeResourceSpecCode string `json:"rootVolumeResourceSpecCode"` 89 DataVolumeType string `json:"dataVolumeType"` 90 DataVolumeSize int `json:"dataVolumeSize"` 91 DataVolumeCount int `json:"dataVolumeCount"` 92 DataVolumeResourceSpecCode string `json:"dataVolumeResourceSpecCode"` 93 DataVolumeResourceType string `json:"dataVolumeResourceType"` 94 } 95 96 type BootStrapScript struct { 97 Name string `json:"name"` 98 Uri string `json:"uri"` 99 Parameters string `json:"parameters"` 100 Nodes []string `json:"nodes"` 101 ActiveMaster bool `json:"active_master"` 102 BeforeComponentStart bool `json:"before_component_start"` 103 FailAction string `json:"fail_action"` 104 StartTime string `json:"start_time"` 105 State string `json:"state"` 106 } 107 108 type ClusterResult struct { 109 ClusterID string `json:"cluster_id"` 110 Result bool `json:"result"` 111 Msg string `json:"msg"` 112 } 113 114 type HostListResult struct { 115 Hosts []Host `json:"hosts"` 116 Total int `json:"total"` 117 } 118 119 type Host struct { 120 // VM ID 121 Id string `json:"id"` 122 // VM IP address 123 Ip string `json:"ip"` 124 // VM flavor ID 125 Flavor string `json:"flavor"` 126 // VM type 127 // Currently, MasterNode, CoreNode, and TaskNode are supported. 128 Type string `json:"type"` 129 // VM name 130 Name string `json:"name"` 131 // Current VM state 132 Status string `json:"status"` 133 // Memory 134 Mem string `json:"mem"` 135 // Number of CPU cores 136 Cpu string `json:"cpu"` 137 // OS disk capacity 138 RootVolumeSize string `json:"root_volume_size"` 139 // Data disk type 140 DataVolumeType string `json:"data_volume_type"` 141 // Data disk capacity 142 DataVolumeSize int `json:"data_volume_size"` 143 // Number of data disks 144 DataVolumeCount int `json:"data_volume_count"` 145 } 146 147 type CreateResult struct { 148 golangsdk.Result 149 } 150 151 func (r CreateResult) Extract() (*ClusterResult, error) { 152 var s ClusterResult 153 err := r.ExtractInto(&s) 154 return &s, err 155 } 156 157 type GetResult struct { 158 golangsdk.Result 159 } 160 161 func (r GetResult) Extract() (*Cluster, error) { 162 var s Cluster 163 err := r.ExtractInto(&s) 164 return &s, err 165 } 166 167 func (r GetResult) ExtractInto(v interface{}) error { 168 return r.Result.ExtractIntoStructPtr(v, "cluster") 169 } 170 171 // UpdateResult represents a result of the Update method. 172 type UpdateResult struct { 173 golangsdk.Result 174 } 175 176 // UpdateResp is an object struct that represents an result of node group resize operation. 177 type UpdateResp struct { 178 // Operation result 179 // succeeded: The operation is successful. 180 // Table 8 describes the error codes returned upon operation failures. 181 Result string `json:"result"` 182 } 183 184 // Extract is a method which to extract the response of the resize operation. 185 func (r UpdateResult) Extract() (*UpdateResp, error) { 186 var s UpdateResp 187 err := r.ExtractInto(&s) 188 return &s, err 189 } 190 191 type DeleteResult struct { 192 golangsdk.ErrResult 193 }