github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_power_feed.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 // WritablePowerFeed writable power feed 35 // 36 // swagger:model WritablePowerFeed 37 type WritablePowerFeed struct { 38 39 // occupied 40 // Read Only: true 41 Occupied *bool `json:"_occupied,omitempty"` 42 43 // Amperage 44 // Maximum: 32767 45 // Minimum: 1 46 Amperage int64 `json:"amperage,omitempty"` 47 48 // cable 49 Cable *NestedCable `json:"cable,omitempty"` 50 51 // Cable peer 52 // 53 // 54 // Return the appropriate serializer for the cable termination model. 55 // 56 // Read Only: true 57 CablePeer map[string]*string `json:"cable_peer,omitempty"` 58 59 // Cable peer type 60 // Read Only: true 61 CablePeerType string `json:"cable_peer_type,omitempty"` 62 63 // Comments 64 Comments string `json:"comments,omitempty"` 65 66 // Connected endpoint 67 // 68 // 69 // Return the appropriate serializer for the type of connected object. 70 // 71 // Read Only: true 72 ConnectedEndpoint map[string]*string `json:"connected_endpoint,omitempty"` 73 74 // Connected endpoint reachable 75 // Read Only: true 76 ConnectedEndpointReachable *bool `json:"connected_endpoint_reachable,omitempty"` 77 78 // Connected endpoint type 79 // Read Only: true 80 ConnectedEndpointType string `json:"connected_endpoint_type,omitempty"` 81 82 // Created 83 // Read Only: true 84 // Format: date 85 Created strfmt.Date `json:"created,omitempty"` 86 87 // Custom fields 88 CustomFields interface{} `json:"custom_fields,omitempty"` 89 90 // Display 91 // Read Only: true 92 Display string `json:"display,omitempty"` 93 94 // Id 95 // Read Only: true 96 ID int64 `json:"id,omitempty"` 97 98 // Last updated 99 // Read Only: true 100 // Format: date-time 101 LastUpdated strfmt.DateTime `json:"last_updated,omitempty"` 102 103 // Mark connected 104 // 105 // Treat as if a cable is connected 106 MarkConnected bool `json:"mark_connected,omitempty"` 107 108 // Max utilization 109 // 110 // Maximum permissible draw (percentage) 111 // Maximum: 100 112 // Minimum: 1 113 MaxUtilization int64 `json:"max_utilization,omitempty"` 114 115 // Name 116 // Required: true 117 // Max Length: 100 118 // Min Length: 1 119 Name *string `json:"name"` 120 121 // Phase 122 // Enum: [single-phase three-phase] 123 Phase string `json:"phase,omitempty"` 124 125 // Power panel 126 // Required: true 127 PowerPanel *int64 `json:"power_panel"` 128 129 // Rack 130 Rack *int64 `json:"rack,omitempty"` 131 132 // Status 133 // Enum: [offline active planned failed] 134 Status string `json:"status,omitempty"` 135 136 // Supply 137 // Enum: [ac dc] 138 Supply string `json:"supply,omitempty"` 139 140 // tags 141 Tags []*NestedTag `json:"tags"` 142 143 // Type 144 // Enum: [primary redundant] 145 Type string `json:"type,omitempty"` 146 147 // Url 148 // Read Only: true 149 // Format: uri 150 URL strfmt.URI `json:"url,omitempty"` 151 152 // Voltage 153 // Maximum: 32767 154 // Minimum: -32768 155 Voltage *int64 `json:"voltage,omitempty"` 156 } 157 158 // Validate validates this writable power feed 159 func (m *WritablePowerFeed) Validate(formats strfmt.Registry) error { 160 var res []error 161 162 if err := m.validateAmperage(formats); err != nil { 163 res = append(res, err) 164 } 165 166 if err := m.validateCable(formats); err != nil { 167 res = append(res, err) 168 } 169 170 if err := m.validateCreated(formats); err != nil { 171 res = append(res, err) 172 } 173 174 if err := m.validateLastUpdated(formats); err != nil { 175 res = append(res, err) 176 } 177 178 if err := m.validateMaxUtilization(formats); err != nil { 179 res = append(res, err) 180 } 181 182 if err := m.validateName(formats); err != nil { 183 res = append(res, err) 184 } 185 186 if err := m.validatePhase(formats); err != nil { 187 res = append(res, err) 188 } 189 190 if err := m.validatePowerPanel(formats); err != nil { 191 res = append(res, err) 192 } 193 194 if err := m.validateStatus(formats); err != nil { 195 res = append(res, err) 196 } 197 198 if err := m.validateSupply(formats); err != nil { 199 res = append(res, err) 200 } 201 202 if err := m.validateTags(formats); err != nil { 203 res = append(res, err) 204 } 205 206 if err := m.validateType(formats); err != nil { 207 res = append(res, err) 208 } 209 210 if err := m.validateURL(formats); err != nil { 211 res = append(res, err) 212 } 213 214 if err := m.validateVoltage(formats); err != nil { 215 res = append(res, err) 216 } 217 218 if len(res) > 0 { 219 return errors.CompositeValidationError(res...) 220 } 221 return nil 222 } 223 224 func (m *WritablePowerFeed) validateAmperage(formats strfmt.Registry) error { 225 if swag.IsZero(m.Amperage) { // not required 226 return nil 227 } 228 229 if err := validate.MinimumInt("amperage", "body", m.Amperage, 1, false); err != nil { 230 return err 231 } 232 233 if err := validate.MaximumInt("amperage", "body", m.Amperage, 32767, false); err != nil { 234 return err 235 } 236 237 return nil 238 } 239 240 func (m *WritablePowerFeed) validateCable(formats strfmt.Registry) error { 241 if swag.IsZero(m.Cable) { // not required 242 return nil 243 } 244 245 if m.Cable != nil { 246 if err := m.Cable.Validate(formats); err != nil { 247 if ve, ok := err.(*errors.Validation); ok { 248 return ve.ValidateName("cable") 249 } else if ce, ok := err.(*errors.CompositeError); ok { 250 return ce.ValidateName("cable") 251 } 252 return err 253 } 254 } 255 256 return nil 257 } 258 259 func (m *WritablePowerFeed) validateCreated(formats strfmt.Registry) error { 260 if swag.IsZero(m.Created) { // not required 261 return nil 262 } 263 264 if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil { 265 return err 266 } 267 268 return nil 269 } 270 271 func (m *WritablePowerFeed) validateLastUpdated(formats strfmt.Registry) error { 272 if swag.IsZero(m.LastUpdated) { // not required 273 return nil 274 } 275 276 if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { 277 return err 278 } 279 280 return nil 281 } 282 283 func (m *WritablePowerFeed) validateMaxUtilization(formats strfmt.Registry) error { 284 if swag.IsZero(m.MaxUtilization) { // not required 285 return nil 286 } 287 288 if err := validate.MinimumInt("max_utilization", "body", m.MaxUtilization, 1, false); err != nil { 289 return err 290 } 291 292 if err := validate.MaximumInt("max_utilization", "body", m.MaxUtilization, 100, false); err != nil { 293 return err 294 } 295 296 return nil 297 } 298 299 func (m *WritablePowerFeed) validateName(formats strfmt.Registry) error { 300 301 if err := validate.Required("name", "body", m.Name); err != nil { 302 return err 303 } 304 305 if err := validate.MinLength("name", "body", *m.Name, 1); err != nil { 306 return err 307 } 308 309 if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil { 310 return err 311 } 312 313 return nil 314 } 315 316 var writablePowerFeedTypePhasePropEnum []interface{} 317 318 func init() { 319 var res []string 320 if err := json.Unmarshal([]byte(`["single-phase","three-phase"]`), &res); err != nil { 321 panic(err) 322 } 323 for _, v := range res { 324 writablePowerFeedTypePhasePropEnum = append(writablePowerFeedTypePhasePropEnum, v) 325 } 326 } 327 328 const ( 329 330 // WritablePowerFeedPhaseSingleDashPhase captures enum value "single-phase" 331 WritablePowerFeedPhaseSingleDashPhase string = "single-phase" 332 333 // WritablePowerFeedPhaseThreeDashPhase captures enum value "three-phase" 334 WritablePowerFeedPhaseThreeDashPhase string = "three-phase" 335 ) 336 337 // prop value enum 338 func (m *WritablePowerFeed) validatePhaseEnum(path, location string, value string) error { 339 if err := validate.EnumCase(path, location, value, writablePowerFeedTypePhasePropEnum, true); err != nil { 340 return err 341 } 342 return nil 343 } 344 345 func (m *WritablePowerFeed) validatePhase(formats strfmt.Registry) error { 346 if swag.IsZero(m.Phase) { // not required 347 return nil 348 } 349 350 // value enum 351 if err := m.validatePhaseEnum("phase", "body", m.Phase); err != nil { 352 return err 353 } 354 355 return nil 356 } 357 358 func (m *WritablePowerFeed) validatePowerPanel(formats strfmt.Registry) error { 359 360 if err := validate.Required("power_panel", "body", m.PowerPanel); err != nil { 361 return err 362 } 363 364 return nil 365 } 366 367 var writablePowerFeedTypeStatusPropEnum []interface{} 368 369 func init() { 370 var res []string 371 if err := json.Unmarshal([]byte(`["offline","active","planned","failed"]`), &res); err != nil { 372 panic(err) 373 } 374 for _, v := range res { 375 writablePowerFeedTypeStatusPropEnum = append(writablePowerFeedTypeStatusPropEnum, v) 376 } 377 } 378 379 const ( 380 381 // WritablePowerFeedStatusOffline captures enum value "offline" 382 WritablePowerFeedStatusOffline string = "offline" 383 384 // WritablePowerFeedStatusActive captures enum value "active" 385 WritablePowerFeedStatusActive string = "active" 386 387 // WritablePowerFeedStatusPlanned captures enum value "planned" 388 WritablePowerFeedStatusPlanned string = "planned" 389 390 // WritablePowerFeedStatusFailed captures enum value "failed" 391 WritablePowerFeedStatusFailed string = "failed" 392 ) 393 394 // prop value enum 395 func (m *WritablePowerFeed) validateStatusEnum(path, location string, value string) error { 396 if err := validate.EnumCase(path, location, value, writablePowerFeedTypeStatusPropEnum, true); err != nil { 397 return err 398 } 399 return nil 400 } 401 402 func (m *WritablePowerFeed) validateStatus(formats strfmt.Registry) error { 403 if swag.IsZero(m.Status) { // not required 404 return nil 405 } 406 407 // value enum 408 if err := m.validateStatusEnum("status", "body", m.Status); err != nil { 409 return err 410 } 411 412 return nil 413 } 414 415 var writablePowerFeedTypeSupplyPropEnum []interface{} 416 417 func init() { 418 var res []string 419 if err := json.Unmarshal([]byte(`["ac","dc"]`), &res); err != nil { 420 panic(err) 421 } 422 for _, v := range res { 423 writablePowerFeedTypeSupplyPropEnum = append(writablePowerFeedTypeSupplyPropEnum, v) 424 } 425 } 426 427 const ( 428 429 // WritablePowerFeedSupplyAc captures enum value "ac" 430 WritablePowerFeedSupplyAc string = "ac" 431 432 // WritablePowerFeedSupplyDc captures enum value "dc" 433 WritablePowerFeedSupplyDc string = "dc" 434 ) 435 436 // prop value enum 437 func (m *WritablePowerFeed) validateSupplyEnum(path, location string, value string) error { 438 if err := validate.EnumCase(path, location, value, writablePowerFeedTypeSupplyPropEnum, true); err != nil { 439 return err 440 } 441 return nil 442 } 443 444 func (m *WritablePowerFeed) validateSupply(formats strfmt.Registry) error { 445 if swag.IsZero(m.Supply) { // not required 446 return nil 447 } 448 449 // value enum 450 if err := m.validateSupplyEnum("supply", "body", m.Supply); err != nil { 451 return err 452 } 453 454 return nil 455 } 456 457 func (m *WritablePowerFeed) validateTags(formats strfmt.Registry) error { 458 if swag.IsZero(m.Tags) { // not required 459 return nil 460 } 461 462 for i := 0; i < len(m.Tags); i++ { 463 if swag.IsZero(m.Tags[i]) { // not required 464 continue 465 } 466 467 if m.Tags[i] != nil { 468 if err := m.Tags[i].Validate(formats); err != nil { 469 if ve, ok := err.(*errors.Validation); ok { 470 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 471 } else if ce, ok := err.(*errors.CompositeError); ok { 472 return ce.ValidateName("tags" + "." + strconv.Itoa(i)) 473 } 474 return err 475 } 476 } 477 478 } 479 480 return nil 481 } 482 483 var writablePowerFeedTypeTypePropEnum []interface{} 484 485 func init() { 486 var res []string 487 if err := json.Unmarshal([]byte(`["primary","redundant"]`), &res); err != nil { 488 panic(err) 489 } 490 for _, v := range res { 491 writablePowerFeedTypeTypePropEnum = append(writablePowerFeedTypeTypePropEnum, v) 492 } 493 } 494 495 const ( 496 497 // WritablePowerFeedTypePrimary captures enum value "primary" 498 WritablePowerFeedTypePrimary string = "primary" 499 500 // WritablePowerFeedTypeRedundant captures enum value "redundant" 501 WritablePowerFeedTypeRedundant string = "redundant" 502 ) 503 504 // prop value enum 505 func (m *WritablePowerFeed) validateTypeEnum(path, location string, value string) error { 506 if err := validate.EnumCase(path, location, value, writablePowerFeedTypeTypePropEnum, true); err != nil { 507 return err 508 } 509 return nil 510 } 511 512 func (m *WritablePowerFeed) validateType(formats strfmt.Registry) error { 513 if swag.IsZero(m.Type) { // not required 514 return nil 515 } 516 517 // value enum 518 if err := m.validateTypeEnum("type", "body", m.Type); err != nil { 519 return err 520 } 521 522 return nil 523 } 524 525 func (m *WritablePowerFeed) validateURL(formats strfmt.Registry) error { 526 if swag.IsZero(m.URL) { // not required 527 return nil 528 } 529 530 if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil { 531 return err 532 } 533 534 return nil 535 } 536 537 func (m *WritablePowerFeed) validateVoltage(formats strfmt.Registry) error { 538 if swag.IsZero(m.Voltage) { // not required 539 return nil 540 } 541 542 if err := validate.MinimumInt("voltage", "body", *m.Voltage, -32768, false); err != nil { 543 return err 544 } 545 546 if err := validate.MaximumInt("voltage", "body", *m.Voltage, 32767, false); err != nil { 547 return err 548 } 549 550 return nil 551 } 552 553 // ContextValidate validate this writable power feed based on the context it is used 554 func (m *WritablePowerFeed) ContextValidate(ctx context.Context, formats strfmt.Registry) error { 555 var res []error 556 557 if err := m.contextValidateOccupied(ctx, formats); err != nil { 558 res = append(res, err) 559 } 560 561 if err := m.contextValidateCable(ctx, formats); err != nil { 562 res = append(res, err) 563 } 564 565 if err := m.contextValidateCablePeer(ctx, formats); err != nil { 566 res = append(res, err) 567 } 568 569 if err := m.contextValidateCablePeerType(ctx, formats); err != nil { 570 res = append(res, err) 571 } 572 573 if err := m.contextValidateConnectedEndpoint(ctx, formats); err != nil { 574 res = append(res, err) 575 } 576 577 if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil { 578 res = append(res, err) 579 } 580 581 if err := m.contextValidateConnectedEndpointType(ctx, formats); err != nil { 582 res = append(res, err) 583 } 584 585 if err := m.contextValidateCreated(ctx, formats); err != nil { 586 res = append(res, err) 587 } 588 589 if err := m.contextValidateDisplay(ctx, formats); err != nil { 590 res = append(res, err) 591 } 592 593 if err := m.contextValidateID(ctx, formats); err != nil { 594 res = append(res, err) 595 } 596 597 if err := m.contextValidateLastUpdated(ctx, formats); err != nil { 598 res = append(res, err) 599 } 600 601 if err := m.contextValidateTags(ctx, formats); err != nil { 602 res = append(res, err) 603 } 604 605 if err := m.contextValidateURL(ctx, formats); err != nil { 606 res = append(res, err) 607 } 608 609 if len(res) > 0 { 610 return errors.CompositeValidationError(res...) 611 } 612 return nil 613 } 614 615 func (m *WritablePowerFeed) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error { 616 617 if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil { 618 return err 619 } 620 621 return nil 622 } 623 624 func (m *WritablePowerFeed) contextValidateCable(ctx context.Context, formats strfmt.Registry) error { 625 626 if m.Cable != nil { 627 if err := m.Cable.ContextValidate(ctx, formats); err != nil { 628 if ve, ok := err.(*errors.Validation); ok { 629 return ve.ValidateName("cable") 630 } else if ce, ok := err.(*errors.CompositeError); ok { 631 return ce.ValidateName("cable") 632 } 633 return err 634 } 635 } 636 637 return nil 638 } 639 640 func (m *WritablePowerFeed) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error { 641 642 return nil 643 } 644 645 func (m *WritablePowerFeed) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error { 646 647 if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil { 648 return err 649 } 650 651 return nil 652 } 653 654 func (m *WritablePowerFeed) contextValidateConnectedEndpoint(ctx context.Context, formats strfmt.Registry) error { 655 656 return nil 657 } 658 659 func (m *WritablePowerFeed) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error { 660 661 if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil { 662 return err 663 } 664 665 return nil 666 } 667 668 func (m *WritablePowerFeed) contextValidateConnectedEndpointType(ctx context.Context, formats strfmt.Registry) error { 669 670 if err := validate.ReadOnly(ctx, "connected_endpoint_type", "body", string(m.ConnectedEndpointType)); err != nil { 671 return err 672 } 673 674 return nil 675 } 676 677 func (m *WritablePowerFeed) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error { 678 679 if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil { 680 return err 681 } 682 683 return nil 684 } 685 686 func (m *WritablePowerFeed) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error { 687 688 if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil { 689 return err 690 } 691 692 return nil 693 } 694 695 func (m *WritablePowerFeed) contextValidateID(ctx context.Context, formats strfmt.Registry) error { 696 697 if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil { 698 return err 699 } 700 701 return nil 702 } 703 704 func (m *WritablePowerFeed) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error { 705 706 if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil { 707 return err 708 } 709 710 return nil 711 } 712 713 func (m *WritablePowerFeed) contextValidateTags(ctx context.Context, formats strfmt.Registry) error { 714 715 for i := 0; i < len(m.Tags); i++ { 716 717 if m.Tags[i] != nil { 718 if err := m.Tags[i].ContextValidate(ctx, formats); err != nil { 719 if ve, ok := err.(*errors.Validation); ok { 720 return ve.ValidateName("tags" + "." + strconv.Itoa(i)) 721 } else if ce, ok := err.(*errors.CompositeError); ok { 722 return ce.ValidateName("tags" + "." + strconv.Itoa(i)) 723 } 724 return err 725 } 726 } 727 728 } 729 730 return nil 731 } 732 733 func (m *WritablePowerFeed) contextValidateURL(ctx context.Context, formats strfmt.Registry) error { 734 735 if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil { 736 return err 737 } 738 739 return nil 740 } 741 742 // MarshalBinary interface implementation 743 func (m *WritablePowerFeed) MarshalBinary() ([]byte, error) { 744 if m == nil { 745 return nil, nil 746 } 747 return swag.WriteJSON(m) 748 } 749 750 // UnmarshalBinary interface implementation 751 func (m *WritablePowerFeed) UnmarshalBinary(b []byte) error { 752 var res WritablePowerFeed 753 if err := swag.ReadJSON(b, &res); err != nil { 754 return err 755 } 756 *m = res 757 return nil 758 }