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  }