github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_power_port.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  // WritablePowerPort writable power port
    35  //
    36  // swagger:model WritablePowerPort
    37  type WritablePowerPort struct {
    38  
    39  	// occupied
    40  	// Read Only: true
    41  	Occupied *bool `json:"_occupied,omitempty"`
    42  
    43  	// Allocated draw
    44  	//
    45  	// Allocated power draw (watts)
    46  	// Maximum: 32767
    47  	// Minimum: 1
    48  	AllocatedDraw *int64 `json:"allocated_draw,omitempty"`
    49  
    50  	// cable
    51  	Cable *NestedCable `json:"cable,omitempty"`
    52  
    53  	// Cable peer
    54  	//
    55  	//
    56  	// Return the appropriate serializer for the cable termination model.
    57  	//
    58  	// Read Only: true
    59  	CablePeer map[string]*string `json:"cable_peer,omitempty"`
    60  
    61  	// Cable peer type
    62  	// Read Only: true
    63  	CablePeerType string `json:"cable_peer_type,omitempty"`
    64  
    65  	// Connected endpoint
    66  	//
    67  	//
    68  	// Return the appropriate serializer for the type of connected object.
    69  	//
    70  	// Read Only: true
    71  	ConnectedEndpoint map[string]*string `json:"connected_endpoint,omitempty"`
    72  
    73  	// Connected endpoint reachable
    74  	// Read Only: true
    75  	ConnectedEndpointReachable *bool `json:"connected_endpoint_reachable,omitempty"`
    76  
    77  	// Connected endpoint type
    78  	// Read Only: true
    79  	ConnectedEndpointType string `json:"connected_endpoint_type,omitempty"`
    80  
    81  	// Created
    82  	// Read Only: true
    83  	// Format: date
    84  	Created strfmt.Date `json:"created,omitempty"`
    85  
    86  	// Custom fields
    87  	CustomFields interface{} `json:"custom_fields,omitempty"`
    88  
    89  	// Description
    90  	// Max Length: 200
    91  	Description string `json:"description,omitempty"`
    92  
    93  	// Device
    94  	// Required: true
    95  	Device *int64 `json:"device"`
    96  
    97  	// Display
    98  	// Read Only: true
    99  	Display string `json:"display,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  	// Last updated
   112  	// Read Only: true
   113  	// Format: date-time
   114  	LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
   115  
   116  	// Mark connected
   117  	//
   118  	// Treat as if a cable is connected
   119  	MarkConnected bool `json:"mark_connected,omitempty"`
   120  
   121  	// Maximum draw
   122  	//
   123  	// Maximum power draw (watts)
   124  	// Maximum: 32767
   125  	// Minimum: 1
   126  	MaximumDraw *int64 `json:"maximum_draw,omitempty"`
   127  
   128  	// Name
   129  	// Required: true
   130  	// Max Length: 64
   131  	// Min Length: 1
   132  	Name *string `json:"name"`
   133  
   134  	// tags
   135  	Tags []*NestedTag `json:"tags"`
   136  
   137  	// Type
   138  	//
   139  	// Physical port type
   140  	// Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 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-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
   141  	Type string `json:"type,omitempty"`
   142  
   143  	// Url
   144  	// Read Only: true
   145  	// Format: uri
   146  	URL strfmt.URI `json:"url,omitempty"`
   147  }
   148  
   149  // Validate validates this writable power port
   150  func (m *WritablePowerPort) Validate(formats strfmt.Registry) error {
   151  	var res []error
   152  
   153  	if err := m.validateAllocatedDraw(formats); err != nil {
   154  		res = append(res, err)
   155  	}
   156  
   157  	if err := m.validateCable(formats); err != nil {
   158  		res = append(res, err)
   159  	}
   160  
   161  	if err := m.validateCreated(formats); err != nil {
   162  		res = append(res, err)
   163  	}
   164  
   165  	if err := m.validateDescription(formats); err != nil {
   166  		res = append(res, err)
   167  	}
   168  
   169  	if err := m.validateDevice(formats); err != nil {
   170  		res = append(res, err)
   171  	}
   172  
   173  	if err := m.validateLabel(formats); err != nil {
   174  		res = append(res, err)
   175  	}
   176  
   177  	if err := m.validateLastUpdated(formats); err != nil {
   178  		res = append(res, err)
   179  	}
   180  
   181  	if err := m.validateMaximumDraw(formats); err != nil {
   182  		res = append(res, err)
   183  	}
   184  
   185  	if err := m.validateName(formats); err != nil {
   186  		res = append(res, err)
   187  	}
   188  
   189  	if err := m.validateTags(formats); err != nil {
   190  		res = append(res, err)
   191  	}
   192  
   193  	if err := m.validateType(formats); err != nil {
   194  		res = append(res, err)
   195  	}
   196  
   197  	if err := m.validateURL(formats); err != nil {
   198  		res = append(res, err)
   199  	}
   200  
   201  	if len(res) > 0 {
   202  		return errors.CompositeValidationError(res...)
   203  	}
   204  	return nil
   205  }
   206  
   207  func (m *WritablePowerPort) validateAllocatedDraw(formats strfmt.Registry) error {
   208  	if swag.IsZero(m.AllocatedDraw) { // not required
   209  		return nil
   210  	}
   211  
   212  	if err := validate.MinimumInt("allocated_draw", "body", *m.AllocatedDraw, 1, false); err != nil {
   213  		return err
   214  	}
   215  
   216  	if err := validate.MaximumInt("allocated_draw", "body", *m.AllocatedDraw, 32767, false); err != nil {
   217  		return err
   218  	}
   219  
   220  	return nil
   221  }
   222  
   223  func (m *WritablePowerPort) validateCable(formats strfmt.Registry) error {
   224  	if swag.IsZero(m.Cable) { // not required
   225  		return nil
   226  	}
   227  
   228  	if m.Cable != nil {
   229  		if err := m.Cable.Validate(formats); err != nil {
   230  			if ve, ok := err.(*errors.Validation); ok {
   231  				return ve.ValidateName("cable")
   232  			} else if ce, ok := err.(*errors.CompositeError); ok {
   233  				return ce.ValidateName("cable")
   234  			}
   235  			return err
   236  		}
   237  	}
   238  
   239  	return nil
   240  }
   241  
   242  func (m *WritablePowerPort) validateCreated(formats strfmt.Registry) error {
   243  	if swag.IsZero(m.Created) { // not required
   244  		return nil
   245  	}
   246  
   247  	if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
   248  		return err
   249  	}
   250  
   251  	return nil
   252  }
   253  
   254  func (m *WritablePowerPort) validateDescription(formats strfmt.Registry) error {
   255  	if swag.IsZero(m.Description) { // not required
   256  		return nil
   257  	}
   258  
   259  	if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
   260  		return err
   261  	}
   262  
   263  	return nil
   264  }
   265  
   266  func (m *WritablePowerPort) validateDevice(formats strfmt.Registry) error {
   267  
   268  	if err := validate.Required("device", "body", m.Device); err != nil {
   269  		return err
   270  	}
   271  
   272  	return nil
   273  }
   274  
   275  func (m *WritablePowerPort) validateLabel(formats strfmt.Registry) error {
   276  	if swag.IsZero(m.Label) { // not required
   277  		return nil
   278  	}
   279  
   280  	if err := validate.MaxLength("label", "body", m.Label, 64); err != nil {
   281  		return err
   282  	}
   283  
   284  	return nil
   285  }
   286  
   287  func (m *WritablePowerPort) validateLastUpdated(formats strfmt.Registry) error {
   288  	if swag.IsZero(m.LastUpdated) { // not required
   289  		return nil
   290  	}
   291  
   292  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   293  		return err
   294  	}
   295  
   296  	return nil
   297  }
   298  
   299  func (m *WritablePowerPort) validateMaximumDraw(formats strfmt.Registry) error {
   300  	if swag.IsZero(m.MaximumDraw) { // not required
   301  		return nil
   302  	}
   303  
   304  	if err := validate.MinimumInt("maximum_draw", "body", *m.MaximumDraw, 1, false); err != nil {
   305  		return err
   306  	}
   307  
   308  	if err := validate.MaximumInt("maximum_draw", "body", *m.MaximumDraw, 32767, false); err != nil {
   309  		return err
   310  	}
   311  
   312  	return nil
   313  }
   314  
   315  func (m *WritablePowerPort) validateName(formats strfmt.Registry) error {
   316  
   317  	if err := validate.Required("name", "body", m.Name); err != nil {
   318  		return err
   319  	}
   320  
   321  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   322  		return err
   323  	}
   324  
   325  	if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil {
   326  		return err
   327  	}
   328  
   329  	return nil
   330  }
   331  
   332  func (m *WritablePowerPort) validateTags(formats strfmt.Registry) error {
   333  	if swag.IsZero(m.Tags) { // not required
   334  		return nil
   335  	}
   336  
   337  	for i := 0; i < len(m.Tags); i++ {
   338  		if swag.IsZero(m.Tags[i]) { // not required
   339  			continue
   340  		}
   341  
   342  		if m.Tags[i] != nil {
   343  			if err := m.Tags[i].Validate(formats); err != nil {
   344  				if ve, ok := err.(*errors.Validation); ok {
   345  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   346  				} else if ce, ok := err.(*errors.CompositeError); ok {
   347  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   348  				}
   349  				return err
   350  			}
   351  		}
   352  
   353  	}
   354  
   355  	return nil
   356  }
   357  
   358  var writablePowerPortTypeTypePropEnum []interface{}
   359  
   360  func init() {
   361  	var res []string
   362  	if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","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-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
   363  		panic(err)
   364  	}
   365  	for _, v := range res {
   366  		writablePowerPortTypeTypePropEnum = append(writablePowerPortTypeTypePropEnum, v)
   367  	}
   368  }
   369  
   370  const (
   371  
   372  	// WritablePowerPortTypeIecDash60320DashC6 captures enum value "iec-60320-c6"
   373  	WritablePowerPortTypeIecDash60320DashC6 string = "iec-60320-c6"
   374  
   375  	// WritablePowerPortTypeIecDash60320DashC8 captures enum value "iec-60320-c8"
   376  	WritablePowerPortTypeIecDash60320DashC8 string = "iec-60320-c8"
   377  
   378  	// WritablePowerPortTypeIecDash60320DashC14 captures enum value "iec-60320-c14"
   379  	WritablePowerPortTypeIecDash60320DashC14 string = "iec-60320-c14"
   380  
   381  	// WritablePowerPortTypeIecDash60320DashC16 captures enum value "iec-60320-c16"
   382  	WritablePowerPortTypeIecDash60320DashC16 string = "iec-60320-c16"
   383  
   384  	// WritablePowerPortTypeIecDash60320DashC20 captures enum value "iec-60320-c20"
   385  	WritablePowerPortTypeIecDash60320DashC20 string = "iec-60320-c20"
   386  
   387  	// WritablePowerPortTypeIecDash60320DashC22 captures enum value "iec-60320-c22"
   388  	WritablePowerPortTypeIecDash60320DashC22 string = "iec-60320-c22"
   389  
   390  	// WritablePowerPortTypeIecDash60309DashpDashnDasheDash4h captures enum value "iec-60309-p-n-e-4h"
   391  	WritablePowerPortTypeIecDash60309DashpDashnDasheDash4h string = "iec-60309-p-n-e-4h"
   392  
   393  	// WritablePowerPortTypeIecDash60309DashpDashnDasheDash6h captures enum value "iec-60309-p-n-e-6h"
   394  	WritablePowerPortTypeIecDash60309DashpDashnDasheDash6h string = "iec-60309-p-n-e-6h"
   395  
   396  	// WritablePowerPortTypeIecDash60309DashpDashnDasheDash9h captures enum value "iec-60309-p-n-e-9h"
   397  	WritablePowerPortTypeIecDash60309DashpDashnDasheDash9h string = "iec-60309-p-n-e-9h"
   398  
   399  	// WritablePowerPortTypeIecDash60309Dash2pDasheDash4h captures enum value "iec-60309-2p-e-4h"
   400  	WritablePowerPortTypeIecDash60309Dash2pDasheDash4h string = "iec-60309-2p-e-4h"
   401  
   402  	// WritablePowerPortTypeIecDash60309Dash2pDasheDash6h captures enum value "iec-60309-2p-e-6h"
   403  	WritablePowerPortTypeIecDash60309Dash2pDasheDash6h string = "iec-60309-2p-e-6h"
   404  
   405  	// WritablePowerPortTypeIecDash60309Dash2pDasheDash9h captures enum value "iec-60309-2p-e-9h"
   406  	WritablePowerPortTypeIecDash60309Dash2pDasheDash9h string = "iec-60309-2p-e-9h"
   407  
   408  	// WritablePowerPortTypeIecDash60309Dash3pDasheDash4h captures enum value "iec-60309-3p-e-4h"
   409  	WritablePowerPortTypeIecDash60309Dash3pDasheDash4h string = "iec-60309-3p-e-4h"
   410  
   411  	// WritablePowerPortTypeIecDash60309Dash3pDasheDash6h captures enum value "iec-60309-3p-e-6h"
   412  	WritablePowerPortTypeIecDash60309Dash3pDasheDash6h string = "iec-60309-3p-e-6h"
   413  
   414  	// WritablePowerPortTypeIecDash60309Dash3pDasheDash9h captures enum value "iec-60309-3p-e-9h"
   415  	WritablePowerPortTypeIecDash60309Dash3pDasheDash9h string = "iec-60309-3p-e-9h"
   416  
   417  	// WritablePowerPortTypeIecDash60309Dash3pDashnDasheDash4h captures enum value "iec-60309-3p-n-e-4h"
   418  	WritablePowerPortTypeIecDash60309Dash3pDashnDasheDash4h string = "iec-60309-3p-n-e-4h"
   419  
   420  	// WritablePowerPortTypeIecDash60309Dash3pDashnDasheDash6h captures enum value "iec-60309-3p-n-e-6h"
   421  	WritablePowerPortTypeIecDash60309Dash3pDashnDasheDash6h string = "iec-60309-3p-n-e-6h"
   422  
   423  	// WritablePowerPortTypeIecDash60309Dash3pDashnDasheDash9h captures enum value "iec-60309-3p-n-e-9h"
   424  	WritablePowerPortTypeIecDash60309Dash3pDashnDasheDash9h string = "iec-60309-3p-n-e-9h"
   425  
   426  	// WritablePowerPortTypeNemaDash1Dash15p captures enum value "nema-1-15p"
   427  	WritablePowerPortTypeNemaDash1Dash15p string = "nema-1-15p"
   428  
   429  	// WritablePowerPortTypeNemaDash5Dash15p captures enum value "nema-5-15p"
   430  	WritablePowerPortTypeNemaDash5Dash15p string = "nema-5-15p"
   431  
   432  	// WritablePowerPortTypeNemaDash5Dash20p captures enum value "nema-5-20p"
   433  	WritablePowerPortTypeNemaDash5Dash20p string = "nema-5-20p"
   434  
   435  	// WritablePowerPortTypeNemaDash5Dash30p captures enum value "nema-5-30p"
   436  	WritablePowerPortTypeNemaDash5Dash30p string = "nema-5-30p"
   437  
   438  	// WritablePowerPortTypeNemaDash5Dash50p captures enum value "nema-5-50p"
   439  	WritablePowerPortTypeNemaDash5Dash50p string = "nema-5-50p"
   440  
   441  	// WritablePowerPortTypeNemaDash6Dash15p captures enum value "nema-6-15p"
   442  	WritablePowerPortTypeNemaDash6Dash15p string = "nema-6-15p"
   443  
   444  	// WritablePowerPortTypeNemaDash6Dash20p captures enum value "nema-6-20p"
   445  	WritablePowerPortTypeNemaDash6Dash20p string = "nema-6-20p"
   446  
   447  	// WritablePowerPortTypeNemaDash6Dash30p captures enum value "nema-6-30p"
   448  	WritablePowerPortTypeNemaDash6Dash30p string = "nema-6-30p"
   449  
   450  	// WritablePowerPortTypeNemaDash6Dash50p captures enum value "nema-6-50p"
   451  	WritablePowerPortTypeNemaDash6Dash50p string = "nema-6-50p"
   452  
   453  	// WritablePowerPortTypeNemaDash10Dash30p captures enum value "nema-10-30p"
   454  	WritablePowerPortTypeNemaDash10Dash30p string = "nema-10-30p"
   455  
   456  	// WritablePowerPortTypeNemaDash10Dash50p captures enum value "nema-10-50p"
   457  	WritablePowerPortTypeNemaDash10Dash50p string = "nema-10-50p"
   458  
   459  	// WritablePowerPortTypeNemaDash14Dash20p captures enum value "nema-14-20p"
   460  	WritablePowerPortTypeNemaDash14Dash20p string = "nema-14-20p"
   461  
   462  	// WritablePowerPortTypeNemaDash14Dash30p captures enum value "nema-14-30p"
   463  	WritablePowerPortTypeNemaDash14Dash30p string = "nema-14-30p"
   464  
   465  	// WritablePowerPortTypeNemaDash14Dash50p captures enum value "nema-14-50p"
   466  	WritablePowerPortTypeNemaDash14Dash50p string = "nema-14-50p"
   467  
   468  	// WritablePowerPortTypeNemaDash14Dash60p captures enum value "nema-14-60p"
   469  	WritablePowerPortTypeNemaDash14Dash60p string = "nema-14-60p"
   470  
   471  	// WritablePowerPortTypeNemaDash15Dash15p captures enum value "nema-15-15p"
   472  	WritablePowerPortTypeNemaDash15Dash15p string = "nema-15-15p"
   473  
   474  	// WritablePowerPortTypeNemaDash15Dash20p captures enum value "nema-15-20p"
   475  	WritablePowerPortTypeNemaDash15Dash20p string = "nema-15-20p"
   476  
   477  	// WritablePowerPortTypeNemaDash15Dash30p captures enum value "nema-15-30p"
   478  	WritablePowerPortTypeNemaDash15Dash30p string = "nema-15-30p"
   479  
   480  	// WritablePowerPortTypeNemaDash15Dash50p captures enum value "nema-15-50p"
   481  	WritablePowerPortTypeNemaDash15Dash50p string = "nema-15-50p"
   482  
   483  	// WritablePowerPortTypeNemaDash15Dash60p captures enum value "nema-15-60p"
   484  	WritablePowerPortTypeNemaDash15Dash60p string = "nema-15-60p"
   485  
   486  	// WritablePowerPortTypeNemaDashL1Dash15p captures enum value "nema-l1-15p"
   487  	WritablePowerPortTypeNemaDashL1Dash15p string = "nema-l1-15p"
   488  
   489  	// WritablePowerPortTypeNemaDashL5Dash15p captures enum value "nema-l5-15p"
   490  	WritablePowerPortTypeNemaDashL5Dash15p string = "nema-l5-15p"
   491  
   492  	// WritablePowerPortTypeNemaDashL5Dash20p captures enum value "nema-l5-20p"
   493  	WritablePowerPortTypeNemaDashL5Dash20p string = "nema-l5-20p"
   494  
   495  	// WritablePowerPortTypeNemaDashL5Dash30p captures enum value "nema-l5-30p"
   496  	WritablePowerPortTypeNemaDashL5Dash30p string = "nema-l5-30p"
   497  
   498  	// WritablePowerPortTypeNemaDashL5Dash50p captures enum value "nema-l5-50p"
   499  	WritablePowerPortTypeNemaDashL5Dash50p string = "nema-l5-50p"
   500  
   501  	// WritablePowerPortTypeNemaDashL6Dash15p captures enum value "nema-l6-15p"
   502  	WritablePowerPortTypeNemaDashL6Dash15p string = "nema-l6-15p"
   503  
   504  	// WritablePowerPortTypeNemaDashL6Dash20p captures enum value "nema-l6-20p"
   505  	WritablePowerPortTypeNemaDashL6Dash20p string = "nema-l6-20p"
   506  
   507  	// WritablePowerPortTypeNemaDashL6Dash30p captures enum value "nema-l6-30p"
   508  	WritablePowerPortTypeNemaDashL6Dash30p string = "nema-l6-30p"
   509  
   510  	// WritablePowerPortTypeNemaDashL6Dash50p captures enum value "nema-l6-50p"
   511  	WritablePowerPortTypeNemaDashL6Dash50p string = "nema-l6-50p"
   512  
   513  	// WritablePowerPortTypeNemaDashL10Dash30p captures enum value "nema-l10-30p"
   514  	WritablePowerPortTypeNemaDashL10Dash30p string = "nema-l10-30p"
   515  
   516  	// WritablePowerPortTypeNemaDashL14Dash20p captures enum value "nema-l14-20p"
   517  	WritablePowerPortTypeNemaDashL14Dash20p string = "nema-l14-20p"
   518  
   519  	// WritablePowerPortTypeNemaDashL14Dash30p captures enum value "nema-l14-30p"
   520  	WritablePowerPortTypeNemaDashL14Dash30p string = "nema-l14-30p"
   521  
   522  	// WritablePowerPortTypeNemaDashL14Dash50p captures enum value "nema-l14-50p"
   523  	WritablePowerPortTypeNemaDashL14Dash50p string = "nema-l14-50p"
   524  
   525  	// WritablePowerPortTypeNemaDashL14Dash60p captures enum value "nema-l14-60p"
   526  	WritablePowerPortTypeNemaDashL14Dash60p string = "nema-l14-60p"
   527  
   528  	// WritablePowerPortTypeNemaDashL15Dash20p captures enum value "nema-l15-20p"
   529  	WritablePowerPortTypeNemaDashL15Dash20p string = "nema-l15-20p"
   530  
   531  	// WritablePowerPortTypeNemaDashL15Dash30p captures enum value "nema-l15-30p"
   532  	WritablePowerPortTypeNemaDashL15Dash30p string = "nema-l15-30p"
   533  
   534  	// WritablePowerPortTypeNemaDashL15Dash50p captures enum value "nema-l15-50p"
   535  	WritablePowerPortTypeNemaDashL15Dash50p string = "nema-l15-50p"
   536  
   537  	// WritablePowerPortTypeNemaDashL15Dash60p captures enum value "nema-l15-60p"
   538  	WritablePowerPortTypeNemaDashL15Dash60p string = "nema-l15-60p"
   539  
   540  	// WritablePowerPortTypeNemaDashL21Dash20p captures enum value "nema-l21-20p"
   541  	WritablePowerPortTypeNemaDashL21Dash20p string = "nema-l21-20p"
   542  
   543  	// WritablePowerPortTypeNemaDashL21Dash30p captures enum value "nema-l21-30p"
   544  	WritablePowerPortTypeNemaDashL21Dash30p string = "nema-l21-30p"
   545  
   546  	// WritablePowerPortTypeCs6361c captures enum value "cs6361c"
   547  	WritablePowerPortTypeCs6361c string = "cs6361c"
   548  
   549  	// WritablePowerPortTypeCs6365c captures enum value "cs6365c"
   550  	WritablePowerPortTypeCs6365c string = "cs6365c"
   551  
   552  	// WritablePowerPortTypeCs8165c captures enum value "cs8165c"
   553  	WritablePowerPortTypeCs8165c string = "cs8165c"
   554  
   555  	// WritablePowerPortTypeCs8265c captures enum value "cs8265c"
   556  	WritablePowerPortTypeCs8265c string = "cs8265c"
   557  
   558  	// WritablePowerPortTypeCs8365c captures enum value "cs8365c"
   559  	WritablePowerPortTypeCs8365c string = "cs8365c"
   560  
   561  	// WritablePowerPortTypeCs8465c captures enum value "cs8465c"
   562  	WritablePowerPortTypeCs8465c string = "cs8465c"
   563  
   564  	// WritablePowerPortTypeItaDashe captures enum value "ita-e"
   565  	WritablePowerPortTypeItaDashe string = "ita-e"
   566  
   567  	// WritablePowerPortTypeItaDashf captures enum value "ita-f"
   568  	WritablePowerPortTypeItaDashf string = "ita-f"
   569  
   570  	// WritablePowerPortTypeItaDashEf captures enum value "ita-ef"
   571  	WritablePowerPortTypeItaDashEf string = "ita-ef"
   572  
   573  	// WritablePowerPortTypeItaDashg captures enum value "ita-g"
   574  	WritablePowerPortTypeItaDashg string = "ita-g"
   575  
   576  	// WritablePowerPortTypeItaDashh captures enum value "ita-h"
   577  	WritablePowerPortTypeItaDashh string = "ita-h"
   578  
   579  	// WritablePowerPortTypeItaDashi captures enum value "ita-i"
   580  	WritablePowerPortTypeItaDashi string = "ita-i"
   581  
   582  	// WritablePowerPortTypeItaDashj captures enum value "ita-j"
   583  	WritablePowerPortTypeItaDashj string = "ita-j"
   584  
   585  	// WritablePowerPortTypeItaDashk captures enum value "ita-k"
   586  	WritablePowerPortTypeItaDashk string = "ita-k"
   587  
   588  	// WritablePowerPortTypeItaDashl captures enum value "ita-l"
   589  	WritablePowerPortTypeItaDashl string = "ita-l"
   590  
   591  	// WritablePowerPortTypeItaDashm captures enum value "ita-m"
   592  	WritablePowerPortTypeItaDashm string = "ita-m"
   593  
   594  	// WritablePowerPortTypeItaDashn captures enum value "ita-n"
   595  	WritablePowerPortTypeItaDashn string = "ita-n"
   596  
   597  	// WritablePowerPortTypeItaDasho captures enum value "ita-o"
   598  	WritablePowerPortTypeItaDasho string = "ita-o"
   599  
   600  	// WritablePowerPortTypeUsbDasha captures enum value "usb-a"
   601  	WritablePowerPortTypeUsbDasha string = "usb-a"
   602  
   603  	// WritablePowerPortTypeUsbDashb captures enum value "usb-b"
   604  	WritablePowerPortTypeUsbDashb string = "usb-b"
   605  
   606  	// WritablePowerPortTypeUsbDashc captures enum value "usb-c"
   607  	WritablePowerPortTypeUsbDashc string = "usb-c"
   608  
   609  	// WritablePowerPortTypeUsbDashMiniDasha captures enum value "usb-mini-a"
   610  	WritablePowerPortTypeUsbDashMiniDasha string = "usb-mini-a"
   611  
   612  	// WritablePowerPortTypeUsbDashMiniDashb captures enum value "usb-mini-b"
   613  	WritablePowerPortTypeUsbDashMiniDashb string = "usb-mini-b"
   614  
   615  	// WritablePowerPortTypeUsbDashMicroDasha captures enum value "usb-micro-a"
   616  	WritablePowerPortTypeUsbDashMicroDasha string = "usb-micro-a"
   617  
   618  	// WritablePowerPortTypeUsbDashMicroDashb captures enum value "usb-micro-b"
   619  	WritablePowerPortTypeUsbDashMicroDashb string = "usb-micro-b"
   620  
   621  	// WritablePowerPortTypeUsbDash3Dashb captures enum value "usb-3-b"
   622  	WritablePowerPortTypeUsbDash3Dashb string = "usb-3-b"
   623  
   624  	// WritablePowerPortTypeUsbDash3DashMicroDashb captures enum value "usb-3-micro-b"
   625  	WritablePowerPortTypeUsbDash3DashMicroDashb string = "usb-3-micro-b"
   626  
   627  	// WritablePowerPortTypeDcDashTerminal captures enum value "dc-terminal"
   628  	WritablePowerPortTypeDcDashTerminal string = "dc-terminal"
   629  
   630  	// WritablePowerPortTypeSafDashdDashGrid captures enum value "saf-d-grid"
   631  	WritablePowerPortTypeSafDashdDashGrid string = "saf-d-grid"
   632  
   633  	// WritablePowerPortTypeHardwired captures enum value "hardwired"
   634  	WritablePowerPortTypeHardwired string = "hardwired"
   635  )
   636  
   637  // prop value enum
   638  func (m *WritablePowerPort) validateTypeEnum(path, location string, value string) error {
   639  	if err := validate.EnumCase(path, location, value, writablePowerPortTypeTypePropEnum, true); err != nil {
   640  		return err
   641  	}
   642  	return nil
   643  }
   644  
   645  func (m *WritablePowerPort) validateType(formats strfmt.Registry) error {
   646  	if swag.IsZero(m.Type) { // not required
   647  		return nil
   648  	}
   649  
   650  	// value enum
   651  	if err := m.validateTypeEnum("type", "body", m.Type); err != nil {
   652  		return err
   653  	}
   654  
   655  	return nil
   656  }
   657  
   658  func (m *WritablePowerPort) validateURL(formats strfmt.Registry) error {
   659  	if swag.IsZero(m.URL) { // not required
   660  		return nil
   661  	}
   662  
   663  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   664  		return err
   665  	}
   666  
   667  	return nil
   668  }
   669  
   670  // ContextValidate validate this writable power port based on the context it is used
   671  func (m *WritablePowerPort) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   672  	var res []error
   673  
   674  	if err := m.contextValidateOccupied(ctx, formats); err != nil {
   675  		res = append(res, err)
   676  	}
   677  
   678  	if err := m.contextValidateCable(ctx, formats); err != nil {
   679  		res = append(res, err)
   680  	}
   681  
   682  	if err := m.contextValidateCablePeer(ctx, formats); err != nil {
   683  		res = append(res, err)
   684  	}
   685  
   686  	if err := m.contextValidateCablePeerType(ctx, formats); err != nil {
   687  		res = append(res, err)
   688  	}
   689  
   690  	if err := m.contextValidateConnectedEndpoint(ctx, formats); err != nil {
   691  		res = append(res, err)
   692  	}
   693  
   694  	if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil {
   695  		res = append(res, err)
   696  	}
   697  
   698  	if err := m.contextValidateConnectedEndpointType(ctx, formats); err != nil {
   699  		res = append(res, err)
   700  	}
   701  
   702  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   703  		res = append(res, err)
   704  	}
   705  
   706  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   707  		res = append(res, err)
   708  	}
   709  
   710  	if err := m.contextValidateID(ctx, formats); err != nil {
   711  		res = append(res, err)
   712  	}
   713  
   714  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   715  		res = append(res, err)
   716  	}
   717  
   718  	if err := m.contextValidateTags(ctx, formats); err != nil {
   719  		res = append(res, err)
   720  	}
   721  
   722  	if err := m.contextValidateURL(ctx, formats); err != nil {
   723  		res = append(res, err)
   724  	}
   725  
   726  	if len(res) > 0 {
   727  		return errors.CompositeValidationError(res...)
   728  	}
   729  	return nil
   730  }
   731  
   732  func (m *WritablePowerPort) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error {
   733  
   734  	if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil {
   735  		return err
   736  	}
   737  
   738  	return nil
   739  }
   740  
   741  func (m *WritablePowerPort) contextValidateCable(ctx context.Context, formats strfmt.Registry) error {
   742  
   743  	if m.Cable != nil {
   744  		if err := m.Cable.ContextValidate(ctx, formats); err != nil {
   745  			if ve, ok := err.(*errors.Validation); ok {
   746  				return ve.ValidateName("cable")
   747  			} else if ce, ok := err.(*errors.CompositeError); ok {
   748  				return ce.ValidateName("cable")
   749  			}
   750  			return err
   751  		}
   752  	}
   753  
   754  	return nil
   755  }
   756  
   757  func (m *WritablePowerPort) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error {
   758  
   759  	return nil
   760  }
   761  
   762  func (m *WritablePowerPort) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error {
   763  
   764  	if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil {
   765  		return err
   766  	}
   767  
   768  	return nil
   769  }
   770  
   771  func (m *WritablePowerPort) contextValidateConnectedEndpoint(ctx context.Context, formats strfmt.Registry) error {
   772  
   773  	return nil
   774  }
   775  
   776  func (m *WritablePowerPort) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error {
   777  
   778  	if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil {
   779  		return err
   780  	}
   781  
   782  	return nil
   783  }
   784  
   785  func (m *WritablePowerPort) contextValidateConnectedEndpointType(ctx context.Context, formats strfmt.Registry) error {
   786  
   787  	if err := validate.ReadOnly(ctx, "connected_endpoint_type", "body", string(m.ConnectedEndpointType)); err != nil {
   788  		return err
   789  	}
   790  
   791  	return nil
   792  }
   793  
   794  func (m *WritablePowerPort) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   795  
   796  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   797  		return err
   798  	}
   799  
   800  	return nil
   801  }
   802  
   803  func (m *WritablePowerPort) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   804  
   805  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   806  		return err
   807  	}
   808  
   809  	return nil
   810  }
   811  
   812  func (m *WritablePowerPort) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   813  
   814  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   815  		return err
   816  	}
   817  
   818  	return nil
   819  }
   820  
   821  func (m *WritablePowerPort) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   822  
   823  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   824  		return err
   825  	}
   826  
   827  	return nil
   828  }
   829  
   830  func (m *WritablePowerPort) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
   831  
   832  	for i := 0; i < len(m.Tags); i++ {
   833  
   834  		if m.Tags[i] != nil {
   835  			if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
   836  				if ve, ok := err.(*errors.Validation); ok {
   837  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   838  				} else if ce, ok := err.(*errors.CompositeError); ok {
   839  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   840  				}
   841  				return err
   842  			}
   843  		}
   844  
   845  	}
   846  
   847  	return nil
   848  }
   849  
   850  func (m *WritablePowerPort) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   851  
   852  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   853  		return err
   854  	}
   855  
   856  	return nil
   857  }
   858  
   859  // MarshalBinary interface implementation
   860  func (m *WritablePowerPort) MarshalBinary() ([]byte, error) {
   861  	if m == nil {
   862  		return nil, nil
   863  	}
   864  	return swag.WriteJSON(m)
   865  }
   866  
   867  // UnmarshalBinary interface implementation
   868  func (m *WritablePowerPort) UnmarshalBinary(b []byte) error {
   869  	var res WritablePowerPort
   870  	if err := swag.ReadJSON(b, &res); err != nil {
   871  		return err
   872  	}
   873  	*m = res
   874  	return nil
   875  }