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  }