add separate folder

This commit is contained in:
Siliang Jiao 2020-12-06 17:19:35 +09:00
parent aa912a2d00
commit e9467350d4
3 changed files with 35 additions and 26 deletions

View File

@ -5,6 +5,7 @@ import (
"net/http"
"github.com/xinsnake/databricks-sdk-golang/azure/models"
"github.com/xinsnake/databricks-sdk-golang/azure/clusters"
)
// ClustersAPI exposes the Clusters API
@ -18,21 +19,21 @@ func (a ClustersAPI) init(client DBClient) ClustersAPI {
}
// Create creates a new Spark cluster
func (a ClustersAPI) Create(cluster models.ClusterCreateReq) (models.ClusterCreateResp, error) {
var clusterResp models.ClusterCreateResp
func (a ClustersAPI) Create(cluster clusters.CreateReq) (clusters.CreateResp, error) {
var createResp clusters.CreateResp
resp, err := a.Client.performQuery(http.MethodPost, "/clusters/create", cluster, nil)
if err != nil {
return clusterResp, err
return createResp, err
}
err = json.Unmarshal(resp, &clusterResp)
return clusterResp, err
err = json.Unmarshal(resp, &createResp)
return createResp, err
}
// Edit edits the configuration of a cluster to match the provided attributes and size
func (a ClustersAPI) Edit(clusterEditReq models.ClusterEditReq) error {
_, err := a.Client.performQuery(http.MethodPost, "/clusters/edit", clusterEditReq, nil)
func (a ClustersAPI) Edit(editReq clusters.EditReq) error {
_, err := a.Client.performQuery(http.MethodPost, "/clusters/edit", editReq, nil)
return err
}

View File

@ -1,17 +1,21 @@
package models
package clusters
type ClusterCreateReq struct {
import (
"github.com/xinsnake/databricks-sdk-golang/azure/models"
)
type CreateReq struct {
NumWorkers int32 `json:"num_workers,omitempty" url:"num_workers,omitempty"`
Autoscale *AutoScale `json:"autoscale,omitempty" url:"autoscale,omitempty"`
Autoscale *models.AutoScale `json:"autoscale,omitempty" url:"autoscale,omitempty"`
ClusterName string `json:"cluster_name,omitempty" url:"cluster_name,omitempty"`
SparkVersion string `json:"spark_version,omitempty" url:"spark_version,omitempty"`
SparkConf map[string]string `json:"spark_conf,omitempty" url:"spark_conf,omitempty"`
NodeTypeID string `json:"node_type_id,omitempty" url:"node_type_id,omitempty"`
DriverNodeTypeID string `json:"driver_node_type_id,omitempty" url:"driver_node_type_id,omitempty"`
CustomTags []ClusterTag `json:"custom_tags,omitempty" url:"custom_tags,omitempty"`
ClusterLogConf *ClusterLogConf `json:"cluster_log_conf,omitempty" url:"cluster_log_conf,omitempty"`
InitScripts []InitScriptInfo `json:"init_scripts,omitempty" url:"init_scripts,omitempty"`
DockerImage DockerImage `json:"docker_image,omitempty" url:"docker_image,omitempty"`
CustomTags []models.ClusterTag `json:"custom_tags,omitempty" url:"custom_tags,omitempty"`
ClusterLogConf *models.ClusterLogConf `json:"cluster_log_conf,omitempty" url:"cluster_log_conf,omitempty"`
InitScripts []models.InitScriptInfo `json:"init_scripts,omitempty" url:"init_scripts,omitempty"`
DockerImage models.DockerImage `json:"docker_image,omitempty" url:"docker_image,omitempty"`
SparkEnvVars map[string]string `json:"spark_env_vars,omitempty" url:"spark_env_vars,omitempty"`
EnableElasticDisk bool `json:"enable_elastic_disk,omitempty" url:"enable_elastic_disk,omitempty"`
AutoterminationMinutes int32 `json:"autotermination_minutes,omitempty" url:"autotermination_minutes,omitempty"`
@ -19,6 +23,6 @@ type ClusterCreateReq struct {
IdempotencyToken string `json:"idempotency_token,omitempty" url:"idempotency_token,omitempty"`
}
type ClusterCreateResp struct {
type CreateResp struct {
ClusterID string `json:"cluster_id,omitempty" url:"cluster_id,omitempty"`
}

View File

@ -1,24 +1,28 @@
package models
package clusters
type ClusterEditReq struct {
import (
"github.com/xinsnake/databricks-sdk-golang/azure/models"
)
type EditReq struct {
NumWorkers int32 `json:"num_workers,omitempty" url:"num_workers,omitempty"`
AutoScale *AutoScale `json:"autoscale,omitempty" url:"autoscale,omitempty"`
AutoScale *models.AutoScale `json:"autoscale,omitempty" url:"autoscale,omitempty"`
ClusterID string `json:"cluster_id,omitempty" url:"cluster_id,omitempty"`
CreatorUserName string `json:"creator_user_name,omitempty" url:"creator_user_name,omitempty"`
Driver *SparkNode `json:"driver,omitempty" url:"driver,omitempty"`
Executors []SparkNode `json:"executors,omitempty" url:"executors,omitempty"`
Driver *models.SparkNode `json:"driver,omitempty" url:"driver,omitempty"`
Executors []models.SparkNode `json:"executors,omitempty" url:"executors,omitempty"`
SparkContextID int64 `json:"spark_context_id,omitempty" url:"spark_context_id,omitempty"`
JdbcPort int32 `json:"jdbc_port,omitempty" url:"jdbc_port,omitempty"`
ClusterName string `json:"cluster_name,omitempty" url:"cluster_name,omitempty"`
SparkVersion string `json:"spark_version,omitempty" url:"spark_version,omitempty"`
SparkConf *SparkConfPair `json:"spark_conf,omitempty" url:"spark_conf,omitempty"`
SparkConf *models.SparkConfPair `json:"spark_conf,omitempty" url:"spark_conf,omitempty"`
NodeTypeID string `json:"node_type_id,omitempty" url:"node_type_id,omitempty"`
DriverNodeTypeID string `json:"driver_node_type_id,omitempty" url:"driver_node_type_id,omitempty"`
ClusterLogConf *ClusterLogConf `json:"cluster_log_conf,omitempty" url:"cluster_log_conf,omitempty"`
InitScripts []InitScriptInfo `json:"init_scripts,omitempty" url:"init_scripts,omitempty"`
ClusterLogConf *models.ClusterLogConf `json:"cluster_log_conf,omitempty" url:"cluster_log_conf,omitempty"`
InitScripts []models.InitScriptInfo `json:"init_scripts,omitempty" url:"init_scripts,omitempty"`
SparkEnvVars map[string]string `json:"spark_env_vars,omitempty" url:"spark_env_vars,omitempty"`
AutoterminationMinutes int32 `json:"autotermination_minutes,omitempty" url:"autotermination_minutes,omitempty"`
State *ClusterState `json:"state,omitempty" url:"state,omitempty"`
State *models.ClusterState `json:"state,omitempty" url:"state,omitempty"`
StateMessage string `json:"state_message,omitempty" url:"state_message,omitempty"`
StartTime int64 `json:"start_time,omitempty" url:"start_time,omitempty"`
TerminateTime int64 `json:"terminate_time,omitempty" url:"terminate_time,omitempty"`
@ -27,6 +31,6 @@ type ClusterEditReq struct {
ClusterMemoryMb int64 `json:"cluster_memory_mb,omitempty" url:"cluster_memory_mb,omitempty"`
ClusterCores float32 `json:"cluster_cores,omitempty" url:"cluster_cores,omitempty"`
DefaultTags map[string]string `json:"default_tags,omitempty" url:"default_tags,omitempty"`
ClusterLogStatus *LogSyncStatus `json:"cluster_log_status,omitempty" url:"cluster_log_status,omitempty"`
TerminationReason *TerminationReason `json:"termination_reason,omitempty" url:"termination_reason,omitempty"`
ClusterLogStatus *models.LogSyncStatus `json:"cluster_log_status,omitempty" url:"cluster_log_status,omitempty"`
TerminationReason *models.TerminationReason `json:"termination_reason,omitempty" url:"termination_reason,omitempty"`
}