github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_power_port_template.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  // Copyright 2020 The go-netbox Authors.
     4  //
     5  // Licensed under the Apache License, Version 2.0 (the "License");
     6  // you may not use this file except in compliance with the License.
     7  // You may obtain a copy of the License at
     8  //
     9  //   http://www.apache.org/licenses/LICENSE-2.0
    10  //
    11  // Unless required by applicable law or agreed to in writing, software
    12  // distributed under the License is distributed on an "AS IS" BASIS,
    13  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  // See the License for the specific language governing permissions and
    15  // limitations under the License.
    16  //
    17  
    18  package models
    19  
    20  // This file was generated by the swagger tool.
    21  // Editing this file might prove futile when you re-run the swagger generate command
    22  
    23  import (
    24  	"context"
    25  	"encoding/json"
    26  
    27  	"github.com/go-openapi/errors"
    28  	"github.com/go-openapi/strfmt"
    29  	"github.com/go-openapi/swag"
    30  	"github.com/go-openapi/validate"
    31  )
    32  
    33  // WritablePowerPortTemplate writable power port template
    34  //
    35  // swagger:model WritablePowerPortTemplate
    36  type WritablePowerPortTemplate struct {
    37  
    38  	// Allocated draw
    39  	//
    40  	// Allocated power draw (watts)
    41  	// Maximum: 32767
    42  	// Minimum: 1
    43  	AllocatedDraw *int64 `json:"allocated_draw,omitempty"`
    44  
    45  	// Created
    46  	// Read Only: true
    47  	// Format: date
    48  	Created strfmt.Date `json:"created,omitempty"`
    49  
    50  	// Description
    51  	// Max Length: 200
    52  	Description string `json:"description,omitempty"`
    53  
    54  	// Device type
    55  	// Required: true
    56  	DeviceType *int64 `json:"device_type"`
    57  
    58  	// Display
    59  	// Read Only: true
    60  	Display string `json:"display,omitempty"`
    61  
    62  	// Id
    63  	// Read Only: true
    64  	ID int64 `json:"id,omitempty"`
    65  
    66  	// Label
    67  	//
    68  	// Physical label
    69  	// Max Length: 64
    70  	Label string `json:"label,omitempty"`
    71  
    72  	// Last updated
    73  	// Read Only: true
    74  	// Format: date-time
    75  	LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
    76  
    77  	// Maximum draw
    78  	//
    79  	// Maximum power draw (watts)
    80  	// Maximum: 32767
    81  	// Minimum: 1
    82  	MaximumDraw *int64 `json:"maximum_draw,omitempty"`
    83  
    84  	// Name
    85  	// Required: true
    86  	// Max Length: 64
    87  	// Min Length: 1
    88  	Name *string `json:"name"`
    89  
    90  	// Type
    91  	// 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]
    92  	Type string `json:"type,omitempty"`
    93  
    94  	// Url
    95  	// Read Only: true
    96  	// Format: uri
    97  	URL strfmt.URI `json:"url,omitempty"`
    98  }
    99  
   100  // Validate validates this writable power port template
   101  func (m *WritablePowerPortTemplate) Validate(formats strfmt.Registry) error {
   102  	var res []error
   103  
   104  	if err := m.validateAllocatedDraw(formats); err != nil {
   105  		res = append(res, err)
   106  	}
   107  
   108  	if err := m.validateCreated(formats); err != nil {
   109  		res = append(res, err)
   110  	}
   111  
   112  	if err := m.validateDescription(formats); err != nil {
   113  		res = append(res, err)
   114  	}
   115  
   116  	if err := m.validateDeviceType(formats); err != nil {
   117  		res = append(res, err)
   118  	}
   119  
   120  	if err := m.validateLabel(formats); err != nil {
   121  		res = append(res, err)
   122  	}
   123  
   124  	if err := m.validateLastUpdated(formats); err != nil {
   125  		res = append(res, err)
   126  	}
   127  
   128  	if err := m.validateMaximumDraw(formats); err != nil {
   129  		res = append(res, err)
   130  	}
   131  
   132  	if err := m.validateName(formats); err != nil {
   133  		res = append(res, err)
   134  	}
   135  
   136  	if err := m.validateType(formats); err != nil {
   137  		res = append(res, err)
   138  	}
   139  
   140  	if err := m.validateURL(formats); err != nil {
   141  		res = append(res, err)
   142  	}
   143  
   144  	if len(res) > 0 {
   145  		return errors.CompositeValidationError(res...)
   146  	}
   147  	return nil
   148  }
   149  
   150  func (m *WritablePowerPortTemplate) validateAllocatedDraw(formats strfmt.Registry) error {
   151  	if swag.IsZero(m.AllocatedDraw) { // not required
   152  		return nil
   153  	}
   154  
   155  	if err := validate.MinimumInt("allocated_draw", "body", *m.AllocatedDraw, 1, false); err != nil {
   156  		return err
   157  	}
   158  
   159  	if err := validate.MaximumInt("allocated_draw", "body", *m.AllocatedDraw, 32767, false); err != nil {
   160  		return err
   161  	}
   162  
   163  	return nil
   164  }
   165  
   166  func (m *WritablePowerPortTemplate) validateCreated(formats strfmt.Registry) error {
   167  	if swag.IsZero(m.Created) { // not required
   168  		return nil
   169  	}
   170  
   171  	if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
   172  		return err
   173  	}
   174  
   175  	return nil
   176  }
   177  
   178  func (m *WritablePowerPortTemplate) validateDescription(formats strfmt.Registry) error {
   179  	if swag.IsZero(m.Description) { // not required
   180  		return nil
   181  	}
   182  
   183  	if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
   184  		return err
   185  	}
   186  
   187  	return nil
   188  }
   189  
   190  func (m *WritablePowerPortTemplate) validateDeviceType(formats strfmt.Registry) error {
   191  
   192  	if err := validate.Required("device_type", "body", m.DeviceType); err != nil {
   193  		return err
   194  	}
   195  
   196  	return nil
   197  }
   198  
   199  func (m *WritablePowerPortTemplate) validateLabel(formats strfmt.Registry) error {
   200  	if swag.IsZero(m.Label) { // not required
   201  		return nil
   202  	}
   203  
   204  	if err := validate.MaxLength("label", "body", m.Label, 64); err != nil {
   205  		return err
   206  	}
   207  
   208  	return nil
   209  }
   210  
   211  func (m *WritablePowerPortTemplate) validateLastUpdated(formats strfmt.Registry) error {
   212  	if swag.IsZero(m.LastUpdated) { // not required
   213  		return nil
   214  	}
   215  
   216  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   217  		return err
   218  	}
   219  
   220  	return nil
   221  }
   222  
   223  func (m *WritablePowerPortTemplate) validateMaximumDraw(formats strfmt.Registry) error {
   224  	if swag.IsZero(m.MaximumDraw) { // not required
   225  		return nil
   226  	}
   227  
   228  	if err := validate.MinimumInt("maximum_draw", "body", *m.MaximumDraw, 1, false); err != nil {
   229  		return err
   230  	}
   231  
   232  	if err := validate.MaximumInt("maximum_draw", "body", *m.MaximumDraw, 32767, false); err != nil {
   233  		return err
   234  	}
   235  
   236  	return nil
   237  }
   238  
   239  func (m *WritablePowerPortTemplate) validateName(formats strfmt.Registry) error {
   240  
   241  	if err := validate.Required("name", "body", m.Name); err != nil {
   242  		return err
   243  	}
   244  
   245  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   246  		return err
   247  	}
   248  
   249  	if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil {
   250  		return err
   251  	}
   252  
   253  	return nil
   254  }
   255  
   256  var writablePowerPortTemplateTypeTypePropEnum []interface{}
   257  
   258  func init() {
   259  	var res []string
   260  	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 {
   261  		panic(err)
   262  	}
   263  	for _, v := range res {
   264  		writablePowerPortTemplateTypeTypePropEnum = append(writablePowerPortTemplateTypeTypePropEnum, v)
   265  	}
   266  }
   267  
   268  const (
   269  
   270  	// WritablePowerPortTemplateTypeIecDash60320DashC6 captures enum value "iec-60320-c6"
   271  	WritablePowerPortTemplateTypeIecDash60320DashC6 string = "iec-60320-c6"
   272  
   273  	// WritablePowerPortTemplateTypeIecDash60320DashC8 captures enum value "iec-60320-c8"
   274  	WritablePowerPortTemplateTypeIecDash60320DashC8 string = "iec-60320-c8"
   275  
   276  	// WritablePowerPortTemplateTypeIecDash60320DashC14 captures enum value "iec-60320-c14"
   277  	WritablePowerPortTemplateTypeIecDash60320DashC14 string = "iec-60320-c14"
   278  
   279  	// WritablePowerPortTemplateTypeIecDash60320DashC16 captures enum value "iec-60320-c16"
   280  	WritablePowerPortTemplateTypeIecDash60320DashC16 string = "iec-60320-c16"
   281  
   282  	// WritablePowerPortTemplateTypeIecDash60320DashC20 captures enum value "iec-60320-c20"
   283  	WritablePowerPortTemplateTypeIecDash60320DashC20 string = "iec-60320-c20"
   284  
   285  	// WritablePowerPortTemplateTypeIecDash60320DashC22 captures enum value "iec-60320-c22"
   286  	WritablePowerPortTemplateTypeIecDash60320DashC22 string = "iec-60320-c22"
   287  
   288  	// WritablePowerPortTemplateTypeIecDash60309DashpDashnDasheDash4h captures enum value "iec-60309-p-n-e-4h"
   289  	WritablePowerPortTemplateTypeIecDash60309DashpDashnDasheDash4h string = "iec-60309-p-n-e-4h"
   290  
   291  	// WritablePowerPortTemplateTypeIecDash60309DashpDashnDasheDash6h captures enum value "iec-60309-p-n-e-6h"
   292  	WritablePowerPortTemplateTypeIecDash60309DashpDashnDasheDash6h string = "iec-60309-p-n-e-6h"
   293  
   294  	// WritablePowerPortTemplateTypeIecDash60309DashpDashnDasheDash9h captures enum value "iec-60309-p-n-e-9h"
   295  	WritablePowerPortTemplateTypeIecDash60309DashpDashnDasheDash9h string = "iec-60309-p-n-e-9h"
   296  
   297  	// WritablePowerPortTemplateTypeIecDash60309Dash2pDasheDash4h captures enum value "iec-60309-2p-e-4h"
   298  	WritablePowerPortTemplateTypeIecDash60309Dash2pDasheDash4h string = "iec-60309-2p-e-4h"
   299  
   300  	// WritablePowerPortTemplateTypeIecDash60309Dash2pDasheDash6h captures enum value "iec-60309-2p-e-6h"
   301  	WritablePowerPortTemplateTypeIecDash60309Dash2pDasheDash6h string = "iec-60309-2p-e-6h"
   302  
   303  	// WritablePowerPortTemplateTypeIecDash60309Dash2pDasheDash9h captures enum value "iec-60309-2p-e-9h"
   304  	WritablePowerPortTemplateTypeIecDash60309Dash2pDasheDash9h string = "iec-60309-2p-e-9h"
   305  
   306  	// WritablePowerPortTemplateTypeIecDash60309Dash3pDasheDash4h captures enum value "iec-60309-3p-e-4h"
   307  	WritablePowerPortTemplateTypeIecDash60309Dash3pDasheDash4h string = "iec-60309-3p-e-4h"
   308  
   309  	// WritablePowerPortTemplateTypeIecDash60309Dash3pDasheDash6h captures enum value "iec-60309-3p-e-6h"
   310  	WritablePowerPortTemplateTypeIecDash60309Dash3pDasheDash6h string = "iec-60309-3p-e-6h"
   311  
   312  	// WritablePowerPortTemplateTypeIecDash60309Dash3pDasheDash9h captures enum value "iec-60309-3p-e-9h"
   313  	WritablePowerPortTemplateTypeIecDash60309Dash3pDasheDash9h string = "iec-60309-3p-e-9h"
   314  
   315  	// WritablePowerPortTemplateTypeIecDash60309Dash3pDashnDasheDash4h captures enum value "iec-60309-3p-n-e-4h"
   316  	WritablePowerPortTemplateTypeIecDash60309Dash3pDashnDasheDash4h string = "iec-60309-3p-n-e-4h"
   317  
   318  	// WritablePowerPortTemplateTypeIecDash60309Dash3pDashnDasheDash6h captures enum value "iec-60309-3p-n-e-6h"
   319  	WritablePowerPortTemplateTypeIecDash60309Dash3pDashnDasheDash6h string = "iec-60309-3p-n-e-6h"
   320  
   321  	// WritablePowerPortTemplateTypeIecDash60309Dash3pDashnDasheDash9h captures enum value "iec-60309-3p-n-e-9h"
   322  	WritablePowerPortTemplateTypeIecDash60309Dash3pDashnDasheDash9h string = "iec-60309-3p-n-e-9h"
   323  
   324  	// WritablePowerPortTemplateTypeNemaDash1Dash15p captures enum value "nema-1-15p"
   325  	WritablePowerPortTemplateTypeNemaDash1Dash15p string = "nema-1-15p"
   326  
   327  	// WritablePowerPortTemplateTypeNemaDash5Dash15p captures enum value "nema-5-15p"
   328  	WritablePowerPortTemplateTypeNemaDash5Dash15p string = "nema-5-15p"
   329  
   330  	// WritablePowerPortTemplateTypeNemaDash5Dash20p captures enum value "nema-5-20p"
   331  	WritablePowerPortTemplateTypeNemaDash5Dash20p string = "nema-5-20p"
   332  
   333  	// WritablePowerPortTemplateTypeNemaDash5Dash30p captures enum value "nema-5-30p"
   334  	WritablePowerPortTemplateTypeNemaDash5Dash30p string = "nema-5-30p"
   335  
   336  	// WritablePowerPortTemplateTypeNemaDash5Dash50p captures enum value "nema-5-50p"
   337  	WritablePowerPortTemplateTypeNemaDash5Dash50p string = "nema-5-50p"
   338  
   339  	// WritablePowerPortTemplateTypeNemaDash6Dash15p captures enum value "nema-6-15p"
   340  	WritablePowerPortTemplateTypeNemaDash6Dash15p string = "nema-6-15p"
   341  
   342  	// WritablePowerPortTemplateTypeNemaDash6Dash20p captures enum value "nema-6-20p"
   343  	WritablePowerPortTemplateTypeNemaDash6Dash20p string = "nema-6-20p"
   344  
   345  	// WritablePowerPortTemplateTypeNemaDash6Dash30p captures enum value "nema-6-30p"
   346  	WritablePowerPortTemplateTypeNemaDash6Dash30p string = "nema-6-30p"
   347  
   348  	// WritablePowerPortTemplateTypeNemaDash6Dash50p captures enum value "nema-6-50p"
   349  	WritablePowerPortTemplateTypeNemaDash6Dash50p string = "nema-6-50p"
   350  
   351  	// WritablePowerPortTemplateTypeNemaDash10Dash30p captures enum value "nema-10-30p"
   352  	WritablePowerPortTemplateTypeNemaDash10Dash30p string = "nema-10-30p"
   353  
   354  	// WritablePowerPortTemplateTypeNemaDash10Dash50p captures enum value "nema-10-50p"
   355  	WritablePowerPortTemplateTypeNemaDash10Dash50p string = "nema-10-50p"
   356  
   357  	// WritablePowerPortTemplateTypeNemaDash14Dash20p captures enum value "nema-14-20p"
   358  	WritablePowerPortTemplateTypeNemaDash14Dash20p string = "nema-14-20p"
   359  
   360  	// WritablePowerPortTemplateTypeNemaDash14Dash30p captures enum value "nema-14-30p"
   361  	WritablePowerPortTemplateTypeNemaDash14Dash30p string = "nema-14-30p"
   362  
   363  	// WritablePowerPortTemplateTypeNemaDash14Dash50p captures enum value "nema-14-50p"
   364  	WritablePowerPortTemplateTypeNemaDash14Dash50p string = "nema-14-50p"
   365  
   366  	// WritablePowerPortTemplateTypeNemaDash14Dash60p captures enum value "nema-14-60p"
   367  	WritablePowerPortTemplateTypeNemaDash14Dash60p string = "nema-14-60p"
   368  
   369  	// WritablePowerPortTemplateTypeNemaDash15Dash15p captures enum value "nema-15-15p"
   370  	WritablePowerPortTemplateTypeNemaDash15Dash15p string = "nema-15-15p"
   371  
   372  	// WritablePowerPortTemplateTypeNemaDash15Dash20p captures enum value "nema-15-20p"
   373  	WritablePowerPortTemplateTypeNemaDash15Dash20p string = "nema-15-20p"
   374  
   375  	// WritablePowerPortTemplateTypeNemaDash15Dash30p captures enum value "nema-15-30p"
   376  	WritablePowerPortTemplateTypeNemaDash15Dash30p string = "nema-15-30p"
   377  
   378  	// WritablePowerPortTemplateTypeNemaDash15Dash50p captures enum value "nema-15-50p"
   379  	WritablePowerPortTemplateTypeNemaDash15Dash50p string = "nema-15-50p"
   380  
   381  	// WritablePowerPortTemplateTypeNemaDash15Dash60p captures enum value "nema-15-60p"
   382  	WritablePowerPortTemplateTypeNemaDash15Dash60p string = "nema-15-60p"
   383  
   384  	// WritablePowerPortTemplateTypeNemaDashL1Dash15p captures enum value "nema-l1-15p"
   385  	WritablePowerPortTemplateTypeNemaDashL1Dash15p string = "nema-l1-15p"
   386  
   387  	// WritablePowerPortTemplateTypeNemaDashL5Dash15p captures enum value "nema-l5-15p"
   388  	WritablePowerPortTemplateTypeNemaDashL5Dash15p string = "nema-l5-15p"
   389  
   390  	// WritablePowerPortTemplateTypeNemaDashL5Dash20p captures enum value "nema-l5-20p"
   391  	WritablePowerPortTemplateTypeNemaDashL5Dash20p string = "nema-l5-20p"
   392  
   393  	// WritablePowerPortTemplateTypeNemaDashL5Dash30p captures enum value "nema-l5-30p"
   394  	WritablePowerPortTemplateTypeNemaDashL5Dash30p string = "nema-l5-30p"
   395  
   396  	// WritablePowerPortTemplateTypeNemaDashL5Dash50p captures enum value "nema-l5-50p"
   397  	WritablePowerPortTemplateTypeNemaDashL5Dash50p string = "nema-l5-50p"
   398  
   399  	// WritablePowerPortTemplateTypeNemaDashL6Dash15p captures enum value "nema-l6-15p"
   400  	WritablePowerPortTemplateTypeNemaDashL6Dash15p string = "nema-l6-15p"
   401  
   402  	// WritablePowerPortTemplateTypeNemaDashL6Dash20p captures enum value "nema-l6-20p"
   403  	WritablePowerPortTemplateTypeNemaDashL6Dash20p string = "nema-l6-20p"
   404  
   405  	// WritablePowerPortTemplateTypeNemaDashL6Dash30p captures enum value "nema-l6-30p"
   406  	WritablePowerPortTemplateTypeNemaDashL6Dash30p string = "nema-l6-30p"
   407  
   408  	// WritablePowerPortTemplateTypeNemaDashL6Dash50p captures enum value "nema-l6-50p"
   409  	WritablePowerPortTemplateTypeNemaDashL6Dash50p string = "nema-l6-50p"
   410  
   411  	// WritablePowerPortTemplateTypeNemaDashL10Dash30p captures enum value "nema-l10-30p"
   412  	WritablePowerPortTemplateTypeNemaDashL10Dash30p string = "nema-l10-30p"
   413  
   414  	// WritablePowerPortTemplateTypeNemaDashL14Dash20p captures enum value "nema-l14-20p"
   415  	WritablePowerPortTemplateTypeNemaDashL14Dash20p string = "nema-l14-20p"
   416  
   417  	// WritablePowerPortTemplateTypeNemaDashL14Dash30p captures enum value "nema-l14-30p"
   418  	WritablePowerPortTemplateTypeNemaDashL14Dash30p string = "nema-l14-30p"
   419  
   420  	// WritablePowerPortTemplateTypeNemaDashL14Dash50p captures enum value "nema-l14-50p"
   421  	WritablePowerPortTemplateTypeNemaDashL14Dash50p string = "nema-l14-50p"
   422  
   423  	// WritablePowerPortTemplateTypeNemaDashL14Dash60p captures enum value "nema-l14-60p"
   424  	WritablePowerPortTemplateTypeNemaDashL14Dash60p string = "nema-l14-60p"
   425  
   426  	// WritablePowerPortTemplateTypeNemaDashL15Dash20p captures enum value "nema-l15-20p"
   427  	WritablePowerPortTemplateTypeNemaDashL15Dash20p string = "nema-l15-20p"
   428  
   429  	// WritablePowerPortTemplateTypeNemaDashL15Dash30p captures enum value "nema-l15-30p"
   430  	WritablePowerPortTemplateTypeNemaDashL15Dash30p string = "nema-l15-30p"
   431  
   432  	// WritablePowerPortTemplateTypeNemaDashL15Dash50p captures enum value "nema-l15-50p"
   433  	WritablePowerPortTemplateTypeNemaDashL15Dash50p string = "nema-l15-50p"
   434  
   435  	// WritablePowerPortTemplateTypeNemaDashL15Dash60p captures enum value "nema-l15-60p"
   436  	WritablePowerPortTemplateTypeNemaDashL15Dash60p string = "nema-l15-60p"
   437  
   438  	// WritablePowerPortTemplateTypeNemaDashL21Dash20p captures enum value "nema-l21-20p"
   439  	WritablePowerPortTemplateTypeNemaDashL21Dash20p string = "nema-l21-20p"
   440  
   441  	// WritablePowerPortTemplateTypeNemaDashL21Dash30p captures enum value "nema-l21-30p"
   442  	WritablePowerPortTemplateTypeNemaDashL21Dash30p string = "nema-l21-30p"
   443  
   444  	// WritablePowerPortTemplateTypeCs6361c captures enum value "cs6361c"
   445  	WritablePowerPortTemplateTypeCs6361c string = "cs6361c"
   446  
   447  	// WritablePowerPortTemplateTypeCs6365c captures enum value "cs6365c"
   448  	WritablePowerPortTemplateTypeCs6365c string = "cs6365c"
   449  
   450  	// WritablePowerPortTemplateTypeCs8165c captures enum value "cs8165c"
   451  	WritablePowerPortTemplateTypeCs8165c string = "cs8165c"
   452  
   453  	// WritablePowerPortTemplateTypeCs8265c captures enum value "cs8265c"
   454  	WritablePowerPortTemplateTypeCs8265c string = "cs8265c"
   455  
   456  	// WritablePowerPortTemplateTypeCs8365c captures enum value "cs8365c"
   457  	WritablePowerPortTemplateTypeCs8365c string = "cs8365c"
   458  
   459  	// WritablePowerPortTemplateTypeCs8465c captures enum value "cs8465c"
   460  	WritablePowerPortTemplateTypeCs8465c string = "cs8465c"
   461  
   462  	// WritablePowerPortTemplateTypeItaDashe captures enum value "ita-e"
   463  	WritablePowerPortTemplateTypeItaDashe string = "ita-e"
   464  
   465  	// WritablePowerPortTemplateTypeItaDashf captures enum value "ita-f"
   466  	WritablePowerPortTemplateTypeItaDashf string = "ita-f"
   467  
   468  	// WritablePowerPortTemplateTypeItaDashEf captures enum value "ita-ef"
   469  	WritablePowerPortTemplateTypeItaDashEf string = "ita-ef"
   470  
   471  	// WritablePowerPortTemplateTypeItaDashg captures enum value "ita-g"
   472  	WritablePowerPortTemplateTypeItaDashg string = "ita-g"
   473  
   474  	// WritablePowerPortTemplateTypeItaDashh captures enum value "ita-h"
   475  	WritablePowerPortTemplateTypeItaDashh string = "ita-h"
   476  
   477  	// WritablePowerPortTemplateTypeItaDashi captures enum value "ita-i"
   478  	WritablePowerPortTemplateTypeItaDashi string = "ita-i"
   479  
   480  	// WritablePowerPortTemplateTypeItaDashj captures enum value "ita-j"
   481  	WritablePowerPortTemplateTypeItaDashj string = "ita-j"
   482  
   483  	// WritablePowerPortTemplateTypeItaDashk captures enum value "ita-k"
   484  	WritablePowerPortTemplateTypeItaDashk string = "ita-k"
   485  
   486  	// WritablePowerPortTemplateTypeItaDashl captures enum value "ita-l"
   487  	WritablePowerPortTemplateTypeItaDashl string = "ita-l"
   488  
   489  	// WritablePowerPortTemplateTypeItaDashm captures enum value "ita-m"
   490  	WritablePowerPortTemplateTypeItaDashm string = "ita-m"
   491  
   492  	// WritablePowerPortTemplateTypeItaDashn captures enum value "ita-n"
   493  	WritablePowerPortTemplateTypeItaDashn string = "ita-n"
   494  
   495  	// WritablePowerPortTemplateTypeItaDasho captures enum value "ita-o"
   496  	WritablePowerPortTemplateTypeItaDasho string = "ita-o"
   497  
   498  	// WritablePowerPortTemplateTypeUsbDasha captures enum value "usb-a"
   499  	WritablePowerPortTemplateTypeUsbDasha string = "usb-a"
   500  
   501  	// WritablePowerPortTemplateTypeUsbDashb captures enum value "usb-b"
   502  	WritablePowerPortTemplateTypeUsbDashb string = "usb-b"
   503  
   504  	// WritablePowerPortTemplateTypeUsbDashc captures enum value "usb-c"
   505  	WritablePowerPortTemplateTypeUsbDashc string = "usb-c"
   506  
   507  	// WritablePowerPortTemplateTypeUsbDashMiniDasha captures enum value "usb-mini-a"
   508  	WritablePowerPortTemplateTypeUsbDashMiniDasha string = "usb-mini-a"
   509  
   510  	// WritablePowerPortTemplateTypeUsbDashMiniDashb captures enum value "usb-mini-b"
   511  	WritablePowerPortTemplateTypeUsbDashMiniDashb string = "usb-mini-b"
   512  
   513  	// WritablePowerPortTemplateTypeUsbDashMicroDasha captures enum value "usb-micro-a"
   514  	WritablePowerPortTemplateTypeUsbDashMicroDasha string = "usb-micro-a"
   515  
   516  	// WritablePowerPortTemplateTypeUsbDashMicroDashb captures enum value "usb-micro-b"
   517  	WritablePowerPortTemplateTypeUsbDashMicroDashb string = "usb-micro-b"
   518  
   519  	// WritablePowerPortTemplateTypeUsbDash3Dashb captures enum value "usb-3-b"
   520  	WritablePowerPortTemplateTypeUsbDash3Dashb string = "usb-3-b"
   521  
   522  	// WritablePowerPortTemplateTypeUsbDash3DashMicroDashb captures enum value "usb-3-micro-b"
   523  	WritablePowerPortTemplateTypeUsbDash3DashMicroDashb string = "usb-3-micro-b"
   524  
   525  	// WritablePowerPortTemplateTypeDcDashTerminal captures enum value "dc-terminal"
   526  	WritablePowerPortTemplateTypeDcDashTerminal string = "dc-terminal"
   527  
   528  	// WritablePowerPortTemplateTypeSafDashdDashGrid captures enum value "saf-d-grid"
   529  	WritablePowerPortTemplateTypeSafDashdDashGrid string = "saf-d-grid"
   530  
   531  	// WritablePowerPortTemplateTypeHardwired captures enum value "hardwired"
   532  	WritablePowerPortTemplateTypeHardwired string = "hardwired"
   533  )
   534  
   535  // prop value enum
   536  func (m *WritablePowerPortTemplate) validateTypeEnum(path, location string, value string) error {
   537  	if err := validate.EnumCase(path, location, value, writablePowerPortTemplateTypeTypePropEnum, true); err != nil {
   538  		return err
   539  	}
   540  	return nil
   541  }
   542  
   543  func (m *WritablePowerPortTemplate) validateType(formats strfmt.Registry) error {
   544  	if swag.IsZero(m.Type) { // not required
   545  		return nil
   546  	}
   547  
   548  	// value enum
   549  	if err := m.validateTypeEnum("type", "body", m.Type); err != nil {
   550  		return err
   551  	}
   552  
   553  	return nil
   554  }
   555  
   556  func (m *WritablePowerPortTemplate) validateURL(formats strfmt.Registry) error {
   557  	if swag.IsZero(m.URL) { // not required
   558  		return nil
   559  	}
   560  
   561  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   562  		return err
   563  	}
   564  
   565  	return nil
   566  }
   567  
   568  // ContextValidate validate this writable power port template based on the context it is used
   569  func (m *WritablePowerPortTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   570  	var res []error
   571  
   572  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   573  		res = append(res, err)
   574  	}
   575  
   576  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   577  		res = append(res, err)
   578  	}
   579  
   580  	if err := m.contextValidateID(ctx, formats); err != nil {
   581  		res = append(res, err)
   582  	}
   583  
   584  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   585  		res = append(res, err)
   586  	}
   587  
   588  	if err := m.contextValidateURL(ctx, formats); err != nil {
   589  		res = append(res, err)
   590  	}
   591  
   592  	if len(res) > 0 {
   593  		return errors.CompositeValidationError(res...)
   594  	}
   595  	return nil
   596  }
   597  
   598  func (m *WritablePowerPortTemplate) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   599  
   600  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   601  		return err
   602  	}
   603  
   604  	return nil
   605  }
   606  
   607  func (m *WritablePowerPortTemplate) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   608  
   609  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   610  		return err
   611  	}
   612  
   613  	return nil
   614  }
   615  
   616  func (m *WritablePowerPortTemplate) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   617  
   618  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   619  		return err
   620  	}
   621  
   622  	return nil
   623  }
   624  
   625  func (m *WritablePowerPortTemplate) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   626  
   627  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   628  		return err
   629  	}
   630  
   631  	return nil
   632  }
   633  
   634  func (m *WritablePowerPortTemplate) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   635  
   636  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   637  		return err
   638  	}
   639  
   640  	return nil
   641  }
   642  
   643  // MarshalBinary interface implementation
   644  func (m *WritablePowerPortTemplate) MarshalBinary() ([]byte, error) {
   645  	if m == nil {
   646  		return nil, nil
   647  	}
   648  	return swag.WriteJSON(m)
   649  }
   650  
   651  // UnmarshalBinary interface implementation
   652  func (m *WritablePowerPortTemplate) UnmarshalBinary(b []byte) error {
   653  	var res WritablePowerPortTemplate
   654  	if err := swag.ReadJSON(b, &res); err != nil {
   655  		return err
   656  	}
   657  	*m = res
   658  	return nil
   659  }