blob: cb837e40b3578a6774fb957d3a2e4e8b0ae84b18 [file] [log] [blame]
Serge Bazanskicc25bdf2018-10-25 14:02:58 +02001// Code generated by go-swagger; DO NOT EDIT.
2
3// Copyright 2018 The go-netbox Authors.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
17package models
18
19// This file was generated by the swagger tool.
20// Editing this file might prove futile when you re-run the swagger generate command
21
22import (
23 "encoding/json"
24
25 strfmt "github.com/go-openapi/strfmt"
26
27 "github.com/go-openapi/errors"
28 "github.com/go-openapi/swag"
29 "github.com/go-openapi/validate"
30)
31
32// WritableCircuitTermination writable circuit termination
33// swagger:model WritableCircuitTermination
34type WritableCircuitTermination struct {
35
36 // Circuit
37 // Required: true
38 Circuit *int64 `json:"circuit"`
39
40 // ID
41 // Read Only: true
42 ID int64 `json:"id,omitempty"`
43
44 // Interface
45 Interface int64 `json:"interface,omitempty"`
46
47 // Port speed (Kbps)
48 // Required: true
49 // Maximum: 2.147483647e+09
50 // Minimum: 0
51 PortSpeed *int64 `json:"port_speed"`
52
53 // Patch panel/port(s)
54 // Max Length: 100
55 PpInfo string `json:"pp_info,omitempty"`
56
57 // Site
58 // Required: true
59 Site *int64 `json:"site"`
60
61 // Termination
62 // Required: true
63 TermSide *string `json:"term_side"`
64
65 // Upstream speed (Kbps)
66 //
67 // Upstream speed, if different from port speed
68 // Maximum: 2.147483647e+09
69 // Minimum: 0
70 UpstreamSpeed *int64 `json:"upstream_speed,omitempty"`
71
72 // Cross-connect ID
73 // Max Length: 50
74 XconnectID string `json:"xconnect_id,omitempty"`
75}
76
77// Validate validates this writable circuit termination
78func (m *WritableCircuitTermination) Validate(formats strfmt.Registry) error {
79 var res []error
80
81 if err := m.validateCircuit(formats); err != nil {
82 // prop
83 res = append(res, err)
84 }
85
86 if err := m.validatePortSpeed(formats); err != nil {
87 // prop
88 res = append(res, err)
89 }
90
91 if err := m.validatePpInfo(formats); err != nil {
92 // prop
93 res = append(res, err)
94 }
95
96 if err := m.validateSite(formats); err != nil {
97 // prop
98 res = append(res, err)
99 }
100
101 if err := m.validateTermSide(formats); err != nil {
102 // prop
103 res = append(res, err)
104 }
105
106 if err := m.validateUpstreamSpeed(formats); err != nil {
107 // prop
108 res = append(res, err)
109 }
110
111 if err := m.validateXconnectID(formats); err != nil {
112 // prop
113 res = append(res, err)
114 }
115
116 if len(res) > 0 {
117 return errors.CompositeValidationError(res...)
118 }
119 return nil
120}
121
122func (m *WritableCircuitTermination) validateCircuit(formats strfmt.Registry) error {
123
124 if err := validate.Required("circuit", "body", m.Circuit); err != nil {
125 return err
126 }
127
128 return nil
129}
130
131func (m *WritableCircuitTermination) validatePortSpeed(formats strfmt.Registry) error {
132
133 if err := validate.Required("port_speed", "body", m.PortSpeed); err != nil {
134 return err
135 }
136
137 if err := validate.MinimumInt("port_speed", "body", int64(*m.PortSpeed), 0, false); err != nil {
138 return err
139 }
140
141 if err := validate.MaximumInt("port_speed", "body", int64(*m.PortSpeed), 2.147483647e+09, false); err != nil {
142 return err
143 }
144
145 return nil
146}
147
148func (m *WritableCircuitTermination) validatePpInfo(formats strfmt.Registry) error {
149
150 if swag.IsZero(m.PpInfo) { // not required
151 return nil
152 }
153
154 if err := validate.MaxLength("pp_info", "body", string(m.PpInfo), 100); err != nil {
155 return err
156 }
157
158 return nil
159}
160
161func (m *WritableCircuitTermination) validateSite(formats strfmt.Registry) error {
162
163 if err := validate.Required("site", "body", m.Site); err != nil {
164 return err
165 }
166
167 return nil
168}
169
170var writableCircuitTerminationTypeTermSidePropEnum []interface{}
171
172func init() {
173 var res []string
174 if err := json.Unmarshal([]byte(`["A","Z"]`), &res); err != nil {
175 panic(err)
176 }
177 for _, v := range res {
178 writableCircuitTerminationTypeTermSidePropEnum = append(writableCircuitTerminationTypeTermSidePropEnum, v)
179 }
180}
181
182const (
183 // WritableCircuitTerminationTermSideA captures enum value "A"
184 WritableCircuitTerminationTermSideA string = "A"
185 // WritableCircuitTerminationTermSideZ captures enum value "Z"
186 WritableCircuitTerminationTermSideZ string = "Z"
187)
188
189// prop value enum
190func (m *WritableCircuitTermination) validateTermSideEnum(path, location string, value string) error {
191 if err := validate.Enum(path, location, value, writableCircuitTerminationTypeTermSidePropEnum); err != nil {
192 return err
193 }
194 return nil
195}
196
197func (m *WritableCircuitTermination) validateTermSide(formats strfmt.Registry) error {
198
199 if err := validate.Required("term_side", "body", m.TermSide); err != nil {
200 return err
201 }
202
203 // value enum
204 if err := m.validateTermSideEnum("term_side", "body", *m.TermSide); err != nil {
205 return err
206 }
207
208 return nil
209}
210
211func (m *WritableCircuitTermination) validateUpstreamSpeed(formats strfmt.Registry) error {
212
213 if swag.IsZero(m.UpstreamSpeed) { // not required
214 return nil
215 }
216
217 if err := validate.MinimumInt("upstream_speed", "body", int64(*m.UpstreamSpeed), 0, false); err != nil {
218 return err
219 }
220
221 if err := validate.MaximumInt("upstream_speed", "body", int64(*m.UpstreamSpeed), 2.147483647e+09, false); err != nil {
222 return err
223 }
224
225 return nil
226}
227
228func (m *WritableCircuitTermination) validateXconnectID(formats strfmt.Registry) error {
229
230 if swag.IsZero(m.XconnectID) { // not required
231 return nil
232 }
233
234 if err := validate.MaxLength("xconnect_id", "body", string(m.XconnectID), 50); err != nil {
235 return err
236 }
237
238 return nil
239}
240
241// MarshalBinary interface implementation
242func (m *WritableCircuitTermination) MarshalBinary() ([]byte, error) {
243 if m == nil {
244 return nil, nil
245 }
246 return swag.WriteJSON(m)
247}
248
249// UnmarshalBinary interface implementation
250func (m *WritableCircuitTermination) UnmarshalBinary(b []byte) error {
251 var res WritableCircuitTermination
252 if err := swag.ReadJSON(b, &res); err != nil {
253 return err
254 }
255 *m = res
256 return nil
257}