aboutsummaryrefslogtreecommitdiff
path: root/echo/netbox/model.go
blob: 78f2ca607d31d0f0715775a92bdca822032d17a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package netbox

type LabeledInt struct {
	Value int    `json:"value"`
	Label string `json:"label"`
}

type LabeledString struct {
	Value string `json:"value"`
	Label string `json:"label"`
}

type Role struct {
	ID      int    `json:"ID"`
	Url     string `json:"url"`
	Display string `json:"display"`
	Name    string `json:"name"`
	Slug    string `json:"slub"`
}

type Tag struct {
	ID      int    `json:"id"`
	Url     string `json:"url"`
	Display string `json:"display"`
	Name    string `json:"name"`
	Slug    string `json:"slug"`
	Color   string `json:"color"`
}

type SiteList struct {
	Count    int     `json:"count"`
	Next     string  `json:"next"`
	Previous string  `json:"previous"`
	Results  []*Site `json:"results"`
}

type Site struct {
	ID          int           `json:"id"`
	Url         string        `json:"url"`
	Display     string        `json:"display"`
	Name        string        `json:"name"`
	Slug        string        `json:"slug"`
	Facility    string        `json:"facility"`
	Description string        `json:"description"`
	Timezone    string        `json:"time_zone"`
	ASN         int           `json:"asn"`
	Status      LabeledString `json:"status"`
}

type PrefixList struct {
	Count    int       `json:"count"`
	Next     string    `json:"next"`
	Previous string    `json:"previous"`
	Results  []*Prefix `json:"results"`
}

type Prefix struct {
	ID           int                    `json:"ID"`
	Url          string                 `json:"url"`
	Display      string                 `json:"display"`
	Prefix       string                 `json:"prefix"`
	IsPool       bool                   `json:"is_pool"`
	Description  string                 `json:"description"`
	Created      string                 `json:"created"`
	LastUpdated  string                 `json:"last_updated"`
	Children     int                    `json:"children"`
	Depth        int                    `json:"_depth"`
	Family       LabeledInt             `json:"family"`
	Status       LabeledString          `json:"status"`
	Site         *Site                  `json:"site"`
	Role         *Role                  `json:"role"`
	Tags         []*Tag                 `json:"tags"`
	CustomFields map[string]interface{} `json:"custom_fields"`
}