github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_interface_template.go (about) 1 // Code generated by go-swagger; DO NOT EDIT. 2 3 // Copyright 2020 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 // 17 18 package models 19 20 // This file was generated by the swagger tool. 21 // Editing this file might prove futile when you re-run the swagger generate command 22 23 import ( 24 "context" 25 "encoding/json" 26 27 "github.com/go-openapi/errors" 28 "github.com/go-openapi/strfmt" 29 "github.com/go-openapi/swag" 30 "github.com/go-openapi/validate" 31 ) 32 33 // WritableInterfaceTemplate writable interface template 34 // 35 // swagger:model WritableInterfaceTemplate 36 type WritableInterfaceTemplate struct { 37 38 // Created 39 // Read Only: true 40 // Format: date 41 Created strfmt.Date `json:"created,omitempty"` 42 43 // Description 44 // Max Length: 200 45 Description string `json:"description,omitempty"` 46 47 // Device type 48 // Required: true 49 DeviceType *int64 `json:"device_type"` 50 51 // Display 52 // Read Only: true 53 Display string `json:"display,omitempty"` 54 55 // Id 56 // Read Only: true 57 ID int64 `json:"id,omitempty"` 58 59 // Label 60 // 61 // Physical label 62 // Max Length: 64 63 Label string `json:"label,omitempty"` 64 65 // Last updated 66 // Read Only: true 67 // Format: date-time 68 LastUpdated strfmt.DateTime `json:"last_updated,omitempty"` 69 70 // Management only 71 MgmtOnly bool `json:"mgmt_only,omitempty"` 72 73 // Name 74 // Required: true 75 // Max Length: 64 76 // Min Length: 1 77 Name *string `json:"name"` 78 79 // Type 80 // Required: true 81 // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other] 82 Type *string `json:"type"` 83 84 // Url 85 // Read Only: true 86 // Format: uri 87 URL strfmt.URI `json:"url,omitempty"` 88 } 89 90 // Validate validates this writable interface template 91 func (m *WritableInterfaceTemplate) Validate(formats strfmt.Registry) error { 92 var res []error 93 94 if err := m.validateCreated(formats); err != nil { 95 res = append(res, err) 96 } 97 98 if err := m.validateDescription(formats); err != nil { 99 res = append(res, err) 100 } 101 102 if err := m.validateDeviceType(formats); err != nil { 103 res = append(res, err) 104 } 105 106 if err := m.validateLabel(formats); err != nil { 107 res = append(res, err) 108 } 109 110 if err := m.validateLastUpdated(formats); err != nil { 111 res = append(res, err) 112 } 113 114 if err := m.validateName(formats); err != nil { 115 res = append(res, err) 116 } 117 118 if err := m.validateType(formats); err != nil { 119 res = append(res, err) 120 } 121 122 if err := m.validateURL(formats); err != nil { 123 res = append(res, err) 124 } 125 126 if len(res) > 0 { 127 return errors.CompositeValidationError(res...) 128 } 129 return nil 130 } 131 132 func (m *WritableInterfaceTemplate) validateCreated(formats strfmt.Registry) error { 133 if swag.IsZero(m.Created) { // not required 134 return nil 135 } 136 137 if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil { 138 return err 139 } 140 141 return nil 142 } 143 144 func (m *WritableInterfaceTemplate) validateDescription(formats strfmt.Registry) error { 145 if swag.IsZero(m.Description) { // not required 146 return nil 147 } 148 149 if err := validate.MaxLength("description", "body", m.Description, 200); err != nil { 150 return err 151 } 152 153 return nil 154 } 155 156 func (m *WritableInterfaceTemplate) validateDeviceType(formats strfmt.Registry) error { 157 158 if err := validate.Required("device_type", "body", m.DeviceType); err != nil { 159 return err 160 } 161 162 return nil 163 } 164 165 func (m *WritableInterfaceTemplate) validateLabel(formats strfmt.Registry) error { 166 if swag.IsZero(m.Label) { // not required 167 return nil 168 } 169 170 if err := validate.MaxLength("label", "body", m.Label, 64); err != nil { 171 return err 172 } 173 174 return nil 175 } 176 177 func (m *WritableInterfaceTemplate) validateLastUpdated(formats strfmt.Registry) error { 178 if swag.IsZero(m.LastUpdated) { // not required 179 return nil 180 } 181 182 if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { 183 return err 184 } 185 186 return nil 187 } 188 189 func (m *WritableInterfaceTemplate) validateName(formats strfmt.Registry) error { 190 191 if err := validate.Required("name", "body", m.Name); err != nil { 192 return err 193 } 194 195 if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { 196 return err 197 } 198 199 if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil { 200 return err 201 } 202 203 return nil 204 } 205 206 var writableInterfaceTemplateTypeTypePropEnum []interface{} 207 208 func init() { 209 var res []string 210 if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil { 211 panic(err) 212 } 213 for _, v := range res { 214 writableInterfaceTemplateTypeTypePropEnum = append(writableInterfaceTemplateTypeTypePropEnum, v) 215 } 216 } 217 218 const ( 219 220 // WritableInterfaceTemplateTypeVirtual captures enum value "virtual" 221 WritableInterfaceTemplateTypeVirtual string = "virtual" 222 223 // WritableInterfaceTemplateTypeLag captures enum value "lag" 224 WritableInterfaceTemplateTypeLag string = "lag" 225 226 // WritableInterfaceTemplateTypeNr100baseDashTx captures enum value "100base-tx" 227 WritableInterfaceTemplateTypeNr100baseDashTx string = "100base-tx" 228 229 // WritableInterfaceTemplateTypeNr1000baseDasht captures enum value "1000base-t" 230 WritableInterfaceTemplateTypeNr1000baseDasht string = "1000base-t" 231 232 // WritableInterfaceTemplateTypeNr2Dot5gbaseDasht captures enum value "2.5gbase-t" 233 WritableInterfaceTemplateTypeNr2Dot5gbaseDasht string = "2.5gbase-t" 234 235 // WritableInterfaceTemplateTypeNr5gbaseDasht captures enum value "5gbase-t" 236 WritableInterfaceTemplateTypeNr5gbaseDasht string = "5gbase-t" 237 238 // WritableInterfaceTemplateTypeNr10gbaseDasht captures enum value "10gbase-t" 239 WritableInterfaceTemplateTypeNr10gbaseDasht string = "10gbase-t" 240 241 // WritableInterfaceTemplateTypeNr10gbaseDashCx4 captures enum value "10gbase-cx4" 242 WritableInterfaceTemplateTypeNr10gbaseDashCx4 string = "10gbase-cx4" 243 244 // WritableInterfaceTemplateTypeNr1000baseDashxDashGbic captures enum value "1000base-x-gbic" 245 WritableInterfaceTemplateTypeNr1000baseDashxDashGbic string = "1000base-x-gbic" 246 247 // WritableInterfaceTemplateTypeNr1000baseDashxDashSfp captures enum value "1000base-x-sfp" 248 WritableInterfaceTemplateTypeNr1000baseDashxDashSfp string = "1000base-x-sfp" 249 250 // WritableInterfaceTemplateTypeNr10gbaseDashxDashSfpp captures enum value "10gbase-x-sfpp" 251 WritableInterfaceTemplateTypeNr10gbaseDashxDashSfpp string = "10gbase-x-sfpp" 252 253 // WritableInterfaceTemplateTypeNr10gbaseDashxDashXfp captures enum value "10gbase-x-xfp" 254 WritableInterfaceTemplateTypeNr10gbaseDashxDashXfp string = "10gbase-x-xfp" 255 256 // WritableInterfaceTemplateTypeNr10gbaseDashxDashXenpak captures enum value "10gbase-x-xenpak" 257 WritableInterfaceTemplateTypeNr10gbaseDashxDashXenpak string = "10gbase-x-xenpak" 258 259 // WritableInterfaceTemplateTypeNr10gbaseDashxDashX2 captures enum value "10gbase-x-x2" 260 WritableInterfaceTemplateTypeNr10gbaseDashxDashX2 string = "10gbase-x-x2" 261 262 // WritableInterfaceTemplateTypeNr25gbaseDashxDashSfp28 captures enum value "25gbase-x-sfp28" 263 WritableInterfaceTemplateTypeNr25gbaseDashxDashSfp28 string = "25gbase-x-sfp28" 264 265 // WritableInterfaceTemplateTypeNr50gbaseDashxDashSfp56 captures enum value "50gbase-x-sfp56" 266 WritableInterfaceTemplateTypeNr50gbaseDashxDashSfp56 string = "50gbase-x-sfp56" 267 268 // WritableInterfaceTemplateTypeNr40gbaseDashxDashQsfpp captures enum value "40gbase-x-qsfpp" 269 WritableInterfaceTemplateTypeNr40gbaseDashxDashQsfpp string = "40gbase-x-qsfpp" 270 271 // WritableInterfaceTemplateTypeNr50gbaseDashxDashSfp28 captures enum value "50gbase-x-sfp28" 272 WritableInterfaceTemplateTypeNr50gbaseDashxDashSfp28 string = "50gbase-x-sfp28" 273 274 // WritableInterfaceTemplateTypeNr100gbaseDashxDashCfp captures enum value "100gbase-x-cfp" 275 WritableInterfaceTemplateTypeNr100gbaseDashxDashCfp string = "100gbase-x-cfp" 276 277 // WritableInterfaceTemplateTypeNr100gbaseDashxDashCfp2 captures enum value "100gbase-x-cfp2" 278 WritableInterfaceTemplateTypeNr100gbaseDashxDashCfp2 string = "100gbase-x-cfp2" 279 280 // WritableInterfaceTemplateTypeNr200gbaseDashxDashCfp2 captures enum value "200gbase-x-cfp2" 281 WritableInterfaceTemplateTypeNr200gbaseDashxDashCfp2 string = "200gbase-x-cfp2" 282 283 // WritableInterfaceTemplateTypeNr100gbaseDashxDashCfp4 captures enum value "100gbase-x-cfp4" 284 WritableInterfaceTemplateTypeNr100gbaseDashxDashCfp4 string = "100gbase-x-cfp4" 285 286 // WritableInterfaceTemplateTypeNr100gbaseDashxDashCpak captures enum value "100gbase-x-cpak" 287 WritableInterfaceTemplateTypeNr100gbaseDashxDashCpak string = "100gbase-x-cpak" 288 289 // WritableInterfaceTemplateTypeNr100gbaseDashxDashQsfp28 captures enum value "100gbase-x-qsfp28" 290 WritableInterfaceTemplateTypeNr100gbaseDashxDashQsfp28 string = "100gbase-x-qsfp28" 291 292 // WritableInterfaceTemplateTypeNr200gbaseDashxDashQsfp56 captures enum value "200gbase-x-qsfp56" 293 WritableInterfaceTemplateTypeNr200gbaseDashxDashQsfp56 string = "200gbase-x-qsfp56" 294 295 // WritableInterfaceTemplateTypeNr400gbaseDashxDashQsfpdd captures enum value "400gbase-x-qsfpdd" 296 WritableInterfaceTemplateTypeNr400gbaseDashxDashQsfpdd string = "400gbase-x-qsfpdd" 297 298 // WritableInterfaceTemplateTypeNr400gbaseDashxDashOsfp captures enum value "400gbase-x-osfp" 299 WritableInterfaceTemplateTypeNr400gbaseDashxDashOsfp string = "400gbase-x-osfp" 300 301 // WritableInterfaceTemplateTypeIeee802Dot11a captures enum value "ieee802.11a" 302 WritableInterfaceTemplateTypeIeee802Dot11a string = "ieee802.11a" 303 304 // WritableInterfaceTemplateTypeIeee802Dot11g captures enum value "ieee802.11g" 305 WritableInterfaceTemplateTypeIeee802Dot11g string = "ieee802.11g" 306 307 // WritableInterfaceTemplateTypeIeee802Dot11n captures enum value "ieee802.11n" 308 WritableInterfaceTemplateTypeIeee802Dot11n string = "ieee802.11n" 309 310 // WritableInterfaceTemplateTypeIeee802Dot11ac captures enum value "ieee802.11ac" 311 WritableInterfaceTemplateTypeIeee802Dot11ac string = "ieee802.11ac" 312 313 // WritableInterfaceTemplateTypeIeee802Dot11ad captures enum value "ieee802.11ad" 314 WritableInterfaceTemplateTypeIeee802Dot11ad string = "ieee802.11ad" 315 316 // WritableInterfaceTemplateTypeIeee802Dot11ax captures enum value "ieee802.11ax" 317 WritableInterfaceTemplateTypeIeee802Dot11ax string = "ieee802.11ax" 318 319 // WritableInterfaceTemplateTypeGsm captures enum value "gsm" 320 WritableInterfaceTemplateTypeGsm string = "gsm" 321 322 // WritableInterfaceTemplateTypeCdma captures enum value "cdma" 323 WritableInterfaceTemplateTypeCdma string = "cdma" 324 325 // WritableInterfaceTemplateTypeLte captures enum value "lte" 326 WritableInterfaceTemplateTypeLte string = "lte" 327 328 // WritableInterfaceTemplateTypeSonetDashOc3 captures enum value "sonet-oc3" 329 WritableInterfaceTemplateTypeSonetDashOc3 string = "sonet-oc3" 330 331 // WritableInterfaceTemplateTypeSonetDashOc12 captures enum value "sonet-oc12" 332 WritableInterfaceTemplateTypeSonetDashOc12 string = "sonet-oc12" 333 334 // WritableInterfaceTemplateTypeSonetDashOc48 captures enum value "sonet-oc48" 335 WritableInterfaceTemplateTypeSonetDashOc48 string = "sonet-oc48" 336 337 // WritableInterfaceTemplateTypeSonetDashOc192 captures enum value "sonet-oc192" 338 WritableInterfaceTemplateTypeSonetDashOc192 string = "sonet-oc192" 339 340 // WritableInterfaceTemplateTypeSonetDashOc768 captures enum value "sonet-oc768" 341 WritableInterfaceTemplateTypeSonetDashOc768 string = "sonet-oc768" 342 343 // WritableInterfaceTemplateTypeSonetDashOc1920 captures enum value "sonet-oc1920" 344 WritableInterfaceTemplateTypeSonetDashOc1920 string = "sonet-oc1920" 345 346 // WritableInterfaceTemplateTypeSonetDashOc3840 captures enum value "sonet-oc3840" 347 WritableInterfaceTemplateTypeSonetDashOc3840 string = "sonet-oc3840" 348 349 // WritableInterfaceTemplateTypeNr1gfcDashSfp captures enum value "1gfc-sfp" 350 WritableInterfaceTemplateTypeNr1gfcDashSfp string = "1gfc-sfp" 351 352 // WritableInterfaceTemplateTypeNr2gfcDashSfp captures enum value "2gfc-sfp" 353 WritableInterfaceTemplateTypeNr2gfcDashSfp string = "2gfc-sfp" 354 355 // WritableInterfaceTemplateTypeNr4gfcDashSfp captures enum value "4gfc-sfp" 356 WritableInterfaceTemplateTypeNr4gfcDashSfp string = "4gfc-sfp" 357 358 // WritableInterfaceTemplateTypeNr8gfcDashSfpp captures enum value "8gfc-sfpp" 359 WritableInterfaceTemplateTypeNr8gfcDashSfpp string = "8gfc-sfpp" 360 361 // WritableInterfaceTemplateTypeNr16gfcDashSfpp captures enum value "16gfc-sfpp" 362 WritableInterfaceTemplateTypeNr16gfcDashSfpp string = "16gfc-sfpp" 363 364 // WritableInterfaceTemplateTypeNr32gfcDashSfp28 captures enum value "32gfc-sfp28" 365 WritableInterfaceTemplateTypeNr32gfcDashSfp28 string = "32gfc-sfp28" 366 367 // WritableInterfaceTemplateTypeNr64gfcDashQsfpp captures enum value "64gfc-qsfpp" 368 WritableInterfaceTemplateTypeNr64gfcDashQsfpp string = "64gfc-qsfpp" 369 370 // WritableInterfaceTemplateTypeNr128gfcDashSfp28 captures enum value "128gfc-sfp28" 371 WritableInterfaceTemplateTypeNr128gfcDashSfp28 string = "128gfc-sfp28" 372 373 // WritableInterfaceTemplateTypeInfinibandDashSdr captures enum value "infiniband-sdr" 374 WritableInterfaceTemplateTypeInfinibandDashSdr string = "infiniband-sdr" 375 376 // WritableInterfaceTemplateTypeInfinibandDashDdr captures enum value "infiniband-ddr" 377 WritableInterfaceTemplateTypeInfinibandDashDdr string = "infiniband-ddr" 378 379 // WritableInterfaceTemplateTypeInfinibandDashQdr captures enum value "infiniband-qdr" 380 WritableInterfaceTemplateTypeInfinibandDashQdr string = "infiniband-qdr" 381 382 // WritableInterfaceTemplateTypeInfinibandDashFdr10 captures enum value "infiniband-fdr10" 383 WritableInterfaceTemplateTypeInfinibandDashFdr10 string = "infiniband-fdr10" 384 385 // WritableInterfaceTemplateTypeInfinibandDashFdr captures enum value "infiniband-fdr" 386 WritableInterfaceTemplateTypeInfinibandDashFdr string = "infiniband-fdr" 387 388 // WritableInterfaceTemplateTypeInfinibandDashEdr captures enum value "infiniband-edr" 389 WritableInterfaceTemplateTypeInfinibandDashEdr string = "infiniband-edr" 390 391 // WritableInterfaceTemplateTypeInfinibandDashHdr captures enum value "infiniband-hdr" 392 WritableInterfaceTemplateTypeInfinibandDashHdr string = "infiniband-hdr" 393 394 // WritableInterfaceTemplateTypeInfinibandDashNdr captures enum value "infiniband-ndr" 395 WritableInterfaceTemplateTypeInfinibandDashNdr string = "infiniband-ndr" 396 397 // WritableInterfaceTemplateTypeInfinibandDashXdr captures enum value "infiniband-xdr" 398 WritableInterfaceTemplateTypeInfinibandDashXdr string = "infiniband-xdr" 399 400 // WritableInterfaceTemplateTypeT1 captures enum value "t1" 401 WritableInterfaceTemplateTypeT1 string = "t1" 402 403 // WritableInterfaceTemplateTypeE1 captures enum value "e1" 404 WritableInterfaceTemplateTypeE1 string = "e1" 405 406 // WritableInterfaceTemplateTypeT3 captures enum value "t3" 407 WritableInterfaceTemplateTypeT3 string = "t3" 408 409 // WritableInterfaceTemplateTypeE3 captures enum value "e3" 410 WritableInterfaceTemplateTypeE3 string = "e3" 411 412 // WritableInterfaceTemplateTypeCiscoDashStackwise captures enum value "cisco-stackwise" 413 WritableInterfaceTemplateTypeCiscoDashStackwise string = "cisco-stackwise" 414 415 // WritableInterfaceTemplateTypeCiscoDashStackwiseDashPlus captures enum value "cisco-stackwise-plus" 416 WritableInterfaceTemplateTypeCiscoDashStackwiseDashPlus string = "cisco-stackwise-plus" 417 418 // WritableInterfaceTemplateTypeCiscoDashFlexstack captures enum value "cisco-flexstack" 419 WritableInterfaceTemplateTypeCiscoDashFlexstack string = "cisco-flexstack" 420 421 // WritableInterfaceTemplateTypeCiscoDashFlexstackDashPlus captures enum value "cisco-flexstack-plus" 422 WritableInterfaceTemplateTypeCiscoDashFlexstackDashPlus string = "cisco-flexstack-plus" 423 424 // WritableInterfaceTemplateTypeJuniperDashVcp captures enum value "juniper-vcp" 425 WritableInterfaceTemplateTypeJuniperDashVcp string = "juniper-vcp" 426 427 // WritableInterfaceTemplateTypeExtremeDashSummitstack captures enum value "extreme-summitstack" 428 WritableInterfaceTemplateTypeExtremeDashSummitstack string = "extreme-summitstack" 429 430 // WritableInterfaceTemplateTypeExtremeDashSummitstackDash128 captures enum value "extreme-summitstack-128" 431 WritableInterfaceTemplateTypeExtremeDashSummitstackDash128 string = "extreme-summitstack-128" 432 433 // WritableInterfaceTemplateTypeExtremeDashSummitstackDash256 captures enum value "extreme-summitstack-256" 434 WritableInterfaceTemplateTypeExtremeDashSummitstackDash256 string = "extreme-summitstack-256" 435 436 // WritableInterfaceTemplateTypeExtremeDashSummitstackDash512 captures enum value "extreme-summitstack-512" 437 WritableInterfaceTemplateTypeExtremeDashSummitstackDash512 string = "extreme-summitstack-512" 438 439 // WritableInterfaceTemplateTypeOther captures enum value "other" 440 WritableInterfaceTemplateTypeOther string = "other" 441 ) 442 443 // prop value enum 444 func (m *WritableInterfaceTemplate) validateTypeEnum(path, location string, value string) error { 445 if err := validate.EnumCase(path, location, value, writableInterfaceTemplateTypeTypePropEnum, true); err != nil { 446 return err 447 } 448 return nil 449 } 450 451 func (m *WritableInterfaceTemplate) validateType(formats strfmt.Registry) error { 452 453 if err := validate.Required("type", "body", m.Type); err != nil { 454 return err 455 } 456 457 // value enum 458 if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { 459 return err 460 } 461 462 return nil 463 } 464 465 func (m *WritableInterfaceTemplate) validateURL(formats strfmt.Registry) error { 466 if swag.IsZero(m.URL) { // not required 467 return nil 468 } 469 470 if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil { 471 return err 472 } 473 474 return nil 475 } 476 477 // ContextValidate validate this writable interface template based on the context it is used 478 func (m *WritableInterfaceTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 479 var res []error 480 481 if err := m.contextValidateCreated(ctx, formats); err != nil { 482 res = append(res, err) 483 } 484 485 if err := m.contextValidateDisplay(ctx, formats); err != nil { 486 res = append(res, err) 487 } 488 489 if err := m.contextValidateID(ctx, formats); err != nil { 490 res = append(res, err) 491 } 492 493 if err := m.contextValidateLastUpdated(ctx, formats); err != nil { 494 res = append(res, err) 495 } 496 497 if err := m.contextValidateURL(ctx, formats); err != nil { 498 res = append(res, err) 499 } 500 501 if len(res) > 0 { 502 return errors.CompositeValidationError(res...) 503 } 504 return nil 505 } 506 507 func (m *WritableInterfaceTemplate) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error { 508 509 if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil { 510 return err 511 } 512 513 return nil 514 } 515 516 func (m *WritableInterfaceTemplate) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error { 517 518 if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil { 519 return err 520 } 521 522 return nil 523 } 524 525 func (m *WritableInterfaceTemplate) contextValidateID(ctx context.Context, formats strfmt.Registry) error { 526 527 if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil { 528 return err 529 } 530 531 return nil 532 } 533 534 func (m *WritableInterfaceTemplate) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error { 535 536 if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil { 537 return err 538 } 539 540 return nil 541 } 542 543 func (m *WritableInterfaceTemplate) contextValidateURL(ctx context.Context, formats strfmt.Registry) error { 544 545 if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil { 546 return err 547 } 548 549 return nil 550 } 551 552 // MarshalBinary interface implementation 553 func (m *WritableInterfaceTemplate) MarshalBinary() ([]byte, error) { 554 if m == nil { 555 return nil, nil 556 } 557 return swag.WriteJSON(m) 558 } 559 560 // UnmarshalBinary interface implementation 561 func (m *WritableInterfaceTemplate) UnmarshalBinary(b []byte) error { 562 var res WritableInterfaceTemplate 563 if err := swag.ReadJSON(b, &res); err != nil { 564 return err 565 } 566 *m = res 567 return nil 568 }