| @@ -181,89 +181,89 @@ type SubmitJobReq struct { | |||
| Appname string `json:"appname"` | |||
| StrJobManagerID int64 `json:"strJobManagerID"` | |||
| MapAppJobInfo MapAppJobInfo `json:"mapAppJobInfo"` | |||
| Account string `json:"account,omitempty"` | |||
| Acctg_freq string `json:"acctg_freq,omitempty"` | |||
| Alloc_node string `json:"alloc_node,omitempty"` | |||
| Alloc_resp_port int32 `json:"alloc_resp_port,omitempty"` | |||
| Alloc_sid int32 `json:"alloc_sid,omitempty"` | |||
| Argc int32 `json:"argc,omitempty"` | |||
| Argv []Argv `json:"Argv,omitempty"` | |||
| Array_inx string `json:"array_inx,omitempty"` | |||
| Begin_time int64 `json:"begin_time,omitempty"` | |||
| Ckpt_interval int32 `json:"ckpt_interval,omitempty"` | |||
| Ckpt_dir string `json:"ckpt_dir,omitempty"` | |||
| Comment string `json:"comment,omitempty"` | |||
| Contiguous int32 `json:"contiguous,omitempty"` | |||
| Cpu_bind string `json:"cpu_bind,omitempty"` | |||
| Cpu_bind_type int32 `json:"cpu_bind_type,omitempty"` | |||
| Dependency string `json:"dependency,omitempty"` | |||
| End_time int64 `json:"end_time,omitempty"` | |||
| Environment []Environment `json:"Environment,omitempty"` | |||
| Env_size int32 `json:"env_size,omitempty"` | |||
| Exc_nodes string `json:"exc_nodes,omitempty"` | |||
| Features string `json:"features,omitempty"` | |||
| Gres string `json:"gres,omitempty"` | |||
| Group_id int32 `json:"group_id,omitempty"` | |||
| Immediate int32 `json:"immediate,omitempty"` | |||
| Job_id int32 `json:"job_id,omitempty"` | |||
| Kill_on_node_fail int32 `json:"kill_on_node_fail,omitempty"` | |||
| Licenses string `json:"licenses,omitempty"` | |||
| Mail_type int32 `json:"mail_type,omitempty"` | |||
| Mail_user string `json:"mail_user,omitempty"` | |||
| Mem_bind string `json:"mem_bind,omitempty"` | |||
| Mem_bind_type int32 `json:"mem_bind_type,omitempty"` | |||
| Name string `json:"name,omitempty"` | |||
| Network string `json:"network,omitempty"` | |||
| Nice int32 `json:"nice,omitempty"` | |||
| Num_tasks int32 `json:"num_tasks,omitempty"` | |||
| Open_mode int32 `json:"open_mode,omitempty"` | |||
| Other_port int32 `json:"other_port,omitempty"` | |||
| Overcommit int32 `json:"overcommit,omitempty"` | |||
| Partition string `json:"partition,omitempty"` | |||
| Plane_size int32 `json:"plane_size,omitempty"` | |||
| Priority int32 `json:"priority,omitempty"` | |||
| Profile int32 `json:"profile,omitempty"` | |||
| Qos string `json:"qos,omitempty"` | |||
| Resp_host string `json:"resp_host,omitempty"` | |||
| Req_nodes string `json:"req_nodes,omitempty"` | |||
| Requeue int32 `json:"requeue,omitempty"` | |||
| Reservation string `json:"reservation,omitempty"` | |||
| Script string `json:"script,omitempty"` | |||
| Shared int32 `json:"shared,omitempty"` | |||
| Spank_job_env_size int32 `json:"spank_job_env_size,omitempty"` | |||
| Task_dist int32 `json:"task_dist,omitempty"` | |||
| Time_limit int32 `json:"time_limit,omitempty"` | |||
| Time_min int32 `json:"time_min,omitempty"` | |||
| User_id int32 `json:"user_id,omitempty"` | |||
| Wait_all_nodes int32 `json:"wait_all_nodes,omitempty"` | |||
| Warn_signal int32 `json:"warn_signal,omitempty"` | |||
| Warn_time int32 `json:"warn_time,omitempty"` | |||
| Work_dir string `json:"work_dir,omitempty"` | |||
| Cpus_per_task int32 `json:"cpus_per_task,omitempty"` | |||
| Min_cpus int32 `json:"min_cpus,omitempty"` | |||
| Max_cpus int32 `json:"max_cpus,omitempty"` | |||
| Min_nodes int32 `json:"min_nodes,omitempty"` | |||
| Max_nodes int32 `json:"max_nodes,omitempty"` | |||
| Boards_per_node int32 `json:"boards_per_node,omitempty"` | |||
| Sockets_per_board int32 `json:"sockets_per_board,omitempty"` | |||
| Sockets_per_node int32 `json:"sockets_per_node,omitempty"` | |||
| Cores_per_socket int32 `json:"cores_per_socket,omitempty"` | |||
| Threads_per_core int32 `json:"threads_per_core,omitempty"` | |||
| Ntasks_per_node int32 `json:"ntasks_per_node,omitempty"` | |||
| Ntasks_per_socket int32 `json:"ntasks_per_socket,omitempty"` | |||
| Ntasks_per_core int32 `json:"ntasks_per_core,omitempty"` | |||
| Ntasks_per_board int32 `json:"ntasks_per_board,omitempty"` | |||
| Pn_min_cpus int32 `json:"pn_min_cpus,omitempty"` | |||
| Pn_min_memory int32 `json:"pn_min_memory,omitempty"` | |||
| Pn_min_tmp_disk int32 `json:"pn_min_tmp_disk,omitempty"` | |||
| Reboot int32 `json:"reboot,omitempty"` | |||
| Rotate int32 `json:"rotate,omitempty"` | |||
| Req_switch int32 `json:"req_switch,omitempty"` | |||
| Std_err string `json:"std_err,omitempty"` | |||
| Std_in string `json:"std_in,omitempty"` | |||
| Std_out string `json:"std_out,omitempty"` | |||
| Wait4switch int32 `json:"wait4switch,omitempty"` | |||
| Wckey string `json:"wckey,omitempty"` | |||
| Account string `json:"account,optional"` | |||
| Acctg_freq string `json:"acctg_freq,optional"` | |||
| Alloc_node string `json:"alloc_node,optional"` | |||
| Alloc_resp_port int32 `json:"alloc_resp_port,optional"` | |||
| Alloc_sid int32 `json:"alloc_sid,optional"` | |||
| Argc int32 `json:"argc,optional"` | |||
| Argv []Argv `json:"Argv,optional"` | |||
| Array_inx string `json:"array_inx,optional"` | |||
| Begin_time int64 `json:"begin_time,optional"` | |||
| Ckpt_interval int32 `json:"ckpt_interval,optional"` | |||
| Ckpt_dir string `json:"ckpt_dir,optional"` | |||
| Comment string `json:"comment,optional"` | |||
| Contiguous int32 `json:"contiguous,optional"` | |||
| Cpu_bind string `json:"cpu_bind,optional"` | |||
| Cpu_bind_type int32 `json:"cpu_bind_type,optional"` | |||
| Dependency string `json:"dependency,optional"` | |||
| End_time int64 `json:"end_time,optional"` | |||
| Environment []Environment `json:"Environment,optional"` | |||
| Env_size int32 `json:"env_size,optional"` | |||
| Exc_nodes string `json:"exc_nodes,optional"` | |||
| Features string `json:"features,optional"` | |||
| Gres string `json:"gres,optional"` | |||
| Group_id int32 `json:"group_id,optional"` | |||
| Immediate int32 `json:"immediate,optional"` | |||
| Job_id int32 `json:"job_id,optional"` | |||
| Kill_on_node_fail int32 `json:"kill_on_node_fail,optional"` | |||
| Licenses string `json:"licenses,optional"` | |||
| Mail_type int32 `json:"mail_type,optional"` | |||
| Mail_user string `json:"mail_user,optional"` | |||
| Mem_bind string `json:"mem_bind,optional"` | |||
| Mem_bind_type int32 `json:"mem_bind_type,optional"` | |||
| Name string `json:"name,optional"` | |||
| Network string `json:"network,optional"` | |||
| Nice int32 `json:"nice,optional"` | |||
| Num_tasks int32 `json:"num_tasks,optional"` | |||
| Open_mode int32 `json:"open_mode,optional"` | |||
| Other_port int32 `json:"other_port,optional"` | |||
| Overcommit int32 `json:"overcommit,optional"` | |||
| Partition string `json:"partition,optional"` | |||
| Plane_size int32 `json:"plane_size,optional"` | |||
| Priority int32 `json:"priority,optional"` | |||
| Profile int32 `json:"profile,optional"` | |||
| Qos string `json:"qos,optional"` | |||
| Resp_host string `json:"resp_host,optional"` | |||
| Req_nodes string `json:"req_nodes,optional"` | |||
| Requeue int32 `json:"requeue,optional"` | |||
| Reservation string `json:"reservation,optional"` | |||
| Script string `json:"script,optional"` | |||
| Shared int32 `json:"shared,optional"` | |||
| Spank_job_env_size int32 `json:"spank_job_env_size,optional"` | |||
| Task_dist int32 `json:"task_dist,optional"` | |||
| Time_limit int32 `json:"time_limit,optional"` | |||
| Time_min int32 `json:"time_min,optional"` | |||
| User_id int32 `json:"user_id,optional"` | |||
| Wait_all_nodes int32 `json:"wait_all_nodes,optional"` | |||
| Warn_signal int32 `json:"warn_signal,optional"` | |||
| Warn_time int32 `json:"warn_time,optional"` | |||
| Work_dir string `json:"work_dir,optional"` | |||
| Cpus_per_task int32 `json:"cpus_per_task,optional"` | |||
| Min_cpus int32 `json:"min_cpus,optional"` | |||
| Max_cpus int32 `json:"max_cpus,optional"` | |||
| Min_nodes int32 `json:"min_nodes,optional"` | |||
| Max_nodes int32 `json:"max_nodes,optional"` | |||
| Boards_per_node int32 `json:"boards_per_node,optional"` | |||
| Sockets_per_board int32 `json:"sockets_per_board,optional"` | |||
| Sockets_per_node int32 `json:"sockets_per_node,optional"` | |||
| Cores_per_socket int32 `json:"cores_per_socket,optional"` | |||
| Threads_per_core int32 `json:"threads_per_core,optional"` | |||
| Ntasks_per_node int32 `json:"ntasks_per_node,optional"` | |||
| Ntasks_per_socket int32 `json:"ntasks_per_socket,optional"` | |||
| Ntasks_per_core int32 `json:"ntasks_per_core,optional"` | |||
| Ntasks_per_board int32 `json:"ntasks_per_board,optional"` | |||
| Pn_min_cpus int32 `json:"pn_min_cpus,optional"` | |||
| Pn_min_memory int32 `json:"pn_min_memory,optional"` | |||
| Pn_min_tmp_disk int32 `json:"pn_min_tmp_disk,optional"` | |||
| Reboot int32 `json:"reboot,optional"` | |||
| Rotate int32 `json:"rotate,optional"` | |||
| Req_switch int32 `json:"req_switch,optional"` | |||
| Std_err string `json:"std_err,optional"` | |||
| Std_in string `json:"std_in,optional"` | |||
| Std_out string `json:"std_out,optional"` | |||
| Wait4switch int32 `json:"wait4switch,optional"` | |||
| Wckey string `json:"wckey,optional"` | |||
| } | |||
| type SubmitJobResp struct { | |||
| @@ -273,24 +273,32 @@ type SubmitJobResp struct { | |||
| } | |||
| type MapAppJobInfo struct { | |||
| GAP_CMD_FILE string `json:"GAP_CMD_FILE"` //命令行内容 | |||
| GAP_NNODE string `json:"GAP_NNODE"` //节点个数 | |||
| GAP_SUBMIT_TYPE string `json:"GAP_SUBMIT_TYPE"` //cmd(命令行模式) | |||
| GAP_JOB_NAME string `json:"GAP_JOB_NAME"` //作业名称 | |||
| GAP_WORK_DIR string `json:"GAP_WORK_DIR"` //工作路径 | |||
| GAP_QUEUE string `json:"GAP_QUEUE"` //队列名称 | |||
| GAP_WALL_TIME string `json:"GAP_WALL_TIME"` //最大运行时长(HH:MM:ss) | |||
| GAP_APPNAME string `json:"GAP_APPNAME"` //BASE(基础应用),支持填写具体的应用英文名称 | |||
| GAP_STD_OUT_FILE string `json:"GAP_STD_OUT_FILE"` //工作路径/std.out.%j | |||
| GAP_STD_ERR_FILE string `json:"GAP_STD_ERR_FILE"` //工作路径/std.err.%j | |||
| GAP_CMD_FILE string `json:"GAP_CMD_FILE"` //命令行内容 | |||
| GAP_NNODE string `json:"GAP_NNODE"` //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") | |||
| GAP_NODE_STRING string `json:"GAP_NODE_STRING,optional"` //指定节点(当指定该参数时,GAP_NNODE必须为"") | |||
| GAP_SUBMIT_TYPE string `json:"GAP_SUBMIT_TYPE"` //cmd(命令行模式) | |||
| GAP_JOB_NAME string `json:"GAP_JOB_NAME"` //作业名称 | |||
| GAP_WORK_DIR string `json:"GAP_WORK_DIR"` //工作路径 | |||
| GAP_QUEUE string `json:"GAP_QUEUE"` //队列名称 | |||
| GAP_NPROC string `json:"GAP_NPROC,optional"` //总核心数(GAP_NPROC和GAP_PPN选其一填写) | |||
| GAP_PPN string `json:"GAP_PPN,optional"` //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) | |||
| GAP_NGPU string `json:"GAP_NGPU,optional"` //GPU卡数/节点 | |||
| GAP_NDCU string `json:"GAP_NDCU,optional"` //DCU卡数/节点 | |||
| GAP_JOB_MEM string `json:"GAP_JOB_MEM,optional"` //每个节点内存值,单位为MB/GB | |||
| GAP_WALL_TIME string `json:"GAP_WALL_TIME"` //最大运行时长(HH:MM:ss) | |||
| GAP_EXCLUSIVE string `json:"GAP_EXCLUSIVE,optional"` // 是否独占节点,1为独占,空为非独占 | |||
| GAP_APPNAME string `json:"GAP_APPNAME"` //BASE(基础应用),支持填写具体的应用英文名称 | |||
| GAP_MULTI_SUB string `json:"GAP_MULTI_SUB,optional"` //作业组长度,建议为小于等于50的正整数 | |||
| GAP_STD_OUT_FILE string `json:"GAP_STD_OUT_FILE"` //工作路径/std.out.%j | |||
| GAP_STD_ERR_FILE string `json:"GAP_STD_ERR_FILE"` //工作路径/std.err.%j | |||
| } | |||
| type Argv struct { | |||
| Argv string `json:"argv,omitempty"` | |||
| Argv string `json:"argv,optional"` | |||
| } | |||
| type Environment struct { | |||
| Environment string `json:"environment,omitempty"` | |||
| Environment string `json:"environment,optional"` | |||
| } | |||
| type GetRegionResp struct { | |||
| @@ -200,89 +200,89 @@ type ( | |||
| MapAppJobInfo MapAppJobInfo `json:"mapAppJobInfo"` | |||
| /****************parmas from shuguang********************/ | |||
| Account string `json:"account,omitempty"` | |||
| Acctg_freq string `json:"acctg_freq,omitempty"` | |||
| Alloc_node string `json:"alloc_node,omitempty"` | |||
| Alloc_resp_port int32 `json:"alloc_resp_port,omitempty"` | |||
| Alloc_sid int32 `json:"alloc_sid,omitempty"` | |||
| Argc int32 `json:"argc,omitempty"` | |||
| Argv []Argv `json:"Argv,omitempty"` | |||
| Array_inx string `json:"array_inx,omitempty"` | |||
| Begin_time int64 `json:"begin_time,omitempty"` | |||
| Ckpt_interval int32 `json:"ckpt_interval,omitempty"` | |||
| Ckpt_dir string `json:"ckpt_dir,omitempty"` | |||
| Comment string `json:"comment,omitempty"` | |||
| Contiguous int32 `json:"contiguous,omitempty"` | |||
| Cpu_bind string `json:"cpu_bind,omitempty"` | |||
| Cpu_bind_type int32 `json:"cpu_bind_type,omitempty"` | |||
| Dependency string `json:"dependency,omitempty"` | |||
| End_time int64 `json:"end_time,omitempty"` | |||
| Environment []Environment `json:"Environment,omitempty"` | |||
| Env_size int32 `json:"env_size,omitempty"` | |||
| Exc_nodes string `json:"exc_nodes,omitempty"` | |||
| Features string `json:"features,omitempty"` | |||
| Gres string `json:"gres,omitempty"` | |||
| Group_id int32 `json:"group_id,omitempty"` | |||
| Immediate int32 `json:"immediate,omitempty"` | |||
| Job_id int32 `json:"job_id,omitempty"` | |||
| Kill_on_node_fail int32 `json:"kill_on_node_fail,omitempty"` | |||
| Licenses string `json:"licenses,omitempty"` | |||
| Mail_type int32 `json:"mail_type,omitempty"` | |||
| Mail_user string `json:"mail_user,omitempty"` | |||
| Mem_bind string `json:"mem_bind,omitempty"` | |||
| Mem_bind_type int32 `json:"mem_bind_type,omitempty"` | |||
| Name string `json:"name,omitempty"` | |||
| Network string `json:"network,omitempty"` | |||
| Nice int32 `json:"nice,omitempty"` | |||
| Num_tasks int32 `json:"num_tasks,omitempty"` | |||
| Open_mode int32 `json:"open_mode,omitempty"` | |||
| Other_port int32 `json:"other_port,omitempty"` | |||
| Overcommit int32 `json:"overcommit,omitempty"` | |||
| Partition string `json:"partition,omitempty"` | |||
| Plane_size int32 `json:"plane_size,omitempty"` | |||
| Priority int32 `json:"priority,omitempty"` | |||
| Profile int32 `json:"profile,omitempty"` | |||
| Qos string `json:"qos,omitempty"` | |||
| Resp_host string `json:"resp_host,omitempty"` | |||
| Req_nodes string `json:"req_nodes,omitempty"` | |||
| Requeue int32 `json:"requeue,omitempty"` | |||
| Reservation string `json:"reservation,omitempty"` | |||
| Script string `json:"script,omitempty"` | |||
| Shared int32 `json:"shared,omitempty"` | |||
| Spank_job_env_size int32 `json:"spank_job_env_size,omitempty"` | |||
| Task_dist int32 `json:"task_dist,omitempty"` | |||
| Time_limit int32 `json:"time_limit,omitempty"` | |||
| Time_min int32 `json:"time_min,omitempty"` | |||
| User_id int32 `json:"user_id,omitempty"` | |||
| Wait_all_nodes int32 `json:"wait_all_nodes,omitempty"` | |||
| Warn_signal int32 `json:"warn_signal,omitempty"` | |||
| Warn_time int32 `json:"warn_time,omitempty"` | |||
| Work_dir string `json:"work_dir,omitempty"` | |||
| Cpus_per_task int32 `json:"cpus_per_task,omitempty"` | |||
| Min_cpus int32 `json:"min_cpus,omitempty"` | |||
| Max_cpus int32 `json:"max_cpus,omitempty"` | |||
| Min_nodes int32 `json:"min_nodes,omitempty"` | |||
| Max_nodes int32 `json:"max_nodes,omitempty"` | |||
| Boards_per_node int32 `json:"boards_per_node,omitempty"` | |||
| Sockets_per_board int32 `json:"sockets_per_board,omitempty"` | |||
| Sockets_per_node int32 `json:"sockets_per_node,omitempty"` | |||
| Cores_per_socket int32 `json:"cores_per_socket,omitempty"` | |||
| Threads_per_core int32 `json:"threads_per_core,omitempty"` | |||
| Ntasks_per_node int32 `json:"ntasks_per_node,omitempty"` | |||
| Ntasks_per_socket int32 `json:"ntasks_per_socket,omitempty"` | |||
| Ntasks_per_core int32 `json:"ntasks_per_core,omitempty"` | |||
| Ntasks_per_board int32 `json:"ntasks_per_board,omitempty"` | |||
| Pn_min_cpus int32 `json:"pn_min_cpus,omitempty"` | |||
| Pn_min_memory int32 `json:"pn_min_memory,omitempty"` | |||
| Pn_min_tmp_disk int32 `json:"pn_min_tmp_disk,omitempty"` | |||
| Reboot int32 `json:"reboot,omitempty"` | |||
| Rotate int32 `json:"rotate,omitempty"` | |||
| Req_switch int32 `json:"req_switch,omitempty"` | |||
| Std_err string `json:"std_err,omitempty"` | |||
| Std_in string `json:"std_in,omitempty"` | |||
| Std_out string `json:"std_out,omitempty"` | |||
| Wait4switch int32 `json:"wait4switch,omitempty"` | |||
| Wckey string `json:"wckey,omitempty"` | |||
| Account string `json:"account,optional"` | |||
| Acctg_freq string `json:"acctg_freq,optional"` | |||
| Alloc_node string `json:"alloc_node,optional"` | |||
| Alloc_resp_port int32 `json:"alloc_resp_port,optional"` | |||
| Alloc_sid int32 `json:"alloc_sid,optional"` | |||
| Argc int32 `json:"argc,optional"` | |||
| Argv []Argv `json:"Argv,optional"` | |||
| Array_inx string `json:"array_inx,optional"` | |||
| Begin_time int64 `json:"begin_time,optional"` | |||
| Ckpt_interval int32 `json:"ckpt_interval,optional"` | |||
| Ckpt_dir string `json:"ckpt_dir,optional"` | |||
| Comment string `json:"comment,optional"` | |||
| Contiguous int32 `json:"contiguous,optional"` | |||
| Cpu_bind string `json:"cpu_bind,optional"` | |||
| Cpu_bind_type int32 `json:"cpu_bind_type,optional"` | |||
| Dependency string `json:"dependency,optional"` | |||
| End_time int64 `json:"end_time,optional"` | |||
| Environment []Environment `json:"Environment,optional"` | |||
| Env_size int32 `json:"env_size,optional"` | |||
| Exc_nodes string `json:"exc_nodes,optional"` | |||
| Features string `json:"features,optional"` | |||
| Gres string `json:"gres,optional"` | |||
| Group_id int32 `json:"group_id,optional"` | |||
| Immediate int32 `json:"immediate,optional"` | |||
| Job_id int32 `json:"job_id,optional"` | |||
| Kill_on_node_fail int32 `json:"kill_on_node_fail,optional"` | |||
| Licenses string `json:"licenses,optional"` | |||
| Mail_type int32 `json:"mail_type,optional"` | |||
| Mail_user string `json:"mail_user,optional"` | |||
| Mem_bind string `json:"mem_bind,optional"` | |||
| Mem_bind_type int32 `json:"mem_bind_type,optional"` | |||
| Name string `json:"name,optional"` | |||
| Network string `json:"network,optional"` | |||
| Nice int32 `json:"nice,optional"` | |||
| Num_tasks int32 `json:"num_tasks,optional"` | |||
| Open_mode int32 `json:"open_mode,optional"` | |||
| Other_port int32 `json:"other_port,optional"` | |||
| Overcommit int32 `json:"overcommit,optional"` | |||
| Partition string `json:"partition,optional"` | |||
| Plane_size int32 `json:"plane_size,optional"` | |||
| Priority int32 `json:"priority,optional"` | |||
| Profile int32 `json:"profile,optional"` | |||
| Qos string `json:"qos,optional"` | |||
| Resp_host string `json:"resp_host,optional"` | |||
| Req_nodes string `json:"req_nodes,optional"` | |||
| Requeue int32 `json:"requeue,optional"` | |||
| Reservation string `json:"reservation,optional"` | |||
| Script string `json:"script,optional"` | |||
| Shared int32 `json:"shared,optional"` | |||
| Spank_job_env_size int32 `json:"spank_job_env_size,optional"` | |||
| Task_dist int32 `json:"task_dist,optional"` | |||
| Time_limit int32 `json:"time_limit,optional"` | |||
| Time_min int32 `json:"time_min,optional"` | |||
| User_id int32 `json:"user_id,optional"` | |||
| Wait_all_nodes int32 `json:"wait_all_nodes,optional"` | |||
| Warn_signal int32 `json:"warn_signal,optional"` | |||
| Warn_time int32 `json:"warn_time,optional"` | |||
| Work_dir string `json:"work_dir,optional"` | |||
| Cpus_per_task int32 `json:"cpus_per_task,optional"` | |||
| Min_cpus int32 `json:"min_cpus,optional"` | |||
| Max_cpus int32 `json:"max_cpus,optional"` | |||
| Min_nodes int32 `json:"min_nodes,optional"` | |||
| Max_nodes int32 `json:"max_nodes,optional"` | |||
| Boards_per_node int32 `json:"boards_per_node,optional"` | |||
| Sockets_per_board int32 `json:"sockets_per_board,optional"` | |||
| Sockets_per_node int32 `json:"sockets_per_node,optional"` | |||
| Cores_per_socket int32 `json:"cores_per_socket,optional"` | |||
| Threads_per_core int32 `json:"threads_per_core,optional"` | |||
| Ntasks_per_node int32 `json:"ntasks_per_node,optional"` | |||
| Ntasks_per_socket int32 `json:"ntasks_per_socket,optional"` | |||
| Ntasks_per_core int32 `json:"ntasks_per_core,optional"` | |||
| Ntasks_per_board int32 `json:"ntasks_per_board,optional"` | |||
| Pn_min_cpus int32 `json:"pn_min_cpus,optional"` | |||
| Pn_min_memory int32 `json:"pn_min_memory,optional"` | |||
| Pn_min_tmp_disk int32 `json:"pn_min_tmp_disk,optional"` | |||
| Reboot int32 `json:"reboot,optional"` | |||
| Rotate int32 `json:"rotate,optional"` | |||
| Req_switch int32 `json:"req_switch,optional"` | |||
| Std_err string `json:"std_err,optional"` | |||
| Std_in string `json:"std_in,optional"` | |||
| Std_out string `json:"std_out,optional"` | |||
| Wait4switch int32 `json:"wait4switch,optional"` | |||
| Wckey string `json:"wckey,optional"` | |||
| } | |||
| submitJobResp { | |||
| @@ -296,24 +296,32 @@ type ( | |||
| } | |||
| MapAppJobInfo { | |||
| GAP_CMD_FILE string `json:"GAP_CMD_FILE"` //命令行内容 | |||
| GAP_NNODE string `json:"GAP_NNODE"` //节点个数 | |||
| GAP_SUBMIT_TYPE string `json:"GAP_SUBMIT_TYPE"` //cmd(命令行模式) | |||
| GAP_JOB_NAME string `json:"GAP_JOB_NAME"` //作业名称 | |||
| GAP_WORK_DIR string `json:"GAP_WORK_DIR"` //工作路径 | |||
| GAP_QUEUE string `json:"GAP_QUEUE"` //队列名称 | |||
| GAP_WALL_TIME string `json:"GAP_WALL_TIME"` //最大运行时长(HH:MM:ss) | |||
| GAP_APPNAME string `json:"GAP_APPNAME"` //BASE(基础应用),支持填写具体的应用英文名称 | |||
| GAP_STD_OUT_FILE string `json:"GAP_STD_OUT_FILE"` //工作路径/std.out.%j | |||
| GAP_STD_ERR_FILE string `json:"GAP_STD_ERR_FILE"` //工作路径/std.err.%j | |||
| GAP_CMD_FILE string `json:"GAP_CMD_FILE"` //命令行内容 | |||
| GAP_NNODE string `json:"GAP_NNODE"` //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") | |||
| GAP_NODE_STRING string `json:"GAP_NODE_STRING,optional"` //指定节点(当指定该参数时,GAP_NNODE必须为"") | |||
| GAP_SUBMIT_TYPE string `json:"GAP_SUBMIT_TYPE"` //cmd(命令行模式) | |||
| GAP_JOB_NAME string `json:"GAP_JOB_NAME"` //作业名称 | |||
| GAP_WORK_DIR string `json:"GAP_WORK_DIR"` //工作路径 | |||
| GAP_QUEUE string `json:"GAP_QUEUE"` //队列名称 | |||
| GAP_NPROC string `json:"GAP_NPROC,optional"` //总核心数(GAP_NPROC和GAP_PPN选其一填写) | |||
| GAP_PPN string `json:"GAP_PPN,optional"` //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) | |||
| GAP_NGPU string `json:"GAP_NGPU,optional"` //GPU卡数/节点 | |||
| GAP_NDCU string `json:"GAP_NDCU,optional"` //DCU卡数/节点 | |||
| GAP_JOB_MEM string `json:"GAP_JOB_MEM,optional"` //每个节点内存值,单位为MB/GB | |||
| GAP_WALL_TIME string `json:"GAP_WALL_TIME"` //最大运行时长(HH:MM:ss) | |||
| GAP_EXCLUSIVE string `json:"GAP_EXCLUSIVE,optional"` // 是否独占节点,1为独占,空为非独占 | |||
| GAP_APPNAME string `json:"GAP_APPNAME"` //BASE(基础应用),支持填写具体的应用英文名称 | |||
| GAP_MULTI_SUB string `json:"GAP_MULTI_SUB,optional"` //作业组长度,建议为小于等于50的正整数 | |||
| GAP_STD_OUT_FILE string `json:"GAP_STD_OUT_FILE"` //工作路径/std.out.%j | |||
| GAP_STD_ERR_FILE string `json:"GAP_STD_ERR_FILE"` //工作路径/std.err.%j | |||
| } | |||
| Argv { | |||
| Argv string `json:"argv,omitempty"` | |||
| Argv string `json:"argv,optional"` | |||
| } | |||
| Environment { | |||
| Environment string `json:"environment,omitempty"` | |||
| Environment string `json:"environment,optional"` | |||
| } | |||
| ) | |||
| @@ -12,7 +12,7 @@ import ( | |||
| "github.com/zeromicro/go-zero/rest" | |||
| ) | |||
| var configFile = flag.String("f", "adaptor/slurm/slurmCore/api/etc/slurmcore-api.yaml", "the config file") | |||
| var configFile = flag.String("f", "C:\\Users\\admin\\Documents\\122\\jcce\\PCM\\adaptor\\slurm\\slurmCore\\api\\etc\\slurmcore-api.yaml", "the config file") | |||
| func main() { | |||
| flag.Parse() | |||
| @@ -41,13 +41,12 @@ func (l *SubmitJobLogic) SubmitJob(in *slurmShuguang.SubmitJobReq) (*slurmShugua | |||
| jsonStr, _ := json.Marshal(in) | |||
| req_url, err := http.NewRequest("POST", "https://api01.hpccube.com:65106/"+jobSubmitUrl, bytes.NewBuffer(jsonStr)) | |||
| Gtoken := util.GetToken() | |||
| var token string | |||
| if util.GetTokenState(Gtoken) { | |||
| token = Gtoken | |||
| if util.GetTokenState(util.Gtoken) { | |||
| token = util.Gtoken | |||
| } else { | |||
| token = util.GetToken() | |||
| Gtoken = token | |||
| util.Gtoken = token | |||
| } | |||
| req_url.Header.Add("content-type", "application/json") | |||
| @@ -65,7 +64,7 @@ func (l *SubmitJobLogic) SubmitJob(in *slurmShuguang.SubmitJobReq) (*slurmShugua | |||
| defer respUrl.Body.Close() | |||
| if err != nil { | |||
| log.Fatal(err) | |||
| return resp, err | |||
| } | |||
| result, _ := ioutil.ReadAll(respUrl.Body) | |||
| @@ -69,10 +69,10 @@ type dataToken struct { | |||
| Token string `json:"token"` | |||
| } | |||
| var configFile = flag.String("flll", "adaptor/slurm/slurmShuguang/rpc/etc/slurmshuguang.yaml", "the config file") | |||
| var configFile = flag.String("flll", "C:\\Users\\admin\\Documents\\122\\jcce\\pcm\\adaptor\\slurm\\slurmShuguang\\rpc\\etc\\slurmshuguang.yaml", "the config file") | |||
| func GetClusterId() int { | |||
| httpClient := http.Client{Timeout: time.Duration(5) * time.Second} | |||
| httpClient := http.Client{Timeout: time.Duration(3) * time.Second} | |||
| var cf config.Config | |||
| conf.MustLoad(*configFile, &cf) | |||
| ctx := svc.NewServiceContext(cf) | |||
| @@ -94,7 +94,7 @@ func GetClusterId() int { | |||
| req.Header.Add("token", token) | |||
| resp, err := httpClient.Do(req) | |||
| if err != nil { | |||
| log.Fatal(err) | |||
| return 0 | |||
| } | |||
| body, err := io.ReadAll(resp.Body) | |||
| var res cluster | |||
| @@ -118,7 +118,7 @@ func GetClusterId() int { | |||
| } | |||
| func GetToken() string { | |||
| httpClient := http.Client{Timeout: time.Duration(5) * time.Second} | |||
| httpClient := http.Client{Timeout: time.Duration(3) * time.Second} | |||
| var cf config.Config | |||
| conf.MustLoad(*configFile, &cf) | |||
| ctx := svc.NewServiceContext(cf) | |||
| @@ -133,7 +133,7 @@ func GetToken() string { | |||
| resp, err := httpClient.Do(req) | |||
| if err != nil { | |||
| log.Fatal(err) | |||
| return "" | |||
| } | |||
| body, err := io.ReadAll(resp.Body) | |||
| @@ -158,7 +158,7 @@ func GetToken() string { | |||
| } | |||
| func GetTokenState(token string) bool { | |||
| httpClient := http.Client{Timeout: time.Duration(5) * time.Second} | |||
| httpClient := http.Client{Timeout: time.Duration(3) * time.Second} | |||
| var cf config.Config | |||
| conf.MustLoad(*configFile, &cf) | |||
| ctx := svc.NewServiceContext(cf) | |||
| @@ -171,7 +171,7 @@ func GetTokenState(token string) bool { | |||
| resp, err := httpClient.Do(req) | |||
| var res stateToken | |||
| if err != nil { | |||
| log.Fatal(err) | |||
| return false | |||
| } | |||
| body, err := io.ReadAll(resp.Body) | |||
| err = json.Unmarshal(body, &res) | |||
| @@ -91,15 +91,23 @@ message SubmitJobResp{ | |||
| message MapAppJobInfo{ | |||
| string GAP_CMD_FILE = 1; // @gotags: copier:"GAP_CMD_FILE" //命令行内容 | |||
| string GAP_NNODE = 2; // @gotags: copier:"GAP_NNODE" //节点个数 | |||
| string GAP_SUBMIT_TYPE = 3; // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) | |||
| string GAP_JOB_NAME = 4; // @gotags: copier:"GAP_JOB_NAME" //作业名称 | |||
| string GAP_WORK_DIR = 5; // @gotags: copier:"GAP_WORK_DIR" //工作路径 | |||
| string GAP_QUEUE = 6; // @gotags: copier:"GAP_QUEUE" //队列名称 | |||
| string GAP_WALL_TIME = 7; // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) | |||
| string GAP_APPNAME = 8; // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 | |||
| string GAP_STD_OUT_FILE = 9; // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j | |||
| string GAP_STD_ERR_FILE = 10; // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j | |||
| string GAP_NNODE = 2; // @gotags: copier:"GAP_NNODE" //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") | |||
| string GAP_NODE_STRING = 3; // @gotags: copier:"GAP_NODE_STRING" //指定节点(当指定该参数时,GAP_NNODE必须为"") | |||
| string GAP_SUBMIT_TYPE = 4; // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) | |||
| string GAP_JOB_NAME = 5; // @gotags: copier:"GAP_JOB_NAME" //作业名称 | |||
| string GAP_WORK_DIR = 6; // @gotags: copier:"GAP_WORK_DIR" //工作路径 | |||
| string GAP_QUEUE = 7; // @gotags: copier:"GAP_QUEUE" //队列名称 | |||
| string GAP_NPROC = 8; // @gotags: copier:"GAP_NPROC" //总核心数(GAP_NPROC和GAP_PPN选其一填写) | |||
| string GAP_PPN = 9; // @gotags: copier:"GAP_PPN" //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) | |||
| string GAP_NGPU = 10; // @gotags: copier:"GAP_NGPU" //GPU卡数/节点 | |||
| string GAP_NDCU = 11; // @gotags: copier:"GAP_NDCU" //DCU卡数/节点 | |||
| string GAP_JOB_MEM = 12; // @gotags: copier:"GAP_JOB_MEM" //每个节点内存值,单位为MB/GB | |||
| string GAP_WALL_TIME = 13; // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) | |||
| string GAP_EXCLUSIVE = 14; // @gotags: copier:"GAP_EXCLUSIVE" // 是否独占节点,1为独占,空为非独占 | |||
| string GAP_APPNAME = 15; // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 | |||
| string GAP_MULTI_SUB = 16; // @gotags: copier:"GAP_MULTI_SUB" //作业组长度,建议为小于等于50的正整数 | |||
| string GAP_STD_OUT_FILE = 17; // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j | |||
| string GAP_STD_ERR_FILE = 18; // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j | |||
| } | |||
| /******************Job(Submit) End*************************/ | |||
| @@ -772,15 +772,23 @@ type MapAppJobInfo struct { | |||
| unknownFields protoimpl.UnknownFields | |||
| GAP_CMD_FILE string `protobuf:"bytes,1,opt,name=GAP_CMD_FILE,json=GAPCMDFILE,proto3" json:"GAP_CMD_FILE,omitempty"` // @gotags: copier:"GAP_CMD_FILE" //命令行内容 | |||
| GAP_NNODE string `protobuf:"bytes,2,opt,name=GAP_NNODE,json=GAPNNODE,proto3" json:"GAP_NNODE,omitempty"` // @gotags: copier:"GAP_NNODE" //节点个数 | |||
| GAP_SUBMIT_TYPE string `protobuf:"bytes,3,opt,name=GAP_SUBMIT_TYPE,json=GAPSUBMITTYPE,proto3" json:"GAP_SUBMIT_TYPE,omitempty"` // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) | |||
| GAP_JOB_NAME string `protobuf:"bytes,4,opt,name=GAP_JOB_NAME,json=GAPJOBNAME,proto3" json:"GAP_JOB_NAME,omitempty"` // @gotags: copier:"GAP_JOB_NAME" //作业名称 | |||
| GAP_WORK_DIR string `protobuf:"bytes,5,opt,name=GAP_WORK_DIR,json=GAPWORKDIR,proto3" json:"GAP_WORK_DIR,omitempty"` // @gotags: copier:"GAP_WORK_DIR" //工作路径 | |||
| GAP_QUEUE string `protobuf:"bytes,6,opt,name=GAP_QUEUE,json=GAPQUEUE,proto3" json:"GAP_QUEUE,omitempty"` // @gotags: copier:"GAP_QUEUE" //队列名称 | |||
| GAP_WALL_TIME string `protobuf:"bytes,7,opt,name=GAP_WALL_TIME,json=GAPWALLTIME,proto3" json:"GAP_WALL_TIME,omitempty"` // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) | |||
| GAP_APPNAME string `protobuf:"bytes,8,opt,name=GAP_APPNAME,json=GAPAPPNAME,proto3" json:"GAP_APPNAME,omitempty"` // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 | |||
| GAP_STD_OUT_FILE string `protobuf:"bytes,9,opt,name=GAP_STD_OUT_FILE,json=GAPSTDOUTFILE,proto3" json:"GAP_STD_OUT_FILE,omitempty"` // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j | |||
| GAP_STD_ERR_FILE string `protobuf:"bytes,10,opt,name=GAP_STD_ERR_FILE,json=GAPSTDERRFILE,proto3" json:"GAP_STD_ERR_FILE,omitempty"` // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j | |||
| GAP_NNODE string `protobuf:"bytes,2,opt,name=GAP_NNODE,json=GAPNNODE,proto3" json:"GAP_NNODE,omitempty"` // @gotags: copier:"GAP_NNODE" //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") | |||
| GAP_NODE_STRING string `protobuf:"bytes,3,opt,name=GAP_NODE_STRING,json=GAPNODESTRING,proto3" json:"GAP_NODE_STRING,omitempty"` // @gotags: copier:"GAP_NODE_STRING" //指定节点(当指定该参数时,GAP_NNODE必须为"") | |||
| GAP_SUBMIT_TYPE string `protobuf:"bytes,4,opt,name=GAP_SUBMIT_TYPE,json=GAPSUBMITTYPE,proto3" json:"GAP_SUBMIT_TYPE,omitempty"` // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) | |||
| GAP_JOB_NAME string `protobuf:"bytes,5,opt,name=GAP_JOB_NAME,json=GAPJOBNAME,proto3" json:"GAP_JOB_NAME,omitempty"` // @gotags: copier:"GAP_JOB_NAME" //作业名称 | |||
| GAP_WORK_DIR string `protobuf:"bytes,6,opt,name=GAP_WORK_DIR,json=GAPWORKDIR,proto3" json:"GAP_WORK_DIR,omitempty"` // @gotags: copier:"GAP_WORK_DIR" //工作路径 | |||
| GAP_QUEUE string `protobuf:"bytes,7,opt,name=GAP_QUEUE,json=GAPQUEUE,proto3" json:"GAP_QUEUE,omitempty"` // @gotags: copier:"GAP_QUEUE" //队列名称 | |||
| GAP_NPROC string `protobuf:"bytes,8,opt,name=GAP_NPROC,json=GAPNPROC,proto3" json:"GAP_NPROC,omitempty"` // @gotags: copier:"GAP_NPROC" //总核心数(GAP_NPROC和GAP_PPN选其一填写) | |||
| GAP_PPN string `protobuf:"bytes,9,opt,name=GAP_PPN,json=GAPPPN,proto3" json:"GAP_PPN,omitempty"` // @gotags: copier:"GAP_PPN" //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) | |||
| GAP_NGPU string `protobuf:"bytes,10,opt,name=GAP_NGPU,json=GAPNGPU,proto3" json:"GAP_NGPU,omitempty"` // @gotags: copier:"GAP_NGPU" //GPU卡数/节点 | |||
| GAP_NDCU string `protobuf:"bytes,11,opt,name=GAP_NDCU,json=GAPNDCU,proto3" json:"GAP_NDCU,omitempty"` // @gotags: copier:"GAP_NDCU" //DCU卡数/节点 | |||
| GAP_JOB_MEM string `protobuf:"bytes,12,opt,name=GAP_JOB_MEM,json=GAPJOBMEM,proto3" json:"GAP_JOB_MEM,omitempty"` // @gotags: copier:"GAP_JOB_MEM" //每个节点内存值,单位为MB/GB | |||
| GAP_WALL_TIME string `protobuf:"bytes,13,opt,name=GAP_WALL_TIME,json=GAPWALLTIME,proto3" json:"GAP_WALL_TIME,omitempty"` // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) | |||
| GAP_EXCLUSIVE string `protobuf:"bytes,14,opt,name=GAP_EXCLUSIVE,json=GAPEXCLUSIVE,proto3" json:"GAP_EXCLUSIVE,omitempty"` // @gotags: copier:"GAP_EXCLUSIVE" // 是否独占节点,1为独占,空为非独占 | |||
| GAP_APPNAME string `protobuf:"bytes,15,opt,name=GAP_APPNAME,json=GAPAPPNAME,proto3" json:"GAP_APPNAME,omitempty"` // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 | |||
| GAP_MULTI_SUB string `protobuf:"bytes,16,opt,name=GAP_MULTI_SUB,json=GAPMULTISUB,proto3" json:"GAP_MULTI_SUB,omitempty"` // @gotags: copier:"GAP_MULTI_SUB" //作业组长度,建议为小于等于50的正整数 | |||
| GAP_STD_OUT_FILE string `protobuf:"bytes,17,opt,name=GAP_STD_OUT_FILE,json=GAPSTDOUTFILE,proto3" json:"GAP_STD_OUT_FILE,omitempty"` // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j | |||
| GAP_STD_ERR_FILE string `protobuf:"bytes,18,opt,name=GAP_STD_ERR_FILE,json=GAPSTDERRFILE,proto3" json:"GAP_STD_ERR_FILE,omitempty"` // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j | |||
| } | |||
| func (x *MapAppJobInfo) Reset() { | |||
| @@ -829,6 +837,13 @@ func (x *MapAppJobInfo) GetGAP_NNODE() string { | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_NODE_STRING() string { | |||
| if x != nil { | |||
| return x.GAP_NODE_STRING | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_SUBMIT_TYPE() string { | |||
| if x != nil { | |||
| return x.GAP_SUBMIT_TYPE | |||
| @@ -857,6 +872,41 @@ func (x *MapAppJobInfo) GetGAP_QUEUE() string { | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_NPROC() string { | |||
| if x != nil { | |||
| return x.GAP_NPROC | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_PPN() string { | |||
| if x != nil { | |||
| return x.GAP_PPN | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_NGPU() string { | |||
| if x != nil { | |||
| return x.GAP_NGPU | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_NDCU() string { | |||
| if x != nil { | |||
| return x.GAP_NDCU | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_JOB_MEM() string { | |||
| if x != nil { | |||
| return x.GAP_JOB_MEM | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_WALL_TIME() string { | |||
| if x != nil { | |||
| return x.GAP_WALL_TIME | |||
| @@ -864,6 +914,13 @@ func (x *MapAppJobInfo) GetGAP_WALL_TIME() string { | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_EXCLUSIVE() string { | |||
| if x != nil { | |||
| return x.GAP_EXCLUSIVE | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_APPNAME() string { | |||
| if x != nil { | |||
| return x.GAP_APPNAME | |||
| @@ -871,6 +928,13 @@ func (x *MapAppJobInfo) GetGAP_APPNAME() string { | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_MULTI_SUB() string { | |||
| if x != nil { | |||
| return x.GAP_MULTI_SUB | |||
| } | |||
| return "" | |||
| } | |||
| func (x *MapAppJobInfo) GetGAP_STD_OUT_FILE() string { | |||
| if x != nil { | |||
| return x.GAP_STD_OUT_FILE | |||
| @@ -1003,46 +1067,62 @@ var file_slurmShuguang_proto_rawDesc = []byte{ | |||
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, | |||
| 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, | |||
| 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, | |||
| 0x22, 0xee, 0x02, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, | |||
| 0x22, 0xeb, 0x04, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, | |||
| 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x46, 0x49, | |||
| 0x4c, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x43, 0x4d, 0x44, | |||
| 0x46, 0x49, 0x4c, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4e, 0x4f, 0x44, | |||
| 0x45, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x4e, 0x4f, 0x44, | |||
| 0x45, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, | |||
| 0x54, 0x59, 0x50, 0x45, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, | |||
| 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x59, 0x50, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, | |||
| 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, | |||
| 0x0a, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, | |||
| 0x41, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x52, 0x18, 0x05, 0x20, 0x01, 0x28, | |||
| 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x57, 0x4f, 0x52, 0x4b, 0x44, 0x49, 0x52, 0x12, 0x1b, 0x0a, | |||
| 0x09, 0x47, 0x41, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, | |||
| 0x52, 0x08, 0x47, 0x41, 0x50, 0x51, 0x55, 0x45, 0x55, 0x45, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, | |||
| 0x50, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x18, 0x07, 0x20, 0x01, 0x28, | |||
| 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x57, 0x41, 0x4c, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x12, 0x1f, | |||
| 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x08, 0x20, | |||
| 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x12, | |||
| 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x46, | |||
| 0x49, 0x4c, 0x45, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, | |||
| 0x44, 0x4f, 0x55, 0x54, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, | |||
| 0x53, 0x54, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x0a, 0x20, 0x01, | |||
| 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x46, 0x49, 0x4c, | |||
| 0x45, 0x32, 0xf0, 0x01, 0x0a, 0x0d, 0x53, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, | |||
| 0x61, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x19, | |||
| 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, | |||
| 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x73, 0x6c, 0x75, 0x72, | |||
| 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, | |||
| 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, | |||
| 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, | |||
| 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, | |||
| 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x73, 0x6c, 0x75, 0x72, | |||
| 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, | |||
| 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x09, | |||
| 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x75, 0x72, | |||
| 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, | |||
| 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, | |||
| 0x45, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, | |||
| 0x52, 0x49, 0x4e, 0x47, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x4e, | |||
| 0x4f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, | |||
| 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x18, 0x04, 0x20, 0x01, | |||
| 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x59, 0x50, | |||
| 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4e, 0x41, 0x4d, | |||
| 0x45, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4e, | |||
| 0x41, 0x4d, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x5f, | |||
| 0x44, 0x49, 0x52, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x57, 0x4f, | |||
| 0x52, 0x4b, 0x44, 0x49, 0x52, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x51, 0x55, 0x45, | |||
| 0x55, 0x45, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x51, 0x55, 0x45, | |||
| 0x55, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x18, | |||
| 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x12, | |||
| 0x17, 0x0a, 0x07, 0x47, 0x41, 0x50, 0x5f, 0x50, 0x50, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, | |||
| 0x52, 0x06, 0x47, 0x41, 0x50, 0x50, 0x50, 0x4e, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, | |||
| 0x4e, 0x47, 0x50, 0x55, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, | |||
| 0x47, 0x50, 0x55, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x44, 0x43, 0x55, 0x18, | |||
| 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x44, 0x43, 0x55, 0x12, 0x1e, | |||
| 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4d, 0x45, 0x4d, 0x18, 0x0c, 0x20, | |||
| 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4d, 0x45, 0x4d, 0x12, 0x22, | |||
| 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x18, | |||
| 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x57, 0x41, 0x4c, 0x4c, 0x54, 0x49, | |||
| 0x4d, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, | |||
| 0x49, 0x56, 0x45, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x47, 0x41, 0x50, 0x45, 0x58, | |||
| 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x12, 0x1f, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x41, | |||
| 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, | |||
| 0x50, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, | |||
| 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x53, 0x55, 0x42, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, | |||
| 0x0b, 0x47, 0x41, 0x50, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x53, 0x55, 0x42, 0x12, 0x27, 0x0a, 0x10, | |||
| 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, | |||
| 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x4f, 0x55, | |||
| 0x54, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, | |||
| 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, | |||
| 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x46, 0x49, 0x4c, 0x45, 0x32, 0xf0, | |||
| 0x01, 0x0a, 0x0d, 0x53, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, | |||
| 0x12, 0x40, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x19, 0x2e, 0x73, 0x6c, | |||
| 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, | |||
| 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, | |||
| 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, | |||
| 0x73, 0x70, 0x12, 0x55, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, | |||
| 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, | |||
| 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, | |||
| 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, | |||
| 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, | |||
| 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x09, 0x53, 0x75, 0x62, | |||
| 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x1b, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, | |||
| 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, | |||
| 0x52, 0x65, 0x73, 0x70, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, | |||
| 0x75, 0x67, 0x75, 0x61, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | |||
| 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, | |||
| 0x61, 0x6e, 0x67, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, | |||
| 0x70, 0x42, 0x10, 0x5a, 0x0e, 0x2f, 0x73, 0x6c, 0x75, 0x72, 0x6d, 0x53, 0x68, 0x75, 0x67, 0x75, | |||
| 0x61, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, | |||
| } | |||
| var ( | |||