github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_interface.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 "strconv" 27 28 "github.com/go-openapi/errors" 29 "github.com/go-openapi/strfmt" 30 "github.com/go-openapi/swag" 31 "github.com/go-openapi/validate" 32 ) 33 34 // WritableInterface writable interface 35 // 36 // swagger:model WritableInterface 37 type WritableInterface struct { 38 39 // occupied 40 // Read Only: true 41 Occupied *bool `json:"_occupied,omitempty"` 42 43 // cable 44 Cable *NestedCable `json:"cable,omitempty"` 45 46 // Cable peer 47 // 48 // 49 // Return the appropriate serializer for the cable termination model. 50 // 51 // Read Only: true 52 CablePeer map[string]*string `json:"cable_peer,omitempty"` 53 54 // Cable peer type 55 // Read Only: true 56 CablePeerType string `json:"cable_peer_type,omitempty"` 57 58 // Connected endpoint 59 // 60 // 61 // Return the appropriate serializer for the type of connected object. 62 // 63 // Read Only: true 64 ConnectedEndpoint map[string]*string `json:"connected_endpoint,omitempty"` 65 66 // Connected endpoint reachable 67 // Read Only: true 68 ConnectedEndpointReachable *bool `json:"connected_endpoint_reachable,omitempty"` 69 70 // Connected endpoint type 71 // Read Only: true 72 ConnectedEndpointType string `json:"connected_endpoint_type,omitempty"` 73 74 // Count ipaddresses 75 // Read Only: true 76 CountIpaddresses int64 `json:"count_ipaddresses,omitempty"` 77 78 // Created 79 // Read Only: true 80 // Format: date 81 Created strfmt.Date `json:"created,omitempty"` 82 83 // Custom fields 84 CustomFields interface{} `json:"custom_fields,omitempty"` 85 86 // Description 87 // Max Length: 200 88 Description string `json:"description,omitempty"` 89 90 // Device 91 // Required: true 92 Device *int64 `json:"device"` 93 94 // Display 95 // Read Only: true 96 Display string `json:"display,omitempty"` 97 98 // Enabled 99 Enabled bool `json:"enabled,omitempty"` 100 101 // Id 102 // Read Only: true 103 ID int64 `json:"id,omitempty"` 104 105 // Label 106 // 107 // Physical label 108 // Max Length: 64 109 Label string `json:"label,omitempty"` 110 111 // Parent LAG 112 Lag *int64 `json:"lag,omitempty"` 113 114 // Last updated 115 // Read Only: true 116 // Format: date-time 117 LastUpdated strfmt.DateTime `json:"last_updated,omitempty"` 118 119 // MAC Address 120 MacAddress *string `json:"mac_address,omitempty"` 121 122 // Mark connected 123 // 124 // Treat as if a cable is connected 125 MarkConnected bool `json:"mark_connected,omitempty"` 126 127 // Management only 128 // 129 // This interface is used only for out-of-band management 130 MgmtOnly bool `json:"mgmt_only,omitempty"` 131 132 // Mode 133 // Enum: [access tagged tagged-all] 134 Mode string `json:"mode,omitempty"` 135 136 // MTU 137 // Maximum: 65536 138 // Minimum: 1 139 Mtu *int64 `json:"mtu,omitempty"` 140 141 // Name 142 // Required: true 143 // Max Length: 64 144 // Min Length: 1 145 Name *string `json:"name"` 146 147 // Parent interface 148 Parent *int64 `json:"parent,omitempty"` 149 150 // tagged vlans 151 // Unique: true 152 TaggedVlans []int64 `json:"tagged_vlans"` 153 154 // tags 155 Tags []*NestedTag `json:"tags"` 156 157 // Type 158 // Required: true 159 // 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] 160 Type *string `json:"type"` 161 162 // Untagged VLAN 163 UntaggedVlan *int64 `json:"untagged_vlan,omitempty"` 164 165 // Url 166 // Read Only: true 167 // Format: uri 168 URL strfmt.URI `json:"url,omitempty"` 169 } 170 171 // Validate validates this writable interface 172 func (m *WritableInterface) Validate(formats strfmt.Registry) error { 173 var res []error 174 175 if err := m.validateCable(formats); err != nil { 176 res = append(res, err) 177 } 178 179 if err := m.validateCreated(formats); err != nil { 180 res = append(res, err) 181 } 182 183 if err := m.validateDescription(formats); err != nil { 184 res = append(res, err) 185 } 186 187 if err := m.validateDevice(formats); err != nil { 188 res = append(res, err) 189 } 190 191 if err := m.validateLabel(formats); err != nil { 192 res = append(res, err) 193 } 194 195 if err := m.validateLastUpdated(formats); err != nil { 196 res = append(res, err) 197 } 198 199 if err := m.validateMode(formats); err != nil { 200 res = append(res, err) 201 } 202 203 if err := m.validateMtu(formats); err != nil { 204 res = append(res, err) 205 } 206 207 if err := m.validateName(formats); err != nil { 208 res = append(res, err) 209 } 210 211 if err := m.validateTaggedVlans(formats); err != nil { 212 res = append(res, err) 213 } 214 215 if err := m.validateTags(formats); err != nil { 216 res = append(res, err) 217 } 218 219 if err := m.validateType(formats); err != nil { 220 res = append(res, err) 221 } 222 223 if err := m.validateURL(formats); err != nil { 224 res = append(res, err) 225 } 226 227 if len(res) > 0 { 228 return errors.CompositeValidationError(res...) 229 } 230 return nil 231 } 232 233 func (m *WritableInterface) validateCable(formats strfmt.Registry) error { 234 if swag.IsZero(m.Cable) { // not required 235 return nil 236 } 237 238 if m.Cable != nil { 239 if err := m.Cable.Validate(formats); err != nil { 240 if ve, ok := err.(*errors.Validation); ok { 241 return ve.ValidateName("cable") 242 } else if ce, ok := err.(*errors.CompositeError); ok { 243 return ce.ValidateName("cable") 244 } 245 return err 246 } 247 } 248 249 return nil 250 } 251 252 func (m *WritableInterface) validateCreated(formats strfmt.Registry) error { 253 if swag.IsZero(m.Created) { // not required 254 return nil 255 } 256 257 if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil { 258 return err 259 } 260 261 return nil 262 } 263 264 func (m *WritableInterface) validateDescription(formats strfmt.Registry) error { 265 if swag.IsZero(m.Description) { // not required 266 return nil 267 } 268 269 if err := validate.MaxLength("description", "body", m.Description, 200); err != nil { 270 return err 271 } 272 273 return nil 274 } 275 276 func (m *WritableInterface) validateDevice(formats strfmt.Registry) error { 277 278 if err := validate.Required("device", "body", m.Device); err != nil { 279 return err 280 } 281 282 return nil 283 } 284 285 func (m *WritableInterface) validateLabel(formats strfmt.Registry) error { 286 if swag.IsZero(m.Label) { // not required 287 return nil 288 } 289 290 if err := validate.MaxLength("label", "body", m.Label, 64); err != nil { 291 return err 292 } 293 294 return nil 295 } 296 297 func (m *WritableInterface) validateLastUpdated(formats strfmt.Registry) error { 298 if swag.IsZero(m.LastUpdated) { // not required 299 return nil 300 } 301 302 if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { 303 return err 304 } 305 306 return nil 307 } 308 309 var writableInterfaceTypeModePropEnum []interface{} 310 311 func init() { 312 var res []string 313 if err := json.Unmarshal([]byte(`["access","tagged","tagged-all"]`), &res); err != nil { 314 panic(err) 315 } 316 for _, v := range res { 317 writableInterfaceTypeModePropEnum = append(writableInterfaceTypeModePropEnum, v) 318 } 319 } 320 321 const ( 322 323 // WritableInterfaceModeAccess captures enum value "access" 324 WritableInterfaceModeAccess string = "access" 325 326 // WritableInterfaceModeTagged captures enum value "tagged" 327 WritableInterfaceModeTagged string = "tagged" 328 329 // WritableInterfaceModeTaggedDashAll captures enum value "tagged-all" 330 WritableInterfaceModeTaggedDashAll string = "tagged-all" 331 ) 332 333 // prop value enum 334 func (m *WritableInterface) validateModeEnum(path, location string, value string) error { 335 if err := validate.EnumCase(path, location, value, writableInterfaceTypeModePropEnum, true); err != nil { 336 return err 337 } 338 return nil 339 } 340 341 func (m *WritableInterface) validateMode(formats strfmt.Registry) error { 342 if swag.IsZero(m.Mode) { // not required 343 return nil 344 } 345 346 // value enum 347 if err := m.validateModeEnum("mode", "body", m.Mode); err != nil { 348 return err 349 } 350 351 return nil 352 } 353 354 func (m *WritableInterface) validateMtu(formats strfmt.Registry) error { 355 if swag.IsZero(m.Mtu) { // not required 356 return nil 357 } 358 359 if err := validate.MinimumInt("mtu", "body", *m.Mtu, 1, false); err != nil { 360 return err 361 } 362 363 if err := validate.MaximumInt("mtu", "body", *m.Mtu, 65536, false); err != nil { 364 return err 365 } 366 367 return nil 368 } 369 370 func (m *WritableInterface) validateName(formats strfmt.Registry) error { 371 372 if err := validate.Required("name", "body", m.Name); err != nil { 373 return err 374 } 375 376 if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { 377 return err 378 } 379 380 if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil { 381 return err 382 } 383 384 return nil 385 } 386 387 func (m *WritableInterface) validateTaggedVlans(formats strfmt.Registry) error { 388 if swag.IsZero(m.TaggedVlans) { // not required 389 return nil 390 } 391 392 if err := validate.UniqueItems("tagged_vlans", "body", m.TaggedVlans); err != nil { 393 return err 394 } 395 396 return nil 397 } 398 399 func (m *WritableInterface) validateTags(formats strfmt.Registry) error { 400 if swag.IsZero(m.Tags) { // not required 401 return nil 402 } 403 404 for i := 0; i < len(m.Tags); i++ { 405 if swag.IsZero(m.Tags[i]) { // not required 406 continue 407 } 408 409 if m.Tags[i] != nil { 410 if err := m.Tags[i].Validate(formats); err != nil { 411 if ve, ok := err.(*errors.Validation); ok { 412 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 413 } else if ce, ok := err.(*errors.CompositeError); ok { 414 return ce.ValidateName("tags" + "." + strconv.Itoa(i)) 415 } 416 return err 417 } 418 } 419 420 } 421 422 return nil 423 } 424 425 var writableInterfaceTypeTypePropEnum []interface{} 426 427 func init() { 428 var res []string 429 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 { 430 panic(err) 431 } 432 for _, v := range res { 433 writableInterfaceTypeTypePropEnum = append(writableInterfaceTypeTypePropEnum, v) 434 } 435 } 436 437 const ( 438 439 // WritableInterfaceTypeVirtual captures enum value "virtual" 440 WritableInterfaceTypeVirtual string = "virtual" 441 442 // WritableInterfaceTypeLag captures enum value "lag" 443 WritableInterfaceTypeLag string = "lag" 444 445 // WritableInterfaceTypeNr100baseDashTx captures enum value "100base-tx" 446 WritableInterfaceTypeNr100baseDashTx string = "100base-tx" 447 448 // WritableInterfaceTypeNr1000baseDasht captures enum value "1000base-t" 449 WritableInterfaceTypeNr1000baseDasht string = "1000base-t" 450 451 // WritableInterfaceTypeNr2Dot5gbaseDasht captures enum value "2.5gbase-t" 452 WritableInterfaceTypeNr2Dot5gbaseDasht string = "2.5gbase-t" 453 454 // WritableInterfaceTypeNr5gbaseDasht captures enum value "5gbase-t" 455 WritableInterfaceTypeNr5gbaseDasht string = "5gbase-t" 456 457 // WritableInterfaceTypeNr10gbaseDasht captures enum value "10gbase-t" 458 WritableInterfaceTypeNr10gbaseDasht string = "10gbase-t" 459 460 // WritableInterfaceTypeNr10gbaseDashCx4 captures enum value "10gbase-cx4" 461 WritableInterfaceTypeNr10gbaseDashCx4 string = "10gbase-cx4" 462 463 // WritableInterfaceTypeNr1000baseDashxDashGbic captures enum value "1000base-x-gbic" 464 WritableInterfaceTypeNr1000baseDashxDashGbic string = "1000base-x-gbic" 465 466 // WritableInterfaceTypeNr1000baseDashxDashSfp captures enum value "1000base-x-sfp" 467 WritableInterfaceTypeNr1000baseDashxDashSfp string = "1000base-x-sfp" 468 469 // WritableInterfaceTypeNr10gbaseDashxDashSfpp captures enum value "10gbase-x-sfpp" 470 WritableInterfaceTypeNr10gbaseDashxDashSfpp string = "10gbase-x-sfpp" 471 472 // WritableInterfaceTypeNr10gbaseDashxDashXfp captures enum value "10gbase-x-xfp" 473 WritableInterfaceTypeNr10gbaseDashxDashXfp string = "10gbase-x-xfp" 474 475 // WritableInterfaceTypeNr10gbaseDashxDashXenpak captures enum value "10gbase-x-xenpak" 476 WritableInterfaceTypeNr10gbaseDashxDashXenpak string = "10gbase-x-xenpak" 477 478 // WritableInterfaceTypeNr10gbaseDashxDashX2 captures enum value "10gbase-x-x2" 479 WritableInterfaceTypeNr10gbaseDashxDashX2 string = "10gbase-x-x2" 480 481 // WritableInterfaceTypeNr25gbaseDashxDashSfp28 captures enum value "25gbase-x-sfp28" 482 WritableInterfaceTypeNr25gbaseDashxDashSfp28 string = "25gbase-x-sfp28" 483 484 // WritableInterfaceTypeNr50gbaseDashxDashSfp56 captures enum value "50gbase-x-sfp56" 485 WritableInterfaceTypeNr50gbaseDashxDashSfp56 string = "50gbase-x-sfp56" 486 487 // WritableInterfaceTypeNr40gbaseDashxDashQsfpp captures enum value "40gbase-x-qsfpp" 488 WritableInterfaceTypeNr40gbaseDashxDashQsfpp string = "40gbase-x-qsfpp" 489 490 // WritableInterfaceTypeNr50gbaseDashxDashSfp28 captures enum value "50gbase-x-sfp28" 491 WritableInterfaceTypeNr50gbaseDashxDashSfp28 string = "50gbase-x-sfp28" 492 493 // WritableInterfaceTypeNr100gbaseDashxDashCfp captures enum value "100gbase-x-cfp" 494 WritableInterfaceTypeNr100gbaseDashxDashCfp string = "100gbase-x-cfp" 495 496 // WritableInterfaceTypeNr100gbaseDashxDashCfp2 captures enum value "100gbase-x-cfp2" 497 WritableInterfaceTypeNr100gbaseDashxDashCfp2 string = "100gbase-x-cfp2" 498 499 // WritableInterfaceTypeNr200gbaseDashxDashCfp2 captures enum value "200gbase-x-cfp2" 500 WritableInterfaceTypeNr200gbaseDashxDashCfp2 string = "200gbase-x-cfp2" 501 502 // WritableInterfaceTypeNr100gbaseDashxDashCfp4 captures enum value "100gbase-x-cfp4" 503 WritableInterfaceTypeNr100gbaseDashxDashCfp4 string = "100gbase-x-cfp4" 504 505 // WritableInterfaceTypeNr100gbaseDashxDashCpak captures enum value "100gbase-x-cpak" 506 WritableInterfaceTypeNr100gbaseDashxDashCpak string = "100gbase-x-cpak" 507 508 // WritableInterfaceTypeNr100gbaseDashxDashQsfp28 captures enum value "100gbase-x-qsfp28" 509 WritableInterfaceTypeNr100gbaseDashxDashQsfp28 string = "100gbase-x-qsfp28" 510 511 // WritableInterfaceTypeNr200gbaseDashxDashQsfp56 captures enum value "200gbase-x-qsfp56" 512 WritableInterfaceTypeNr200gbaseDashxDashQsfp56 string = "200gbase-x-qsfp56" 513 514 // WritableInterfaceTypeNr400gbaseDashxDashQsfpdd captures enum value "400gbase-x-qsfpdd" 515 WritableInterfaceTypeNr400gbaseDashxDashQsfpdd string = "400gbase-x-qsfpdd" 516 517 // WritableInterfaceTypeNr400gbaseDashxDashOsfp captures enum value "400gbase-x-osfp" 518 WritableInterfaceTypeNr400gbaseDashxDashOsfp string = "400gbase-x-osfp" 519 520 // WritableInterfaceTypeIeee802Dot11a captures enum value "ieee802.11a" 521 WritableInterfaceTypeIeee802Dot11a string = "ieee802.11a" 522 523 // WritableInterfaceTypeIeee802Dot11g captures enum value "ieee802.11g" 524 WritableInterfaceTypeIeee802Dot11g string = "ieee802.11g" 525 526 // WritableInterfaceTypeIeee802Dot11n captures enum value "ieee802.11n" 527 WritableInterfaceTypeIeee802Dot11n string = "ieee802.11n" 528 529 // WritableInterfaceTypeIeee802Dot11ac captures enum value "ieee802.11ac" 530 WritableInterfaceTypeIeee802Dot11ac string = "ieee802.11ac" 531 532 // WritableInterfaceTypeIeee802Dot11ad captures enum value "ieee802.11ad" 533 WritableInterfaceTypeIeee802Dot11ad string = "ieee802.11ad" 534 535 // WritableInterfaceTypeIeee802Dot11ax captures enum value "ieee802.11ax" 536 WritableInterfaceTypeIeee802Dot11ax string = "ieee802.11ax" 537 538 // WritableInterfaceTypeGsm captures enum value "gsm" 539 WritableInterfaceTypeGsm string = "gsm" 540 541 // WritableInterfaceTypeCdma captures enum value "cdma" 542 WritableInterfaceTypeCdma string = "cdma" 543 544 // WritableInterfaceTypeLte captures enum value "lte" 545 WritableInterfaceTypeLte string = "lte" 546 547 // WritableInterfaceTypeSonetDashOc3 captures enum value "sonet-oc3" 548 WritableInterfaceTypeSonetDashOc3 string = "sonet-oc3" 549 550 // WritableInterfaceTypeSonetDashOc12 captures enum value "sonet-oc12" 551 WritableInterfaceTypeSonetDashOc12 string = "sonet-oc12" 552 553 // WritableInterfaceTypeSonetDashOc48 captures enum value "sonet-oc48" 554 WritableInterfaceTypeSonetDashOc48 string = "sonet-oc48" 555 556 // WritableInterfaceTypeSonetDashOc192 captures enum value "sonet-oc192" 557 WritableInterfaceTypeSonetDashOc192 string = "sonet-oc192" 558 559 // WritableInterfaceTypeSonetDashOc768 captures enum value "sonet-oc768" 560 WritableInterfaceTypeSonetDashOc768 string = "sonet-oc768" 561 562 // WritableInterfaceTypeSonetDashOc1920 captures enum value "sonet-oc1920" 563 WritableInterfaceTypeSonetDashOc1920 string = "sonet-oc1920" 564 565 // WritableInterfaceTypeSonetDashOc3840 captures enum value "sonet-oc3840" 566 WritableInterfaceTypeSonetDashOc3840 string = "sonet-oc3840" 567 568 // WritableInterfaceTypeNr1gfcDashSfp captures enum value "1gfc-sfp" 569 WritableInterfaceTypeNr1gfcDashSfp string = "1gfc-sfp" 570 571 // WritableInterfaceTypeNr2gfcDashSfp captures enum value "2gfc-sfp" 572 WritableInterfaceTypeNr2gfcDashSfp string = "2gfc-sfp" 573 574 // WritableInterfaceTypeNr4gfcDashSfp captures enum value "4gfc-sfp" 575 WritableInterfaceTypeNr4gfcDashSfp string = "4gfc-sfp" 576 577 // WritableInterfaceTypeNr8gfcDashSfpp captures enum value "8gfc-sfpp" 578 WritableInterfaceTypeNr8gfcDashSfpp string = "8gfc-sfpp" 579 580 // WritableInterfaceTypeNr16gfcDashSfpp captures enum value "16gfc-sfpp" 581 WritableInterfaceTypeNr16gfcDashSfpp string = "16gfc-sfpp" 582 583 // WritableInterfaceTypeNr32gfcDashSfp28 captures enum value "32gfc-sfp28" 584 WritableInterfaceTypeNr32gfcDashSfp28 string = "32gfc-sfp28" 585 586 // WritableInterfaceTypeNr64gfcDashQsfpp captures enum value "64gfc-qsfpp" 587 WritableInterfaceTypeNr64gfcDashQsfpp string = "64gfc-qsfpp" 588 589 // WritableInterfaceTypeNr128gfcDashSfp28 captures enum value "128gfc-sfp28" 590 WritableInterfaceTypeNr128gfcDashSfp28 string = "128gfc-sfp28" 591 592 // WritableInterfaceTypeInfinibandDashSdr captures enum value "infiniband-sdr" 593 WritableInterfaceTypeInfinibandDashSdr string = "infiniband-sdr" 594 595 // WritableInterfaceTypeInfinibandDashDdr captures enum value "infiniband-ddr" 596 WritableInterfaceTypeInfinibandDashDdr string = "infiniband-ddr" 597 598 // WritableInterfaceTypeInfinibandDashQdr captures enum value "infiniband-qdr" 599 WritableInterfaceTypeInfinibandDashQdr string = "infiniband-qdr" 600 601 // WritableInterfaceTypeInfinibandDashFdr10 captures enum value "infiniband-fdr10" 602 WritableInterfaceTypeInfinibandDashFdr10 string = "infiniband-fdr10" 603 604 // WritableInterfaceTypeInfinibandDashFdr captures enum value "infiniband-fdr" 605 WritableInterfaceTypeInfinibandDashFdr string = "infiniband-fdr" 606 607 // WritableInterfaceTypeInfinibandDashEdr captures enum value "infiniband-edr" 608 WritableInterfaceTypeInfinibandDashEdr string = "infiniband-edr" 609 610 // WritableInterfaceTypeInfinibandDashHdr captures enum value "infiniband-hdr" 611 WritableInterfaceTypeInfinibandDashHdr string = "infiniband-hdr" 612 613 // WritableInterfaceTypeInfinibandDashNdr captures enum value "infiniband-ndr" 614 WritableInterfaceTypeInfinibandDashNdr string = "infiniband-ndr" 615 616 // WritableInterfaceTypeInfinibandDashXdr captures enum value "infiniband-xdr" 617 WritableInterfaceTypeInfinibandDashXdr string = "infiniband-xdr" 618 619 // WritableInterfaceTypeT1 captures enum value "t1" 620 WritableInterfaceTypeT1 string = "t1" 621 622 // WritableInterfaceTypeE1 captures enum value "e1" 623 WritableInterfaceTypeE1 string = "e1" 624 625 // WritableInterfaceTypeT3 captures enum value "t3" 626 WritableInterfaceTypeT3 string = "t3" 627 628 // WritableInterfaceTypeE3 captures enum value "e3" 629 WritableInterfaceTypeE3 string = "e3" 630 631 // WritableInterfaceTypeCiscoDashStackwise captures enum value "cisco-stackwise" 632 WritableInterfaceTypeCiscoDashStackwise string = "cisco-stackwise" 633 634 // WritableInterfaceTypeCiscoDashStackwiseDashPlus captures enum value "cisco-stackwise-plus" 635 WritableInterfaceTypeCiscoDashStackwiseDashPlus string = "cisco-stackwise-plus" 636 637 // WritableInterfaceTypeCiscoDashFlexstack captures enum value "cisco-flexstack" 638 WritableInterfaceTypeCiscoDashFlexstack string = "cisco-flexstack" 639 640 // WritableInterfaceTypeCiscoDashFlexstackDashPlus captures enum value "cisco-flexstack-plus" 641 WritableInterfaceTypeCiscoDashFlexstackDashPlus string = "cisco-flexstack-plus" 642 643 // WritableInterfaceTypeJuniperDashVcp captures enum value "juniper-vcp" 644 WritableInterfaceTypeJuniperDashVcp string = "juniper-vcp" 645 646 // WritableInterfaceTypeExtremeDashSummitstack captures enum value "extreme-summitstack" 647 WritableInterfaceTypeExtremeDashSummitstack string = "extreme-summitstack" 648 649 // WritableInterfaceTypeExtremeDashSummitstackDash128 captures enum value "extreme-summitstack-128" 650 WritableInterfaceTypeExtremeDashSummitstackDash128 string = "extreme-summitstack-128" 651 652 // WritableInterfaceTypeExtremeDashSummitstackDash256 captures enum value "extreme-summitstack-256" 653 WritableInterfaceTypeExtremeDashSummitstackDash256 string = "extreme-summitstack-256" 654 655 // WritableInterfaceTypeExtremeDashSummitstackDash512 captures enum value "extreme-summitstack-512" 656 WritableInterfaceTypeExtremeDashSummitstackDash512 string = "extreme-summitstack-512" 657 658 // WritableInterfaceTypeOther captures enum value "other" 659 WritableInterfaceTypeOther string = "other" 660 ) 661 662 // prop value enum 663 func (m *WritableInterface) validateTypeEnum(path, location string, value string) error { 664 if err := validate.EnumCase(path, location, value, writableInterfaceTypeTypePropEnum, true); err != nil { 665 return err 666 } 667 return nil 668 } 669 670 func (m *WritableInterface) validateType(formats strfmt.Registry) error { 671 672 if err := validate.Required("type", "body", m.Type); err != nil { 673 return err 674 } 675 676 // value enum 677 if err := m.validateTypeEnum("type", "body", *m.Type); err != nil { 678 return err 679 } 680 681 return nil 682 } 683 684 func (m *WritableInterface) validateURL(formats strfmt.Registry) error { 685 if swag.IsZero(m.URL) { // not required 686 return nil 687 } 688 689 if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil { 690 return err 691 } 692 693 return nil 694 } 695 696 // ContextValidate validate this writable interface based on the context it is used 697 func (m *WritableInterface) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 698 var res []error 699 700 if err := m.contextValidateOccupied(ctx, formats); err != nil { 701 res = append(res, err) 702 } 703 704 if err := m.contextValidateCable(ctx, formats); err != nil { 705 res = append(res, err) 706 } 707 708 if err := m.contextValidateCablePeer(ctx, formats); err != nil { 709 res = append(res, err) 710 } 711 712 if err := m.contextValidateCablePeerType(ctx, formats); err != nil { 713 res = append(res, err) 714 } 715 716 if err := m.contextValidateConnectedEndpoint(ctx, formats); err != nil { 717 res = append(res, err) 718 } 719 720 if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil { 721 res = append(res, err) 722 } 723 724 if err := m.contextValidateConnectedEndpointType(ctx, formats); err != nil { 725 res = append(res, err) 726 } 727 728 if err := m.contextValidateCountIpaddresses(ctx, formats); err != nil { 729 res = append(res, err) 730 } 731 732 if err := m.contextValidateCreated(ctx, formats); err != nil { 733 res = append(res, err) 734 } 735 736 if err := m.contextValidateDisplay(ctx, formats); err != nil { 737 res = append(res, err) 738 } 739 740 if err := m.contextValidateID(ctx, formats); err != nil { 741 res = append(res, err) 742 } 743 744 if err := m.contextValidateLastUpdated(ctx, formats); err != nil { 745 res = append(res, err) 746 } 747 748 if err := m.contextValidateTags(ctx, formats); err != nil { 749 res = append(res, err) 750 } 751 752 if err := m.contextValidateURL(ctx, formats); err != nil { 753 res = append(res, err) 754 } 755 756 if len(res) > 0 { 757 return errors.CompositeValidationError(res...) 758 } 759 return nil 760 } 761 762 func (m *WritableInterface) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error { 763 764 if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil { 765 return err 766 } 767 768 return nil 769 } 770 771 func (m *WritableInterface) contextValidateCable(ctx context.Context, formats strfmt.Registry) error { 772 773 if m.Cable != nil { 774 if err := m.Cable.ContextValidate(ctx, formats); err != nil { 775 if ve, ok := err.(*errors.Validation); ok { 776 return ve.ValidateName("cable") 777 } else if ce, ok := err.(*errors.CompositeError); ok { 778 return ce.ValidateName("cable") 779 } 780 return err 781 } 782 } 783 784 return nil 785 } 786 787 func (m *WritableInterface) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error { 788 789 return nil 790 } 791 792 func (m *WritableInterface) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error { 793 794 if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil { 795 return err 796 } 797 798 return nil 799 } 800 801 func (m *WritableInterface) contextValidateConnectedEndpoint(ctx context.Context, formats strfmt.Registry) error { 802 803 return nil 804 } 805 806 func (m *WritableInterface) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error { 807 808 if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil { 809 return err 810 } 811 812 return nil 813 } 814 815 func (m *WritableInterface) contextValidateConnectedEndpointType(ctx context.Context, formats strfmt.Registry) error { 816 817 if err := validate.ReadOnly(ctx, "connected_endpoint_type", "body", string(m.ConnectedEndpointType)); err != nil { 818 return err 819 } 820 821 return nil 822 } 823 824 func (m *WritableInterface) contextValidateCountIpaddresses(ctx context.Context, formats strfmt.Registry) error { 825 826 if err := validate.ReadOnly(ctx, "count_ipaddresses", "body", int64(m.CountIpaddresses)); err != nil { 827 return err 828 } 829 830 return nil 831 } 832 833 func (m *WritableInterface) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error { 834 835 if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil { 836 return err 837 } 838 839 return nil 840 } 841 842 func (m *WritableInterface) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error { 843 844 if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil { 845 return err 846 } 847 848 return nil 849 } 850 851 func (m *WritableInterface) contextValidateID(ctx context.Context, formats strfmt.Registry) error { 852 853 if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil { 854 return err 855 } 856 857 return nil 858 } 859 860 func (m *WritableInterface) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error { 861 862 if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil { 863 return err 864 } 865 866 return nil 867 } 868 869 func (m *WritableInterface) contextValidateTags(ctx context.Context, formats strfmt.Registry) error { 870 871 for i := 0; i < len(m.Tags); i++ { 872 873 if m.Tags[i] != nil { 874 if err := m.Tags[i].ContextValidate(ctx, formats); err != nil { 875 if ve, ok := err.(*errors.Validation); ok { 876 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 877 } else if ce, ok := err.(*errors.CompositeError); ok { 878 return ce.ValidateName("tags" + "." + strconv.Itoa(i)) 879 } 880 return err 881 } 882 } 883 884 } 885 886 return nil 887 } 888 889 func (m *WritableInterface) contextValidateURL(ctx context.Context, formats strfmt.Registry) error { 890 891 if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil { 892 return err 893 } 894 895 return nil 896 } 897 898 // MarshalBinary interface implementation 899 func (m *WritableInterface) MarshalBinary() ([]byte, error) { 900 if m == nil { 901 return nil, nil 902 } 903 return swag.WriteJSON(m) 904 } 905 906 // UnmarshalBinary interface implementation 907 func (m *WritableInterface) UnmarshalBinary(b []byte) error { 908 var res WritableInterface 909 if err := swag.ReadJSON(b, &res); err != nil { 910 return err 911 } 912 *m = res 913 return nil 914 }