3
// list is plain JSON list having structure nobody cares about
6
// Object is plain JSON object having structure nobody cares about
7
type object map[string]interface{}
9
// ContainerBrief is DTO definition of brief container's data, part of DeviceBrief
10
type ContainerBrief struct {
12
Name string `json:"name"`
15
// ContainerBriefList is DTO definition of result structure returned by method /api/virtualization/containers/
16
type ContainerBriefList struct {
17
Count int `json:"count"`
18
List []ContainerBrief `json:"results,omitempty"`
19
Next *string `json:"next,omitempty"`
20
Previous *string `json:"previous,omitempty"`
23
// Device is DTO definition of single device, part of DeviceList
26
Name string `json:"name"`
27
Role *DeviceRole `json:"device_role,omitempty"`
29
// some simple data we are not (yet) interested in
30
AssetTag *string `json:"asset_tag,omitempty"`
31
Comments *string `json:"comments,omitempty"`
32
Created *string `json:"created,omitempty"`
33
DisplayName *string `json:"display_name,omitempty"`
34
LastUpdated *string `json:"last_updated,omitempty"`
35
Position *int `json:"position,omitempty"`
36
Serial *string `json:"serial,omitempty"`
37
VcPosition *int `json:"vc_position,omitempty"`
38
VcPriority *int `json:"vc_priority,omitempty"`
39
WarrantyDesc *string `json:"warranty_description,omitempty"`
40
WarrantyEnd *string `json:"warranty_end,omitempty"`
42
// some complex data we are not (yet) interested in
43
Cluster *object `json:"cluster,omitempty"`
44
CustomFields *object `json:"custom_fields,omitempty"`
45
DeviceType *object `json:"device_type,omitempty"`
46
Face *object `json:"face,omitempty"`
47
ParentDevice *object `json:"parent_device,omitempty"`
48
Platform *object `json:"platform,omitempty"`
49
PrimaryIp *object `json:"primary_ip,omitempty"`
50
PrimaryIp4 *object `json:"primary_ip4,omitempty"`
51
PrimaryIp6 *object `json:"primary_ip6,omitempty"`
52
Rack *object `json:"rack,omitempty"`
53
Site *object `json:"site,omitempty"`
54
Status *object `json:"status,omitempty"`
55
Tags *list `json:"tags,omitempty"`
56
Tenant *object `json:"tenant,omitempty"`
57
VirtualChassis *object `json:"virtual_chassis,omitempty"`
60
// DeviceBrief is DTO definition of brief device's data
61
type DeviceBrief struct {
63
Name string `json:"name"`
64
NamePrevious string `json:"name_previous"`
65
Containers []ContainerBrief `json:"containers"`
66
Status DeviceStatusBrief `json:"status"`
69
// DeviceBriefList is DTO definition of result structure returned by method /api/dcim/devices-inactive/
70
type DeviceBriefList struct {
71
Count int `json:"count"`
72
List []DeviceBrief `json:"results,omitempty"`
73
Next *string `json:"next,omitempty"`
74
Previous *string `json:"previous,omitempty"`
77
// DeviceList is DTO definition of result structure returned by method /api/dcim/devices/
78
type DeviceList struct {
79
Count int `json:"count"`
80
List []Device `json:"results,omitempty"`
81
Next *string `json:"next,omitempty"`
82
Previous *string `json:"previous,omitempty"`
85
// DeviceRole is DTO definition of the role of single device, part of Device
86
type DeviceRole struct {
88
Name string `json:"name"`
89
Slug string `json:"slug"`
90
Url *string `json:"url,omitempty"`
93
// DeviceStatusBrief is DTO definition of brief status of the device
94
type DeviceStatusBrief struct {
95
Label string `json:"label"`
96
Value int `json:"value"`
99
// Rack is DTO definition of single rack, part of RackList
102
Name string `json:"name"`
104
// some simple data we are not (yet) interested in
105
Comments *string `json:"comments,omitempty"`
106
Created *string `json:"created,omitempty"`
107
DescUnits *bool `json:"desc_units,omitempty"`
108
DisplayName *string `json:"display_name,omitempty"`
109
FacilityId *string `json:"facility_id,omitempty"`
110
LastUpdated *string `json:"last_updated,omitempty"`
111
Serial *string `json:"serial,omitempty"`
112
UHeight *int `json:"u_height,omitempty"`
114
// some complex data we are not (yet) interested in
115
CustomFields *object `json:"custom_fields,omitempty"`
116
Group *object `json:"group,omitempty"`
117
Role *object `json:"role,omitempty"`
118
Site *object `json:"site,omitempty"`
119
Tags *list `json:"tags,omitempty"`
120
Tenant *object `json:"tenant,omitempty"`
121
Type *object `json:"type,omitempty"`
122
Width *object `json:"width,omitempty"`
125
// RackList is DTO definition of result structure returned by method /api/dcim/racks/
126
type RackList struct {
127
Count int `json:"count"`
128
Next *string `json:"next,omitempty"`
129
Previous *string `json:"previous,omitempty"`
130
List []*Rack `json:"results,omitempty"`
133
// RackGroup is DTO definition of single rack group, part of RackGroupList
134
type RackGroup struct {
136
Name string `json:"name"`
137
Slug string `json:"slug"`
138
Site *object `json:"site,omitempty"`
141
// RackGroupList is DTO definition of result structure returned by method /api/dcim/rack-groups/
142
type RackGroupList struct {
143
Count int `json:"count"`
144
Next *string `json:"next,omitempty"`
145
Previous *string `json:"previous,omitempty"`
146
List []*RackGroup `json:"results,omitempty"`