github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_power_outlet_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  // WritablePowerOutletTemplate writable power outlet template
    34  //
    35  // swagger:model WritablePowerOutletTemplate
    36  type WritablePowerOutletTemplate struct {
    37  
    38  	// Created
    39  	// Read Only: true
    40  	// Format: date
    41  	Created strfmt.Date `json:"created,omitempty"`
    42  
    43  	// Description
    44  	// Max Length: 200
    45  	Description string `json:"description,omitempty"`
    46  
    47  	// Device type
    48  	// Required: true
    49  	DeviceType *int64 `json:"device_type"`
    50  
    51  	// Display
    52  	// Read Only: true
    53  	Display string `json:"display,omitempty"`
    54  
    55  	// Feed leg
    56  	//
    57  	// Phase (for three-phase feeds)
    58  	// Enum: [A B C]
    59  	FeedLeg string `json:"feed_leg,omitempty"`
    60  
    61  	// Id
    62  	// Read Only: true
    63  	ID int64 `json:"id,omitempty"`
    64  
    65  	// Label
    66  	//
    67  	// Physical label
    68  	// Max Length: 64
    69  	Label string `json:"label,omitempty"`
    70  
    71  	// Last updated
    72  	// Read Only: true
    73  	// Format: date-time
    74  	LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
    75  
    76  	// Name
    77  	// Required: true
    78  	// Max Length: 64
    79  	// Min Length: 1
    80  	Name *string `json:"name"`
    81  
    82  	// Power port
    83  	PowerPort *int64 `json:"power_port,omitempty"`
    84  
    85  	// Type
    86  	// 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]
    87  	Type string `json:"type,omitempty"`
    88  
    89  	// Url
    90  	// Read Only: true
    91  	// Format: uri
    92  	URL strfmt.URI `json:"url,omitempty"`
    93  }
    94  
    95  // Validate validates this writable power outlet template
    96  func (m *WritablePowerOutletTemplate) Validate(formats strfmt.Registry) error {
    97  	var res []error
    98  
    99  	if err := m.validateCreated(formats); err != nil {
   100  		res = append(res, err)
   101  	}
   102  
   103  	if err := m.validateDescription(formats); err != nil {
   104  		res = append(res, err)
   105  	}
   106  
   107  	if err := m.validateDeviceType(formats); err != nil {
   108  		res = append(res, err)
   109  	}
   110  
   111  	if err := m.validateFeedLeg(formats); err != nil {
   112  		res = append(res, err)
   113  	}
   114  
   115  	if err := m.validateLabel(formats); err != nil {
   116  		res = append(res, err)
   117  	}
   118  
   119  	if err := m.validateLastUpdated(formats); err != nil {
   120  		res = append(res, err)
   121  	}
   122  
   123  	if err := m.validateName(formats); err != nil {
   124  		res = append(res, err)
   125  	}
   126  
   127  	if err := m.validateType(formats); err != nil {
   128  		res = append(res, err)
   129  	}
   130  
   131  	if err := m.validateURL(formats); err != nil {
   132  		res = append(res, err)
   133  	}
   134  
   135  	if len(res) > 0 {
   136  		return errors.CompositeValidationError(res...)
   137  	}
   138  	return nil
   139  }
   140  
   141  func (m *WritablePowerOutletTemplate) validateCreated(formats strfmt.Registry) error {
   142  	if swag.IsZero(m.Created) { // not required
   143  		return nil
   144  	}
   145  
   146  	if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
   147  		return err
   148  	}
   149  
   150  	return nil
   151  }
   152  
   153  func (m *WritablePowerOutletTemplate) validateDescription(formats strfmt.Registry) error {
   154  	if swag.IsZero(m.Description) { // not required
   155  		return nil
   156  	}
   157  
   158  	if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
   159  		return err
   160  	}
   161  
   162  	return nil
   163  }
   164  
   165  func (m *WritablePowerOutletTemplate) validateDeviceType(formats strfmt.Registry) error {
   166  
   167  	if err := validate.Required("device_type", "body", m.DeviceType); err != nil {
   168  		return err
   169  	}
   170  
   171  	return nil
   172  }
   173  
   174  var writablePowerOutletTemplateTypeFeedLegPropEnum []interface{}
   175  
   176  func init() {
   177  	var res []string
   178  	if err := json.Unmarshal([]byte(`["A","B","C"]`), &res); err != nil {
   179  		panic(err)
   180  	}
   181  	for _, v := range res {
   182  		writablePowerOutletTemplateTypeFeedLegPropEnum = append(writablePowerOutletTemplateTypeFeedLegPropEnum, v)
   183  	}
   184  }
   185  
   186  const (
   187  
   188  	// WritablePowerOutletTemplateFeedLegA captures enum value "A"
   189  	WritablePowerOutletTemplateFeedLegA string = "A"
   190  
   191  	// WritablePowerOutletTemplateFeedLegB captures enum value "B"
   192  	WritablePowerOutletTemplateFeedLegB string = "B"
   193  
   194  	// WritablePowerOutletTemplateFeedLegC captures enum value "C"
   195  	WritablePowerOutletTemplateFeedLegC string = "C"
   196  )
   197  
   198  // prop value enum
   199  func (m *WritablePowerOutletTemplate) validateFeedLegEnum(path, location string, value string) error {
   200  	if err := validate.EnumCase(path, location, value, writablePowerOutletTemplateTypeFeedLegPropEnum, true); err != nil {
   201  		return err
   202  	}
   203  	return nil
   204  }
   205  
   206  func (m *WritablePowerOutletTemplate) validateFeedLeg(formats strfmt.Registry) error {
   207  	if swag.IsZero(m.FeedLeg) { // not required
   208  		return nil
   209  	}
   210  
   211  	// value enum
   212  	if err := m.validateFeedLegEnum("feed_leg", "body", m.FeedLeg); err != nil {
   213  		return err
   214  	}
   215  
   216  	return nil
   217  }
   218  
   219  func (m *WritablePowerOutletTemplate) validateLabel(formats strfmt.Registry) error {
   220  	if swag.IsZero(m.Label) { // not required
   221  		return nil
   222  	}
   223  
   224  	if err := validate.MaxLength("label", "body", m.Label, 64); err != nil {
   225  		return err
   226  	}
   227  
   228  	return nil
   229  }
   230  
   231  func (m *WritablePowerOutletTemplate) validateLastUpdated(formats strfmt.Registry) error {
   232  	if swag.IsZero(m.LastUpdated) { // not required
   233  		return nil
   234  	}
   235  
   236  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   237  		return err
   238  	}
   239  
   240  	return nil
   241  }
   242  
   243  func (m *WritablePowerOutletTemplate) validateName(formats strfmt.Registry) error {
   244  
   245  	if err := validate.Required("name", "body", m.Name); err != nil {
   246  		return err
   247  	}
   248  
   249  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   250  		return err
   251  	}
   252  
   253  	if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil {
   254  		return err
   255  	}
   256  
   257  	return nil
   258  }
   259  
   260  var writablePowerOutletTemplateTypeTypePropEnum []interface{}
   261  
   262  func init() {
   263  	var res []string
   264  	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 {
   265  		panic(err)
   266  	}
   267  	for _, v := range res {
   268  		writablePowerOutletTemplateTypeTypePropEnum = append(writablePowerOutletTemplateTypeTypePropEnum, v)
   269  	}
   270  }
   271  
   272  const (
   273  
   274  	// WritablePowerOutletTemplateTypeIecDash60320DashC5 captures enum value "iec-60320-c5"
   275  	WritablePowerOutletTemplateTypeIecDash60320DashC5 string = "iec-60320-c5"
   276  
   277  	// WritablePowerOutletTemplateTypeIecDash60320DashC7 captures enum value "iec-60320-c7"
   278  	WritablePowerOutletTemplateTypeIecDash60320DashC7 string = "iec-60320-c7"
   279  
   280  	// WritablePowerOutletTemplateTypeIecDash60320DashC13 captures enum value "iec-60320-c13"
   281  	WritablePowerOutletTemplateTypeIecDash60320DashC13 string = "iec-60320-c13"
   282  
   283  	// WritablePowerOutletTemplateTypeIecDash60320DashC15 captures enum value "iec-60320-c15"
   284  	WritablePowerOutletTemplateTypeIecDash60320DashC15 string = "iec-60320-c15"
   285  
   286  	// WritablePowerOutletTemplateTypeIecDash60320DashC19 captures enum value "iec-60320-c19"
   287  	WritablePowerOutletTemplateTypeIecDash60320DashC19 string = "iec-60320-c19"
   288  
   289  	// WritablePowerOutletTemplateTypeIecDash60320DashC21 captures enum value "iec-60320-c21"
   290  	WritablePowerOutletTemplateTypeIecDash60320DashC21 string = "iec-60320-c21"
   291  
   292  	// WritablePowerOutletTemplateTypeIecDash60309DashpDashnDasheDash4h captures enum value "iec-60309-p-n-e-4h"
   293  	WritablePowerOutletTemplateTypeIecDash60309DashpDashnDasheDash4h string = "iec-60309-p-n-e-4h"
   294  
   295  	// WritablePowerOutletTemplateTypeIecDash60309DashpDashnDasheDash6h captures enum value "iec-60309-p-n-e-6h"
   296  	WritablePowerOutletTemplateTypeIecDash60309DashpDashnDasheDash6h string = "iec-60309-p-n-e-6h"
   297  
   298  	// WritablePowerOutletTemplateTypeIecDash60309DashpDashnDasheDash9h captures enum value "iec-60309-p-n-e-9h"
   299  	WritablePowerOutletTemplateTypeIecDash60309DashpDashnDasheDash9h string = "iec-60309-p-n-e-9h"
   300  
   301  	// WritablePowerOutletTemplateTypeIecDash60309Dash2pDasheDash4h captures enum value "iec-60309-2p-e-4h"
   302  	WritablePowerOutletTemplateTypeIecDash60309Dash2pDasheDash4h string = "iec-60309-2p-e-4h"
   303  
   304  	// WritablePowerOutletTemplateTypeIecDash60309Dash2pDasheDash6h captures enum value "iec-60309-2p-e-6h"
   305  	WritablePowerOutletTemplateTypeIecDash60309Dash2pDasheDash6h string = "iec-60309-2p-e-6h"
   306  
   307  	// WritablePowerOutletTemplateTypeIecDash60309Dash2pDasheDash9h captures enum value "iec-60309-2p-e-9h"
   308  	WritablePowerOutletTemplateTypeIecDash60309Dash2pDasheDash9h string = "iec-60309-2p-e-9h"
   309  
   310  	// WritablePowerOutletTemplateTypeIecDash60309Dash3pDasheDash4h captures enum value "iec-60309-3p-e-4h"
   311  	WritablePowerOutletTemplateTypeIecDash60309Dash3pDasheDash4h string = "iec-60309-3p-e-4h"
   312  
   313  	// WritablePowerOutletTemplateTypeIecDash60309Dash3pDasheDash6h captures enum value "iec-60309-3p-e-6h"
   314  	WritablePowerOutletTemplateTypeIecDash60309Dash3pDasheDash6h string = "iec-60309-3p-e-6h"
   315  
   316  	// WritablePowerOutletTemplateTypeIecDash60309Dash3pDasheDash9h captures enum value "iec-60309-3p-e-9h"
   317  	WritablePowerOutletTemplateTypeIecDash60309Dash3pDasheDash9h string = "iec-60309-3p-e-9h"
   318  
   319  	// WritablePowerOutletTemplateTypeIecDash60309Dash3pDashnDasheDash4h captures enum value "iec-60309-3p-n-e-4h"
   320  	WritablePowerOutletTemplateTypeIecDash60309Dash3pDashnDasheDash4h string = "iec-60309-3p-n-e-4h"
   321  
   322  	// WritablePowerOutletTemplateTypeIecDash60309Dash3pDashnDasheDash6h captures enum value "iec-60309-3p-n-e-6h"
   323  	WritablePowerOutletTemplateTypeIecDash60309Dash3pDashnDasheDash6h string = "iec-60309-3p-n-e-6h"
   324  
   325  	// WritablePowerOutletTemplateTypeIecDash60309Dash3pDashnDasheDash9h captures enum value "iec-60309-3p-n-e-9h"
   326  	WritablePowerOutletTemplateTypeIecDash60309Dash3pDashnDasheDash9h string = "iec-60309-3p-n-e-9h"
   327  
   328  	// WritablePowerOutletTemplateTypeNemaDash1Dash15r captures enum value "nema-1-15r"
   329  	WritablePowerOutletTemplateTypeNemaDash1Dash15r string = "nema-1-15r"
   330  
   331  	// WritablePowerOutletTemplateTypeNemaDash5Dash15r captures enum value "nema-5-15r"
   332  	WritablePowerOutletTemplateTypeNemaDash5Dash15r string = "nema-5-15r"
   333  
   334  	// WritablePowerOutletTemplateTypeNemaDash5Dash20r captures enum value "nema-5-20r"
   335  	WritablePowerOutletTemplateTypeNemaDash5Dash20r string = "nema-5-20r"
   336  
   337  	// WritablePowerOutletTemplateTypeNemaDash5Dash30r captures enum value "nema-5-30r"
   338  	WritablePowerOutletTemplateTypeNemaDash5Dash30r string = "nema-5-30r"
   339  
   340  	// WritablePowerOutletTemplateTypeNemaDash5Dash50r captures enum value "nema-5-50r"
   341  	WritablePowerOutletTemplateTypeNemaDash5Dash50r string = "nema-5-50r"
   342  
   343  	// WritablePowerOutletTemplateTypeNemaDash6Dash15r captures enum value "nema-6-15r"
   344  	WritablePowerOutletTemplateTypeNemaDash6Dash15r string = "nema-6-15r"
   345  
   346  	// WritablePowerOutletTemplateTypeNemaDash6Dash20r captures enum value "nema-6-20r"
   347  	WritablePowerOutletTemplateTypeNemaDash6Dash20r string = "nema-6-20r"
   348  
   349  	// WritablePowerOutletTemplateTypeNemaDash6Dash30r captures enum value "nema-6-30r"
   350  	WritablePowerOutletTemplateTypeNemaDash6Dash30r string = "nema-6-30r"
   351  
   352  	// WritablePowerOutletTemplateTypeNemaDash6Dash50r captures enum value "nema-6-50r"
   353  	WritablePowerOutletTemplateTypeNemaDash6Dash50r string = "nema-6-50r"
   354  
   355  	// WritablePowerOutletTemplateTypeNemaDash10Dash30r captures enum value "nema-10-30r"
   356  	WritablePowerOutletTemplateTypeNemaDash10Dash30r string = "nema-10-30r"
   357  
   358  	// WritablePowerOutletTemplateTypeNemaDash10Dash50r captures enum value "nema-10-50r"
   359  	WritablePowerOutletTemplateTypeNemaDash10Dash50r string = "nema-10-50r"
   360  
   361  	// WritablePowerOutletTemplateTypeNemaDash14Dash20r captures enum value "nema-14-20r"
   362  	WritablePowerOutletTemplateTypeNemaDash14Dash20r string = "nema-14-20r"
   363  
   364  	// WritablePowerOutletTemplateTypeNemaDash14Dash30r captures enum value "nema-14-30r"
   365  	WritablePowerOutletTemplateTypeNemaDash14Dash30r string = "nema-14-30r"
   366  
   367  	// WritablePowerOutletTemplateTypeNemaDash14Dash50r captures enum value "nema-14-50r"
   368  	WritablePowerOutletTemplateTypeNemaDash14Dash50r string = "nema-14-50r"
   369  
   370  	// WritablePowerOutletTemplateTypeNemaDash14Dash60r captures enum value "nema-14-60r"
   371  	WritablePowerOutletTemplateTypeNemaDash14Dash60r string = "nema-14-60r"
   372  
   373  	// WritablePowerOutletTemplateTypeNemaDash15Dash15r captures enum value "nema-15-15r"
   374  	WritablePowerOutletTemplateTypeNemaDash15Dash15r string = "nema-15-15r"
   375  
   376  	// WritablePowerOutletTemplateTypeNemaDash15Dash20r captures enum value "nema-15-20r"
   377  	WritablePowerOutletTemplateTypeNemaDash15Dash20r string = "nema-15-20r"
   378  
   379  	// WritablePowerOutletTemplateTypeNemaDash15Dash30r captures enum value "nema-15-30r"
   380  	WritablePowerOutletTemplateTypeNemaDash15Dash30r string = "nema-15-30r"
   381  
   382  	// WritablePowerOutletTemplateTypeNemaDash15Dash50r captures enum value "nema-15-50r"
   383  	WritablePowerOutletTemplateTypeNemaDash15Dash50r string = "nema-15-50r"
   384  
   385  	// WritablePowerOutletTemplateTypeNemaDash15Dash60r captures enum value "nema-15-60r"
   386  	WritablePowerOutletTemplateTypeNemaDash15Dash60r string = "nema-15-60r"
   387  
   388  	// WritablePowerOutletTemplateTypeNemaDashL1Dash15r captures enum value "nema-l1-15r"
   389  	WritablePowerOutletTemplateTypeNemaDashL1Dash15r string = "nema-l1-15r"
   390  
   391  	// WritablePowerOutletTemplateTypeNemaDashL5Dash15r captures enum value "nema-l5-15r"
   392  	WritablePowerOutletTemplateTypeNemaDashL5Dash15r string = "nema-l5-15r"
   393  
   394  	// WritablePowerOutletTemplateTypeNemaDashL5Dash20r captures enum value "nema-l5-20r"
   395  	WritablePowerOutletTemplateTypeNemaDashL5Dash20r string = "nema-l5-20r"
   396  
   397  	// WritablePowerOutletTemplateTypeNemaDashL5Dash30r captures enum value "nema-l5-30r"
   398  	WritablePowerOutletTemplateTypeNemaDashL5Dash30r string = "nema-l5-30r"
   399  
   400  	// WritablePowerOutletTemplateTypeNemaDashL5Dash50r captures enum value "nema-l5-50r"
   401  	WritablePowerOutletTemplateTypeNemaDashL5Dash50r string = "nema-l5-50r"
   402  
   403  	// WritablePowerOutletTemplateTypeNemaDashL6Dash15r captures enum value "nema-l6-15r"
   404  	WritablePowerOutletTemplateTypeNemaDashL6Dash15r string = "nema-l6-15r"
   405  
   406  	// WritablePowerOutletTemplateTypeNemaDashL6Dash20r captures enum value "nema-l6-20r"
   407  	WritablePowerOutletTemplateTypeNemaDashL6Dash20r string = "nema-l6-20r"
   408  
   409  	// WritablePowerOutletTemplateTypeNemaDashL6Dash30r captures enum value "nema-l6-30r"
   410  	WritablePowerOutletTemplateTypeNemaDashL6Dash30r string = "nema-l6-30r"
   411  
   412  	// WritablePowerOutletTemplateTypeNemaDashL6Dash50r captures enum value "nema-l6-50r"
   413  	WritablePowerOutletTemplateTypeNemaDashL6Dash50r string = "nema-l6-50r"
   414  
   415  	// WritablePowerOutletTemplateTypeNemaDashL10Dash30r captures enum value "nema-l10-30r"
   416  	WritablePowerOutletTemplateTypeNemaDashL10Dash30r string = "nema-l10-30r"
   417  
   418  	// WritablePowerOutletTemplateTypeNemaDashL14Dash20r captures enum value "nema-l14-20r"
   419  	WritablePowerOutletTemplateTypeNemaDashL14Dash20r string = "nema-l14-20r"
   420  
   421  	// WritablePowerOutletTemplateTypeNemaDashL14Dash30r captures enum value "nema-l14-30r"
   422  	WritablePowerOutletTemplateTypeNemaDashL14Dash30r string = "nema-l14-30r"
   423  
   424  	// WritablePowerOutletTemplateTypeNemaDashL14Dash50r captures enum value "nema-l14-50r"
   425  	WritablePowerOutletTemplateTypeNemaDashL14Dash50r string = "nema-l14-50r"
   426  
   427  	// WritablePowerOutletTemplateTypeNemaDashL14Dash60r captures enum value "nema-l14-60r"
   428  	WritablePowerOutletTemplateTypeNemaDashL14Dash60r string = "nema-l14-60r"
   429  
   430  	// WritablePowerOutletTemplateTypeNemaDashL15Dash20r captures enum value "nema-l15-20r"
   431  	WritablePowerOutletTemplateTypeNemaDashL15Dash20r string = "nema-l15-20r"
   432  
   433  	// WritablePowerOutletTemplateTypeNemaDashL15Dash30r captures enum value "nema-l15-30r"
   434  	WritablePowerOutletTemplateTypeNemaDashL15Dash30r string = "nema-l15-30r"
   435  
   436  	// WritablePowerOutletTemplateTypeNemaDashL15Dash50r captures enum value "nema-l15-50r"
   437  	WritablePowerOutletTemplateTypeNemaDashL15Dash50r string = "nema-l15-50r"
   438  
   439  	// WritablePowerOutletTemplateTypeNemaDashL15Dash60r captures enum value "nema-l15-60r"
   440  	WritablePowerOutletTemplateTypeNemaDashL15Dash60r string = "nema-l15-60r"
   441  
   442  	// WritablePowerOutletTemplateTypeNemaDashL21Dash20r captures enum value "nema-l21-20r"
   443  	WritablePowerOutletTemplateTypeNemaDashL21Dash20r string = "nema-l21-20r"
   444  
   445  	// WritablePowerOutletTemplateTypeNemaDashL21Dash30r captures enum value "nema-l21-30r"
   446  	WritablePowerOutletTemplateTypeNemaDashL21Dash30r string = "nema-l21-30r"
   447  
   448  	// WritablePowerOutletTemplateTypeCS6360C captures enum value "CS6360C"
   449  	WritablePowerOutletTemplateTypeCS6360C string = "CS6360C"
   450  
   451  	// WritablePowerOutletTemplateTypeCS6364C captures enum value "CS6364C"
   452  	WritablePowerOutletTemplateTypeCS6364C string = "CS6364C"
   453  
   454  	// WritablePowerOutletTemplateTypeCS8164C captures enum value "CS8164C"
   455  	WritablePowerOutletTemplateTypeCS8164C string = "CS8164C"
   456  
   457  	// WritablePowerOutletTemplateTypeCS8264C captures enum value "CS8264C"
   458  	WritablePowerOutletTemplateTypeCS8264C string = "CS8264C"
   459  
   460  	// WritablePowerOutletTemplateTypeCS8364C captures enum value "CS8364C"
   461  	WritablePowerOutletTemplateTypeCS8364C string = "CS8364C"
   462  
   463  	// WritablePowerOutletTemplateTypeCS8464C captures enum value "CS8464C"
   464  	WritablePowerOutletTemplateTypeCS8464C string = "CS8464C"
   465  
   466  	// WritablePowerOutletTemplateTypeItaDashe captures enum value "ita-e"
   467  	WritablePowerOutletTemplateTypeItaDashe string = "ita-e"
   468  
   469  	// WritablePowerOutletTemplateTypeItaDashf captures enum value "ita-f"
   470  	WritablePowerOutletTemplateTypeItaDashf string = "ita-f"
   471  
   472  	// WritablePowerOutletTemplateTypeItaDashg captures enum value "ita-g"
   473  	WritablePowerOutletTemplateTypeItaDashg string = "ita-g"
   474  
   475  	// WritablePowerOutletTemplateTypeItaDashh captures enum value "ita-h"
   476  	WritablePowerOutletTemplateTypeItaDashh string = "ita-h"
   477  
   478  	// WritablePowerOutletTemplateTypeItaDashi captures enum value "ita-i"
   479  	WritablePowerOutletTemplateTypeItaDashi string = "ita-i"
   480  
   481  	// WritablePowerOutletTemplateTypeItaDashj captures enum value "ita-j"
   482  	WritablePowerOutletTemplateTypeItaDashj string = "ita-j"
   483  
   484  	// WritablePowerOutletTemplateTypeItaDashk captures enum value "ita-k"
   485  	WritablePowerOutletTemplateTypeItaDashk string = "ita-k"
   486  
   487  	// WritablePowerOutletTemplateTypeItaDashl captures enum value "ita-l"
   488  	WritablePowerOutletTemplateTypeItaDashl string = "ita-l"
   489  
   490  	// WritablePowerOutletTemplateTypeItaDashm captures enum value "ita-m"
   491  	WritablePowerOutletTemplateTypeItaDashm string = "ita-m"
   492  
   493  	// WritablePowerOutletTemplateTypeItaDashn captures enum value "ita-n"
   494  	WritablePowerOutletTemplateTypeItaDashn string = "ita-n"
   495  
   496  	// WritablePowerOutletTemplateTypeItaDasho captures enum value "ita-o"
   497  	WritablePowerOutletTemplateTypeItaDasho string = "ita-o"
   498  
   499  	// WritablePowerOutletTemplateTypeUsbDasha captures enum value "usb-a"
   500  	WritablePowerOutletTemplateTypeUsbDasha string = "usb-a"
   501  
   502  	// WritablePowerOutletTemplateTypeUsbDashMicroDashb captures enum value "usb-micro-b"
   503  	WritablePowerOutletTemplateTypeUsbDashMicroDashb string = "usb-micro-b"
   504  
   505  	// WritablePowerOutletTemplateTypeUsbDashc captures enum value "usb-c"
   506  	WritablePowerOutletTemplateTypeUsbDashc string = "usb-c"
   507  
   508  	// WritablePowerOutletTemplateTypeDcDashTerminal captures enum value "dc-terminal"
   509  	WritablePowerOutletTemplateTypeDcDashTerminal string = "dc-terminal"
   510  
   511  	// WritablePowerOutletTemplateTypeHdotDashCx captures enum value "hdot-cx"
   512  	WritablePowerOutletTemplateTypeHdotDashCx string = "hdot-cx"
   513  
   514  	// WritablePowerOutletTemplateTypeSafDashdDashGrid captures enum value "saf-d-grid"
   515  	WritablePowerOutletTemplateTypeSafDashdDashGrid string = "saf-d-grid"
   516  )
   517  
   518  // prop value enum
   519  func (m *WritablePowerOutletTemplate) validateTypeEnum(path, location string, value string) error {
   520  	if err := validate.EnumCase(path, location, value, writablePowerOutletTemplateTypeTypePropEnum, true); err != nil {
   521  		return err
   522  	}
   523  	return nil
   524  }
   525  
   526  func (m *WritablePowerOutletTemplate) validateType(formats strfmt.Registry) error {
   527  	if swag.IsZero(m.Type) { // not required
   528  		return nil
   529  	}
   530  
   531  	// value enum
   532  	if err := m.validateTypeEnum("type", "body", m.Type); err != nil {
   533  		return err
   534  	}
   535  
   536  	return nil
   537  }
   538  
   539  func (m *WritablePowerOutletTemplate) validateURL(formats strfmt.Registry) error {
   540  	if swag.IsZero(m.URL) { // not required
   541  		return nil
   542  	}
   543  
   544  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   545  		return err
   546  	}
   547  
   548  	return nil
   549  }
   550  
   551  // ContextValidate validate this writable power outlet template based on the context it is used
   552  func (m *WritablePowerOutletTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   553  	var res []error
   554  
   555  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   556  		res = append(res, err)
   557  	}
   558  
   559  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   560  		res = append(res, err)
   561  	}
   562  
   563  	if err := m.contextValidateID(ctx, formats); err != nil {
   564  		res = append(res, err)
   565  	}
   566  
   567  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   568  		res = append(res, err)
   569  	}
   570  
   571  	if err := m.contextValidateURL(ctx, formats); err != nil {
   572  		res = append(res, err)
   573  	}
   574  
   575  	if len(res) > 0 {
   576  		return errors.CompositeValidationError(res...)
   577  	}
   578  	return nil
   579  }
   580  
   581  func (m *WritablePowerOutletTemplate) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   582  
   583  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   584  		return err
   585  	}
   586  
   587  	return nil
   588  }
   589  
   590  func (m *WritablePowerOutletTemplate) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   591  
   592  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   593  		return err
   594  	}
   595  
   596  	return nil
   597  }
   598  
   599  func (m *WritablePowerOutletTemplate) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   600  
   601  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   602  		return err
   603  	}
   604  
   605  	return nil
   606  }
   607  
   608  func (m *WritablePowerOutletTemplate) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   609  
   610  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   611  		return err
   612  	}
   613  
   614  	return nil
   615  }
   616  
   617  func (m *WritablePowerOutletTemplate) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   618  
   619  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   620  		return err
   621  	}
   622  
   623  	return nil
   624  }
   625  
   626  // MarshalBinary interface implementation
   627  func (m *WritablePowerOutletTemplate) MarshalBinary() ([]byte, error) {
   628  	if m == nil {
   629  		return nil, nil
   630  	}
   631  	return swag.WriteJSON(m)
   632  }
   633  
   634  // UnmarshalBinary interface implementation
   635  func (m *WritablePowerOutletTemplate) UnmarshalBinary(b []byte) error {
   636  	var res WritablePowerOutletTemplate
   637  	if err := swag.ReadJSON(b, &res); err != nil {
   638  		return err
   639  	}
   640  	*m = res
   641  	return nil
   642  }