mirror of
https://github.com/hanzozt/zt.git
synced 2026-10-30 15:04:55 +00:00
74 lines
2.5 KiB
Go
74 lines
2.5 KiB
Go
/*
|
|
Copyright NetFoundry Inc.
|
|
|
|
Licensed 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
|
|
|
|
https://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 inspect
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type LinkInspectDetail struct {
|
|
Id string `json:"id"`
|
|
Iteration uint32 `json:"iteration"`
|
|
Key string `json:"key"`
|
|
Split bool `json:"split"`
|
|
Protocol string `json:"protocol"`
|
|
DialAddress string `json:"dialAddress"`
|
|
Dest string `json:"dest"`
|
|
DestVersion string `json:"destVersion"`
|
|
Dialed bool `json:"dialed"`
|
|
Underlays map[string]int `json:"underlays"`
|
|
Connections []*LinkConnection `json:"connections"`
|
|
ConnStateIteration uint32 `json:"connStateIteration"`
|
|
}
|
|
|
|
type LinksInspectResult struct {
|
|
Links []*LinkInspectDetail `json:"links"`
|
|
Destinations []*LinkDest `json:"destinations"`
|
|
Errors []string `json:"errors"`
|
|
}
|
|
|
|
type LinkDest struct {
|
|
Id string `json:"id"`
|
|
Version string `json:"version"`
|
|
Healthy bool `json:"healthy"`
|
|
UnhealthySince *time.Time `json:"unhealthySince,omitempty"`
|
|
LinkStates []*LinkState `json:"linkStates"`
|
|
}
|
|
|
|
type LinkConnection struct {
|
|
Type string
|
|
Source string
|
|
Dest string
|
|
}
|
|
|
|
type LinkState struct {
|
|
Id string `json:"id"`
|
|
Key string `json:"key"`
|
|
Status string `json:"status"`
|
|
DialAttempts uint64 `json:"dialAttempts"`
|
|
ConnectedCount uint64 `json:"connectedCount"`
|
|
RetryDelay string `json:"retryDelay"`
|
|
NextDial string `json:"nextDial"`
|
|
TargetAddress string `json:"targetAddress"`
|
|
TargetGroups []string `json:"targetGroups"`
|
|
TargetBinding string `json:"targetBinding"`
|
|
DialerGroups []string `json:"dialerGroups"`
|
|
DialerBinding string `json:"dialerBinding"`
|
|
CtrlsNotified bool `json:"ctrlsNotified"`
|
|
EstablishedLinkId string `json:"establishedLinkId"`
|
|
}
|