github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_power_outlet.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 // WritablePowerOutlet writable power outlet 35 // 36 // swagger:model WritablePowerOutlet 37 type WritablePowerOutlet 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 // Created 75 // Read Only: true 76 // Format: date 77 Created strfmt.Date `json:"created,omitempty"` 78 79 // Custom fields 80 CustomFields interface{} `json:"custom_fields,omitempty"` 81 82 // Description 83 // Max Length: 200 84 Description string `json:"description,omitempty"` 85 86 // Device 87 // Required: true 88 Device *int64 `json:"device"` 89 90 // Display 91 // Read Only: true 92 Display string `json:"display,omitempty"` 93 94 // Feed leg 95 // 96 // Phase (for three-phase feeds) 97 // Enum: [A B C] 98 FeedLeg string `json:"feed_leg,omitempty"` 99 100 // Id 101 // Read Only: true 102 ID int64 `json:"id,omitempty"` 103 104 // Label 105 // 106 // Physical label 107 // Max Length: 64 108 Label string `json:"label,omitempty"` 109 110 // Last updated 111 // Read Only: true 112 // Format: date-time 113 LastUpdated strfmt.DateTime `json:"last_updated,omitempty"` 114 115 // Mark connected 116 // 117 // Treat as if a cable is connected 118 MarkConnected bool `json:"mark_connected,omitempty"` 119 120 // Name 121 // Required: true 122 // Max Length: 64 123 // Min Length: 1 124 Name *string `json:"name"` 125 126 // Power port 127 PowerPort *int64 `json:"power_port,omitempty"` 128 129 // tags 130 Tags []*NestedTag `json:"tags"` 131 132 // Type 133 // 134 // Physical port type 135 // Enum: [iec-60320-c5 iec-60320-c7 iec-60320-c13 iec-60320-c15 iec-60320-c19 iec-60320-c21 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15r nema-5-15r nema-5-20r nema-5-30r nema-5-50r nema-6-15r nema-6-20r nema-6-30r nema-6-50r nema-10-30r nema-10-50r nema-14-20r nema-14-30r nema-14-50r nema-14-60r nema-15-15r nema-15-20r nema-15-30r nema-15-50r nema-15-60r nema-l1-15r nema-l5-15r nema-l5-20r nema-l5-30r nema-l5-50r nema-l6-15r nema-l6-20r nema-l6-30r nema-l6-50r nema-l10-30r nema-l14-20r nema-l14-30r nema-l14-50r nema-l14-60r nema-l15-20r nema-l15-30r nema-l15-50r nema-l15-60r nema-l21-20r nema-l21-30r CS6360C CS6364C CS8164C CS8264C CS8364C CS8464C ita-e ita-f ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-micro-b usb-c dc-terminal hdot-cx saf-d-grid] 136 Type string `json:"type,omitempty"` 137 138 // Url 139 // Read Only: true 140 // Format: uri 141 URL strfmt.URI `json:"url,omitempty"` 142 } 143 144 // Validate validates this writable power outlet 145 func (m *WritablePowerOutlet) Validate(formats strfmt.Registry) error { 146 var res []error 147 148 if err := m.validateCable(formats); err != nil { 149 res = append(res, err) 150 } 151 152 if err := m.validateCreated(formats); err != nil { 153 res = append(res, err) 154 } 155 156 if err := m.validateDescription(formats); err != nil { 157 res = append(res, err) 158 } 159 160 if err := m.validateDevice(formats); err != nil { 161 res = append(res, err) 162 } 163 164 if err := m.validateFeedLeg(formats); err != nil { 165 res = append(res, err) 166 } 167 168 if err := m.validateLabel(formats); err != nil { 169 res = append(res, err) 170 } 171 172 if err := m.validateLastUpdated(formats); err != nil { 173 res = append(res, err) 174 } 175 176 if err := m.validateName(formats); err != nil { 177 res = append(res, err) 178 } 179 180 if err := m.validateTags(formats); err != nil { 181 res = append(res, err) 182 } 183 184 if err := m.validateType(formats); err != nil { 185 res = append(res, err) 186 } 187 188 if err := m.validateURL(formats); err != nil { 189 res = append(res, err) 190 } 191 192 if len(res) > 0 { 193 return errors.CompositeValidationError(res...) 194 } 195 return nil 196 } 197 198 func (m *WritablePowerOutlet) validateCable(formats strfmt.Registry) error { 199 if swag.IsZero(m.Cable) { // not required 200 return nil 201 } 202 203 if m.Cable != nil { 204 if err := m.Cable.Validate(formats); err != nil { 205 if ve, ok := err.(*errors.Validation); ok { 206 return ve.ValidateName("cable") 207 } else if ce, ok := err.(*errors.CompositeError); ok { 208 return ce.ValidateName("cable") 209 } 210 return err 211 } 212 } 213 214 return nil 215 } 216 217 func (m *WritablePowerOutlet) validateCreated(formats strfmt.Registry) error { 218 if swag.IsZero(m.Created) { // not required 219 return nil 220 } 221 222 if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil { 223 return err 224 } 225 226 return nil 227 } 228 229 func (m *WritablePowerOutlet) validateDescription(formats strfmt.Registry) error { 230 if swag.IsZero(m.Description) { // not required 231 return nil 232 } 233 234 if err := validate.MaxLength("description", "body", m.Description, 200); err != nil { 235 return err 236 } 237 238 return nil 239 } 240 241 func (m *WritablePowerOutlet) validateDevice(formats strfmt.Registry) error { 242 243 if err := validate.Required("device", "body", m.Device); err != nil { 244 return err 245 } 246 247 return nil 248 } 249 250 var writablePowerOutletTypeFeedLegPropEnum []interface{} 251 252 func init() { 253 var res []string 254 if err := json.Unmarshal([]byte(`["A","B","C"]`), &res); err != nil { 255 panic(err) 256 } 257 for _, v := range res { 258 writablePowerOutletTypeFeedLegPropEnum = append(writablePowerOutletTypeFeedLegPropEnum, v) 259 } 260 } 261 262 const ( 263 264 // WritablePowerOutletFeedLegA captures enum value "A" 265 WritablePowerOutletFeedLegA string = "A" 266 267 // WritablePowerOutletFeedLegB captures enum value "B" 268 WritablePowerOutletFeedLegB string = "B" 269 270 // WritablePowerOutletFeedLegC captures enum value "C" 271 WritablePowerOutletFeedLegC string = "C" 272 ) 273 274 // prop value enum 275 func (m *WritablePowerOutlet) validateFeedLegEnum(path, location string, value string) error { 276 if err := validate.EnumCase(path, location, value, writablePowerOutletTypeFeedLegPropEnum, true); err != nil { 277 return err 278 } 279 return nil 280 } 281 282 func (m *WritablePowerOutlet) validateFeedLeg(formats strfmt.Registry) error { 283 if swag.IsZero(m.FeedLeg) { // not required 284 return nil 285 } 286 287 // value enum 288 if err := m.validateFeedLegEnum("feed_leg", "body", m.FeedLeg); err != nil { 289 return err 290 } 291 292 return nil 293 } 294 295 func (m *WritablePowerOutlet) validateLabel(formats strfmt.Registry) error { 296 if swag.IsZero(m.Label) { // not required 297 return nil 298 } 299 300 if err := validate.MaxLength("label", "body", m.Label, 64); err != nil { 301 return err 302 } 303 304 return nil 305 } 306 307 func (m *WritablePowerOutlet) validateLastUpdated(formats strfmt.Registry) error { 308 if swag.IsZero(m.LastUpdated) { // not required 309 return nil 310 } 311 312 if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { 313 return err 314 } 315 316 return nil 317 } 318 319 func (m *WritablePowerOutlet) validateName(formats strfmt.Registry) error { 320 321 if err := validate.Required("name", "body", m.Name); err != nil { 322 return err 323 } 324 325 if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { 326 return err 327 } 328 329 if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil { 330 return err 331 } 332 333 return nil 334 } 335 336 func (m *WritablePowerOutlet) validateTags(formats strfmt.Registry) error { 337 if swag.IsZero(m.Tags) { // not required 338 return nil 339 } 340 341 for i := 0; i < len(m.Tags); i++ { 342 if swag.IsZero(m.Tags[i]) { // not required 343 continue 344 } 345 346 if m.Tags[i] != nil { 347 if err := m.Tags[i].Validate(formats); err != nil { 348 if ve, ok := err.(*errors.Validation); ok { 349 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 350 } else if ce, ok := err.(*errors.CompositeError); ok { 351 return ce.ValidateName("tags" + "." + strconv.Itoa(i)) 352 } 353 return err 354 } 355 } 356 357 } 358 359 return nil 360 } 361 362 var writablePowerOutletTypeTypePropEnum []interface{} 363 364 func init() { 365 var res []string 366 if err := json.Unmarshal([]byte(`["iec-60320-c5","iec-60320-c7","iec-60320-c13","iec-60320-c15","iec-60320-c19","iec-60320-c21","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15r","nema-5-15r","nema-5-20r","nema-5-30r","nema-5-50r","nema-6-15r","nema-6-20r","nema-6-30r","nema-6-50r","nema-10-30r","nema-10-50r","nema-14-20r","nema-14-30r","nema-14-50r","nema-14-60r","nema-15-15r","nema-15-20r","nema-15-30r","nema-15-50r","nema-15-60r","nema-l1-15r","nema-l5-15r","nema-l5-20r","nema-l5-30r","nema-l5-50r","nema-l6-15r","nema-l6-20r","nema-l6-30r","nema-l6-50r","nema-l10-30r","nema-l14-20r","nema-l14-30r","nema-l14-50r","nema-l14-60r","nema-l15-20r","nema-l15-30r","nema-l15-50r","nema-l15-60r","nema-l21-20r","nema-l21-30r","CS6360C","CS6364C","CS8164C","CS8264C","CS8364C","CS8464C","ita-e","ita-f","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-micro-b","usb-c","dc-terminal","hdot-cx","saf-d-grid"]`), &res); err != nil { 367 panic(err) 368 } 369 for _, v := range res { 370 writablePowerOutletTypeTypePropEnum = append(writablePowerOutletTypeTypePropEnum, v) 371 } 372 } 373 374 const ( 375 376 // WritablePowerOutletTypeIecDash60320DashC5 captures enum value "iec-60320-c5" 377 WritablePowerOutletTypeIecDash60320DashC5 string = "iec-60320-c5" 378 379 // WritablePowerOutletTypeIecDash60320DashC7 captures enum value "iec-60320-c7" 380 WritablePowerOutletTypeIecDash60320DashC7 string = "iec-60320-c7" 381 382 // WritablePowerOutletTypeIecDash60320DashC13 captures enum value "iec-60320-c13" 383 WritablePowerOutletTypeIecDash60320DashC13 string = "iec-60320-c13" 384 385 // WritablePowerOutletTypeIecDash60320DashC15 captures enum value "iec-60320-c15" 386 WritablePowerOutletTypeIecDash60320DashC15 string = "iec-60320-c15" 387 388 // WritablePowerOutletTypeIecDash60320DashC19 captures enum value "iec-60320-c19" 389 WritablePowerOutletTypeIecDash60320DashC19 string = "iec-60320-c19" 390 391 // WritablePowerOutletTypeIecDash60320DashC21 captures enum value "iec-60320-c21" 392 WritablePowerOutletTypeIecDash60320DashC21 string = "iec-60320-c21" 393 394 // WritablePowerOutletTypeIecDash60309DashpDashnDasheDash4h captures enum value "iec-60309-p-n-e-4h" 395 WritablePowerOutletTypeIecDash60309DashpDashnDasheDash4h string = "iec-60309-p-n-e-4h" 396 397 // WritablePowerOutletTypeIecDash60309DashpDashnDasheDash6h captures enum value "iec-60309-p-n-e-6h" 398 WritablePowerOutletTypeIecDash60309DashpDashnDasheDash6h string = "iec-60309-p-n-e-6h" 399 400 // WritablePowerOutletTypeIecDash60309DashpDashnDasheDash9h captures enum value "iec-60309-p-n-e-9h" 401 WritablePowerOutletTypeIecDash60309DashpDashnDasheDash9h string = "iec-60309-p-n-e-9h" 402 403 // WritablePowerOutletTypeIecDash60309Dash2pDasheDash4h captures enum value "iec-60309-2p-e-4h" 404 WritablePowerOutletTypeIecDash60309Dash2pDasheDash4h string = "iec-60309-2p-e-4h" 405 406 // WritablePowerOutletTypeIecDash60309Dash2pDasheDash6h captures enum value "iec-60309-2p-e-6h" 407 WritablePowerOutletTypeIecDash60309Dash2pDasheDash6h string = "iec-60309-2p-e-6h" 408 409 // WritablePowerOutletTypeIecDash60309Dash2pDasheDash9h captures enum value "iec-60309-2p-e-9h" 410 WritablePowerOutletTypeIecDash60309Dash2pDasheDash9h string = "iec-60309-2p-e-9h" 411 412 // WritablePowerOutletTypeIecDash60309Dash3pDasheDash4h captures enum value "iec-60309-3p-e-4h" 413 WritablePowerOutletTypeIecDash60309Dash3pDasheDash4h string = "iec-60309-3p-e-4h" 414 415 // WritablePowerOutletTypeIecDash60309Dash3pDasheDash6h captures enum value "iec-60309-3p-e-6h" 416 WritablePowerOutletTypeIecDash60309Dash3pDasheDash6h string = "iec-60309-3p-e-6h" 417 418 // WritablePowerOutletTypeIecDash60309Dash3pDasheDash9h captures enum value "iec-60309-3p-e-9h" 419 WritablePowerOutletTypeIecDash60309Dash3pDasheDash9h string = "iec-60309-3p-e-9h" 420 421 // WritablePowerOutletTypeIecDash60309Dash3pDashnDasheDash4h captures enum value "iec-60309-3p-n-e-4h" 422 WritablePowerOutletTypeIecDash60309Dash3pDashnDasheDash4h string = "iec-60309-3p-n-e-4h" 423 424 // WritablePowerOutletTypeIecDash60309Dash3pDashnDasheDash6h captures enum value "iec-60309-3p-n-e-6h" 425 WritablePowerOutletTypeIecDash60309Dash3pDashnDasheDash6h string = "iec-60309-3p-n-e-6h" 426 427 // WritablePowerOutletTypeIecDash60309Dash3pDashnDasheDash9h captures enum value "iec-60309-3p-n-e-9h" 428 WritablePowerOutletTypeIecDash60309Dash3pDashnDasheDash9h string = "iec-60309-3p-n-e-9h" 429 430 // WritablePowerOutletTypeNemaDash1Dash15r captures enum value "nema-1-15r" 431 WritablePowerOutletTypeNemaDash1Dash15r string = "nema-1-15r" 432 433 // WritablePowerOutletTypeNemaDash5Dash15r captures enum value "nema-5-15r" 434 WritablePowerOutletTypeNemaDash5Dash15r string = "nema-5-15r" 435 436 // WritablePowerOutletTypeNemaDash5Dash20r captures enum value "nema-5-20r" 437 WritablePowerOutletTypeNemaDash5Dash20r string = "nema-5-20r" 438 439 // WritablePowerOutletTypeNemaDash5Dash30r captures enum value "nema-5-30r" 440 WritablePowerOutletTypeNemaDash5Dash30r string = "nema-5-30r" 441 442 // WritablePowerOutletTypeNemaDash5Dash50r captures enum value "nema-5-50r" 443 WritablePowerOutletTypeNemaDash5Dash50r string = "nema-5-50r" 444 445 // WritablePowerOutletTypeNemaDash6Dash15r captures enum value "nema-6-15r" 446 WritablePowerOutletTypeNemaDash6Dash15r string = "nema-6-15r" 447 448 // WritablePowerOutletTypeNemaDash6Dash20r captures enum value "nema-6-20r" 449 WritablePowerOutletTypeNemaDash6Dash20r string = "nema-6-20r" 450 451 // WritablePowerOutletTypeNemaDash6Dash30r captures enum value "nema-6-30r" 452 WritablePowerOutletTypeNemaDash6Dash30r string = "nema-6-30r" 453 454 // WritablePowerOutletTypeNemaDash6Dash50r captures enum value "nema-6-50r" 455 WritablePowerOutletTypeNemaDash6Dash50r string = "nema-6-50r" 456 457 // WritablePowerOutletTypeNemaDash10Dash30r captures enum value "nema-10-30r" 458 WritablePowerOutletTypeNemaDash10Dash30r string = "nema-10-30r" 459 460 // WritablePowerOutletTypeNemaDash10Dash50r captures enum value "nema-10-50r" 461 WritablePowerOutletTypeNemaDash10Dash50r string = "nema-10-50r" 462 463 // WritablePowerOutletTypeNemaDash14Dash20r captures enum value "nema-14-20r" 464 WritablePowerOutletTypeNemaDash14Dash20r string = "nema-14-20r" 465 466 // WritablePowerOutletTypeNemaDash14Dash30r captures enum value "nema-14-30r" 467 WritablePowerOutletTypeNemaDash14Dash30r string = "nema-14-30r" 468 469 // WritablePowerOutletTypeNemaDash14Dash50r captures enum value "nema-14-50r" 470 WritablePowerOutletTypeNemaDash14Dash50r string = "nema-14-50r" 471 472 // WritablePowerOutletTypeNemaDash14Dash60r captures enum value "nema-14-60r" 473 WritablePowerOutletTypeNemaDash14Dash60r string = "nema-14-60r" 474 475 // WritablePowerOutletTypeNemaDash15Dash15r captures enum value "nema-15-15r" 476 WritablePowerOutletTypeNemaDash15Dash15r string = "nema-15-15r" 477 478 // WritablePowerOutletTypeNemaDash15Dash20r captures enum value "nema-15-20r" 479 WritablePowerOutletTypeNemaDash15Dash20r string = "nema-15-20r" 480 481 // WritablePowerOutletTypeNemaDash15Dash30r captures enum value "nema-15-30r" 482 WritablePowerOutletTypeNemaDash15Dash30r string = "nema-15-30r" 483 484 // WritablePowerOutletTypeNemaDash15Dash50r captures enum value "nema-15-50r" 485 WritablePowerOutletTypeNemaDash15Dash50r string = "nema-15-50r" 486 487 // WritablePowerOutletTypeNemaDash15Dash60r captures enum value "nema-15-60r" 488 WritablePowerOutletTypeNemaDash15Dash60r string = "nema-15-60r" 489 490 // WritablePowerOutletTypeNemaDashL1Dash15r captures enum value "nema-l1-15r" 491 WritablePowerOutletTypeNemaDashL1Dash15r string = "nema-l1-15r" 492 493 // WritablePowerOutletTypeNemaDashL5Dash15r captures enum value "nema-l5-15r" 494 WritablePowerOutletTypeNemaDashL5Dash15r string = "nema-l5-15r" 495 496 // WritablePowerOutletTypeNemaDashL5Dash20r captures enum value "nema-l5-20r" 497 WritablePowerOutletTypeNemaDashL5Dash20r string = "nema-l5-20r" 498 499 // WritablePowerOutletTypeNemaDashL5Dash30r captures enum value "nema-l5-30r" 500 WritablePowerOutletTypeNemaDashL5Dash30r string = "nema-l5-30r" 501 502 // WritablePowerOutletTypeNemaDashL5Dash50r captures enum value "nema-l5-50r" 503 WritablePowerOutletTypeNemaDashL5Dash50r string = "nema-l5-50r" 504 505 // WritablePowerOutletTypeNemaDashL6Dash15r captures enum value "nema-l6-15r" 506 WritablePowerOutletTypeNemaDashL6Dash15r string = "nema-l6-15r" 507 508 // WritablePowerOutletTypeNemaDashL6Dash20r captures enum value "nema-l6-20r" 509 WritablePowerOutletTypeNemaDashL6Dash20r string = "nema-l6-20r" 510 511 // WritablePowerOutletTypeNemaDashL6Dash30r captures enum value "nema-l6-30r" 512 WritablePowerOutletTypeNemaDashL6Dash30r string = "nema-l6-30r" 513 514 // WritablePowerOutletTypeNemaDashL6Dash50r captures enum value "nema-l6-50r" 515 WritablePowerOutletTypeNemaDashL6Dash50r string = "nema-l6-50r" 516 517 // WritablePowerOutletTypeNemaDashL10Dash30r captures enum value "nema-l10-30r" 518 WritablePowerOutletTypeNemaDashL10Dash30r string = "nema-l10-30r" 519 520 // WritablePowerOutletTypeNemaDashL14Dash20r captures enum value "nema-l14-20r" 521 WritablePowerOutletTypeNemaDashL14Dash20r string = "nema-l14-20r" 522 523 // WritablePowerOutletTypeNemaDashL14Dash30r captures enum value "nema-l14-30r" 524 WritablePowerOutletTypeNemaDashL14Dash30r string = "nema-l14-30r" 525 526 // WritablePowerOutletTypeNemaDashL14Dash50r captures enum value "nema-l14-50r" 527 WritablePowerOutletTypeNemaDashL14Dash50r string = "nema-l14-50r" 528 529 // WritablePowerOutletTypeNemaDashL14Dash60r captures enum value "nema-l14-60r" 530 WritablePowerOutletTypeNemaDashL14Dash60r string = "nema-l14-60r" 531 532 // WritablePowerOutletTypeNemaDashL15Dash20r captures enum value "nema-l15-20r" 533 WritablePowerOutletTypeNemaDashL15Dash20r string = "nema-l15-20r" 534 535 // WritablePowerOutletTypeNemaDashL15Dash30r captures enum value "nema-l15-30r" 536 WritablePowerOutletTypeNemaDashL15Dash30r string = "nema-l15-30r" 537 538 // WritablePowerOutletTypeNemaDashL15Dash50r captures enum value "nema-l15-50r" 539 WritablePowerOutletTypeNemaDashL15Dash50r string = "nema-l15-50r" 540 541 // WritablePowerOutletTypeNemaDashL15Dash60r captures enum value "nema-l15-60r" 542 WritablePowerOutletTypeNemaDashL15Dash60r string = "nema-l15-60r" 543 544 // WritablePowerOutletTypeNemaDashL21Dash20r captures enum value "nema-l21-20r" 545 WritablePowerOutletTypeNemaDashL21Dash20r string = "nema-l21-20r" 546 547 // WritablePowerOutletTypeNemaDashL21Dash30r captures enum value "nema-l21-30r" 548 WritablePowerOutletTypeNemaDashL21Dash30r string = "nema-l21-30r" 549 550 // WritablePowerOutletTypeCS6360C captures enum value "CS6360C" 551 WritablePowerOutletTypeCS6360C string = "CS6360C" 552 553 // WritablePowerOutletTypeCS6364C captures enum value "CS6364C" 554 WritablePowerOutletTypeCS6364C string = "CS6364C" 555 556 // WritablePowerOutletTypeCS8164C captures enum value "CS8164C" 557 WritablePowerOutletTypeCS8164C string = "CS8164C" 558 559 // WritablePowerOutletTypeCS8264C captures enum value "CS8264C" 560 WritablePowerOutletTypeCS8264C string = "CS8264C" 561 562 // WritablePowerOutletTypeCS8364C captures enum value "CS8364C" 563 WritablePowerOutletTypeCS8364C string = "CS8364C" 564 565 // WritablePowerOutletTypeCS8464C captures enum value "CS8464C" 566 WritablePowerOutletTypeCS8464C string = "CS8464C" 567 568 // WritablePowerOutletTypeItaDashe captures enum value "ita-e" 569 WritablePowerOutletTypeItaDashe string = "ita-e" 570 571 // WritablePowerOutletTypeItaDashf captures enum value "ita-f" 572 WritablePowerOutletTypeItaDashf string = "ita-f" 573 574 // WritablePowerOutletTypeItaDashg captures enum value "ita-g" 575 WritablePowerOutletTypeItaDashg string = "ita-g" 576 577 // WritablePowerOutletTypeItaDashh captures enum value "ita-h" 578 WritablePowerOutletTypeItaDashh string = "ita-h" 579 580 // WritablePowerOutletTypeItaDashi captures enum value "ita-i" 581 WritablePowerOutletTypeItaDashi string = "ita-i" 582 583 // WritablePowerOutletTypeItaDashj captures enum value "ita-j" 584 WritablePowerOutletTypeItaDashj string = "ita-j" 585 586 // WritablePowerOutletTypeItaDashk captures enum value "ita-k" 587 WritablePowerOutletTypeItaDashk string = "ita-k" 588 589 // WritablePowerOutletTypeItaDashl captures enum value "ita-l" 590 WritablePowerOutletTypeItaDashl string = "ita-l" 591 592 // WritablePowerOutletTypeItaDashm captures enum value "ita-m" 593 WritablePowerOutletTypeItaDashm string = "ita-m" 594 595 // WritablePowerOutletTypeItaDashn captures enum value "ita-n" 596 WritablePowerOutletTypeItaDashn string = "ita-n" 597 598 // WritablePowerOutletTypeItaDasho captures enum value "ita-o" 599 WritablePowerOutletTypeItaDasho string = "ita-o" 600 601 // WritablePowerOutletTypeUsbDasha captures enum value "usb-a" 602 WritablePowerOutletTypeUsbDasha string = "usb-a" 603 604 // WritablePowerOutletTypeUsbDashMicroDashb captures enum value "usb-micro-b" 605 WritablePowerOutletTypeUsbDashMicroDashb string = "usb-micro-b" 606 607 // WritablePowerOutletTypeUsbDashc captures enum value "usb-c" 608 WritablePowerOutletTypeUsbDashc string = "usb-c" 609 610 // WritablePowerOutletTypeDcDashTerminal captures enum value "dc-terminal" 611 WritablePowerOutletTypeDcDashTerminal string = "dc-terminal" 612 613 // WritablePowerOutletTypeHdotDashCx captures enum value "hdot-cx" 614 WritablePowerOutletTypeHdotDashCx string = "hdot-cx" 615 616 // WritablePowerOutletTypeSafDashdDashGrid captures enum value "saf-d-grid" 617 WritablePowerOutletTypeSafDashdDashGrid string = "saf-d-grid" 618 ) 619 620 // prop value enum 621 func (m *WritablePowerOutlet) validateTypeEnum(path, location string, value string) error { 622 if err := validate.EnumCase(path, location, value, writablePowerOutletTypeTypePropEnum, true); err != nil { 623 return err 624 } 625 return nil 626 } 627 628 func (m *WritablePowerOutlet) validateType(formats strfmt.Registry) error { 629 if swag.IsZero(m.Type) { // not required 630 return nil 631 } 632 633 // value enum 634 if err := m.validateTypeEnum("type", "body", m.Type); err != nil { 635 return err 636 } 637 638 return nil 639 } 640 641 func (m *WritablePowerOutlet) validateURL(formats strfmt.Registry) error { 642 if swag.IsZero(m.URL) { // not required 643 return nil 644 } 645 646 if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil { 647 return err 648 } 649 650 return nil 651 } 652 653 // ContextValidate validate this writable power outlet based on the context it is used 654 func (m *WritablePowerOutlet) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 655 var res []error 656 657 if err := m.contextValidateOccupied(ctx, formats); err != nil { 658 res = append(res, err) 659 } 660 661 if err := m.contextValidateCable(ctx, formats); err != nil { 662 res = append(res, err) 663 } 664 665 if err := m.contextValidateCablePeer(ctx, formats); err != nil { 666 res = append(res, err) 667 } 668 669 if err := m.contextValidateCablePeerType(ctx, formats); err != nil { 670 res = append(res, err) 671 } 672 673 if err := m.contextValidateConnectedEndpoint(ctx, formats); err != nil { 674 res = append(res, err) 675 } 676 677 if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil { 678 res = append(res, err) 679 } 680 681 if err := m.contextValidateConnectedEndpointType(ctx, formats); err != nil { 682 res = append(res, err) 683 } 684 685 if err := m.contextValidateCreated(ctx, formats); err != nil { 686 res = append(res, err) 687 } 688 689 if err := m.contextValidateDisplay(ctx, formats); err != nil { 690 res = append(res, err) 691 } 692 693 if err := m.contextValidateID(ctx, formats); err != nil { 694 res = append(res, err) 695 } 696 697 if err := m.contextValidateLastUpdated(ctx, formats); err != nil { 698 res = append(res, err) 699 } 700 701 if err := m.contextValidateTags(ctx, formats); err != nil { 702 res = append(res, err) 703 } 704 705 if err := m.contextValidateURL(ctx, formats); err != nil { 706 res = append(res, err) 707 } 708 709 if len(res) > 0 { 710 return errors.CompositeValidationError(res...) 711 } 712 return nil 713 } 714 715 func (m *WritablePowerOutlet) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error { 716 717 if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil { 718 return err 719 } 720 721 return nil 722 } 723 724 func (m *WritablePowerOutlet) contextValidateCable(ctx context.Context, formats strfmt.Registry) error { 725 726 if m.Cable != nil { 727 if err := m.Cable.ContextValidate(ctx, formats); err != nil { 728 if ve, ok := err.(*errors.Validation); ok { 729 return ve.ValidateName("cable") 730 } else if ce, ok := err.(*errors.CompositeError); ok { 731 return ce.ValidateName("cable") 732 } 733 return err 734 } 735 } 736 737 return nil 738 } 739 740 func (m *WritablePowerOutlet) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error { 741 742 return nil 743 } 744 745 func (m *WritablePowerOutlet) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error { 746 747 if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil { 748 return err 749 } 750 751 return nil 752 } 753 754 func (m *WritablePowerOutlet) contextValidateConnectedEndpoint(ctx context.Context, formats strfmt.Registry) error { 755 756 return nil 757 } 758 759 func (m *WritablePowerOutlet) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error { 760 761 if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil { 762 return err 763 } 764 765 return nil 766 } 767 768 func (m *WritablePowerOutlet) contextValidateConnectedEndpointType(ctx context.Context, formats strfmt.Registry) error { 769 770 if err := validate.ReadOnly(ctx, "connected_endpoint_type", "body", string(m.ConnectedEndpointType)); err != nil { 771 return err 772 } 773 774 return nil 775 } 776 777 func (m *WritablePowerOutlet) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error { 778 779 if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil { 780 return err 781 } 782 783 return nil 784 } 785 786 func (m *WritablePowerOutlet) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error { 787 788 if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil { 789 return err 790 } 791 792 return nil 793 } 794 795 func (m *WritablePowerOutlet) contextValidateID(ctx context.Context, formats strfmt.Registry) error { 796 797 if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil { 798 return err 799 } 800 801 return nil 802 } 803 804 func (m *WritablePowerOutlet) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error { 805 806 if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil { 807 return err 808 } 809 810 return nil 811 } 812 813 func (m *WritablePowerOutlet) contextValidateTags(ctx context.Context, formats strfmt.Registry) error { 814 815 for i := 0; i < len(m.Tags); i++ { 816 817 if m.Tags[i] != nil { 818 if err := m.Tags[i].ContextValidate(ctx, formats); err != nil { 819 if ve, ok := err.(*errors.Validation); ok { 820 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 821 } else if ce, ok := err.(*errors.CompositeError); ok { 822 return ce.ValidateName("tags" + "." + strconv.Itoa(i)) 823 } 824 return err 825 } 826 } 827 828 } 829 830 return nil 831 } 832 833 func (m *WritablePowerOutlet) contextValidateURL(ctx context.Context, formats strfmt.Registry) error { 834 835 if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil { 836 return err 837 } 838 839 return nil 840 } 841 842 // MarshalBinary interface implementation 843 func (m *WritablePowerOutlet) MarshalBinary() ([]byte, error) { 844 if m == nil { 845 return nil, nil 846 } 847 return swag.WriteJSON(m) 848 } 849 850 // UnmarshalBinary interface implementation 851 func (m *WritablePowerOutlet) UnmarshalBinary(b []byte) error { 852 var res WritablePowerOutlet 853 if err := swag.ReadJSON(b, &res); err != nil { 854 return err 855 } 856 *m = res 857 return nil 858 }