blob: e1e59da4419308d8bda9f0d17d65051bfe8b54ea [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package model
type (
// LsBackup LocalStorageBackup
LsBackup struct {
Info *BackupMetaInfo `json:"info"`
DnList []*DataNode `json:"dn_list"`
SsBackup *SsBackup `json:"ss_backup"`
}
BackupMetaInfo struct {
ID string `json:"id"`
CSN string `json:"csn"`
BackupMode DBBackupMode `json:"backup_mode"`
StartTime string `json:"start_time"`
EndTime string `json:"end_time"`
FileName string
}
DataNode struct {
IP string `json:"ip"`
Port uint16 `json:"port"`
Status BackupStatus `json:"status"`
BackupID string `json:"backup_id"`
StartTime string `json:"start_time"`
EndTime string `json:"end_time"`
}
)
type (
SsBackup struct {
Status BackupStatus `json:"status"`
ClusterInfo *ClusterInfo `json:"cluster_info"`
StorageNodes []*StorageNode `json:"storage_nodes"`
}
StorageNode struct {
IP string `json:"ip"`
Port uint16 `json:"port,string"`
Username string `json:"username"`
Password string `json:"password"`
Database string `json:"database"`
Remark string `json:"remark,omitempty"`
}
StorageNodesInfo struct {
StorageNodes map[string][]*StorageNode `json:"storage_nodes"`
}
)