github.com/digitalocean/go-netbox@v0.0.2/netbox/models/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  // PowerOutletTemplate power outlet template
    34  //
    35  // swagger:model PowerOutletTemplate
    36  type PowerOutletTemplate 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 *NestedDeviceType `json:"device_type"`
    50  
    51  	// Display
    52  	// Read Only: true
    53  	Display string `json:"display,omitempty"`
    54  
    55  	// feed leg
    56  	FeedLeg *PowerOutletTemplateFeedLeg `json:"feed_leg,omitempty"`
    57  
    58  	// Id
    59  	// Read Only: true
    60  	ID int64 `json:"id,omitempty"`
    61  
    62  	// Label
    63  	//
    64  	// Physical label
    65  	// Max Length: 64
    66  	Label string `json:"label,omitempty"`
    67  
    68  	// Last updated
    69  	// Read Only: true
    70  	// Format: date-time
    71  	LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
    72  
    73  	// Name
    74  	// Required: true
    75  	// Max Length: 64
    76  	// Min Length: 1
    77  	Name *string `json:"name"`
    78  
    79  	// power port
    80  	PowerPort *NestedPowerPortTemplate `json:"power_port,omitempty"`
    81  
    82  	// type
    83  	Type *PowerOutletTemplateType `json:"type,omitempty"`
    84  
    85  	// Url
    86  	// Read Only: true
    87  	// Format: uri
    88  	URL strfmt.URI `json:"url,omitempty"`
    89  }
    90  
    91  // Validate validates this power outlet template
    92  func (m *PowerOutletTemplate) Validate(formats strfmt.Registry) error {
    93  	var res []error
    94  
    95  	if err := m.validateCreated(formats); err != nil {
    96  		res = append(res, err)
    97  	}
    98  
    99  	if err := m.validateDescription(formats); err != nil {
   100  		res = append(res, err)
   101  	}
   102  
   103  	if err := m.validateDeviceType(formats); err != nil {
   104  		res = append(res, err)
   105  	}
   106  
   107  	if err := m.validateFeedLeg(formats); err != nil {
   108  		res = append(res, err)
   109  	}
   110  
   111  	if err := m.validateLabel(formats); err != nil {
   112  		res = append(res, err)
   113  	}
   114  
   115  	if err := m.validateLastUpdated(formats); err != nil {
   116  		res = append(res, err)
   117  	}
   118  
   119  	if err := m.validateName(formats); err != nil {
   120  		res = append(res, err)
   121  	}
   122  
   123  	if err := m.validatePowerPort(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 *PowerOutletTemplate) 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 *PowerOutletTemplate) 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 *PowerOutletTemplate) validateDeviceType(formats strfmt.Registry) error {
   166  
   167  	if err := validate.Required("device_type", "body", m.DeviceType); err != nil {
   168  		return err
   169  	}
   170  
   171  	if m.DeviceType != nil {
   172  		if err := m.DeviceType.Validate(formats); err != nil {
   173  			if ve, ok := err.(*errors.Validation); ok {
   174  				return ve.ValidateName("device_type")
   175  			} else if ce, ok := err.(*errors.CompositeError); ok {
   176  				return ce.ValidateName("device_type")
   177  			}
   178  			return err
   179  		}
   180  	}
   181  
   182  	return nil
   183  }
   184  
   185  func (m *PowerOutletTemplate) validateFeedLeg(formats strfmt.Registry) error {
   186  	if swag.IsZero(m.FeedLeg) { // not required
   187  		return nil
   188  	}
   189  
   190  	if m.FeedLeg != nil {
   191  		if err := m.FeedLeg.Validate(formats); err != nil {
   192  			if ve, ok := err.(*errors.Validation); ok {
   193  				return ve.ValidateName("feed_leg")
   194  			} else if ce, ok := err.(*errors.CompositeError); ok {
   195  				return ce.ValidateName("feed_leg")
   196  			}
   197  			return err
   198  		}
   199  	}
   200  
   201  	return nil
   202  }
   203  
   204  func (m *PowerOutletTemplate) validateLabel(formats strfmt.Registry) error {
   205  	if swag.IsZero(m.Label) { // not required
   206  		return nil
   207  	}
   208  
   209  	if err := validate.MaxLength("label", "body", m.Label, 64); err != nil {
   210  		return err
   211  	}
   212  
   213  	return nil
   214  }
   215  
   216  func (m *PowerOutletTemplate) validateLastUpdated(formats strfmt.Registry) error {
   217  	if swag.IsZero(m.LastUpdated) { // not required
   218  		return nil
   219  	}
   220  
   221  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   222  		return err
   223  	}
   224  
   225  	return nil
   226  }
   227  
   228  func (m *PowerOutletTemplate) validateName(formats strfmt.Registry) error {
   229  
   230  	if err := validate.Required("name", "body", m.Name); err != nil {
   231  		return err
   232  	}
   233  
   234  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   235  		return err
   236  	}
   237  
   238  	if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil {
   239  		return err
   240  	}
   241  
   242  	return nil
   243  }
   244  
   245  func (m *PowerOutletTemplate) validatePowerPort(formats strfmt.Registry) error {
   246  	if swag.IsZero(m.PowerPort) { // not required
   247  		return nil
   248  	}
   249  
   250  	if m.PowerPort != nil {
   251  		if err := m.PowerPort.Validate(formats); err != nil {
   252  			if ve, ok := err.(*errors.Validation); ok {
   253  				return ve.ValidateName("power_port")
   254  			} else if ce, ok := err.(*errors.CompositeError); ok {
   255  				return ce.ValidateName("power_port")
   256  			}
   257  			return err
   258  		}
   259  	}
   260  
   261  	return nil
   262  }
   263  
   264  func (m *PowerOutletTemplate) validateType(formats strfmt.Registry) error {
   265  	if swag.IsZero(m.Type) { // not required
   266  		return nil
   267  	}
   268  
   269  	if m.Type != nil {
   270  		if err := m.Type.Validate(formats); err != nil {
   271  			if ve, ok := err.(*errors.Validation); ok {
   272  				return ve.ValidateName("type")
   273  			} else if ce, ok := err.(*errors.CompositeError); ok {
   274  				return ce.ValidateName("type")
   275  			}
   276  			return err
   277  		}
   278  	}
   279  
   280  	return nil
   281  }
   282  
   283  func (m *PowerOutletTemplate) validateURL(formats strfmt.Registry) error {
   284  	if swag.IsZero(m.URL) { // not required
   285  		return nil
   286  	}
   287  
   288  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   289  		return err
   290  	}
   291  
   292  	return nil
   293  }
   294  
   295  // ContextValidate validate this power outlet template based on the context it is used
   296  func (m *PowerOutletTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   297  	var res []error
   298  
   299  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   300  		res = append(res, err)
   301  	}
   302  
   303  	if err := m.contextValidateDeviceType(ctx, formats); err != nil {
   304  		res = append(res, err)
   305  	}
   306  
   307  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   308  		res = append(res, err)
   309  	}
   310  
   311  	if err := m.contextValidateFeedLeg(ctx, formats); err != nil {
   312  		res = append(res, err)
   313  	}
   314  
   315  	if err := m.contextValidateID(ctx, formats); err != nil {
   316  		res = append(res, err)
   317  	}
   318  
   319  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   320  		res = append(res, err)
   321  	}
   322  
   323  	if err := m.contextValidatePowerPort(ctx, formats); err != nil {
   324  		res = append(res, err)
   325  	}
   326  
   327  	if err := m.contextValidateType(ctx, formats); err != nil {
   328  		res = append(res, err)
   329  	}
   330  
   331  	if err := m.contextValidateURL(ctx, formats); err != nil {
   332  		res = append(res, err)
   333  	}
   334  
   335  	if len(res) > 0 {
   336  		return errors.CompositeValidationError(res...)
   337  	}
   338  	return nil
   339  }
   340  
   341  func (m *PowerOutletTemplate) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   342  
   343  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   344  		return err
   345  	}
   346  
   347  	return nil
   348  }
   349  
   350  func (m *PowerOutletTemplate) contextValidateDeviceType(ctx context.Context, formats strfmt.Registry) error {
   351  
   352  	if m.DeviceType != nil {
   353  		if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
   354  			if ve, ok := err.(*errors.Validation); ok {
   355  				return ve.ValidateName("device_type")
   356  			} else if ce, ok := err.(*errors.CompositeError); ok {
   357  				return ce.ValidateName("device_type")
   358  			}
   359  			return err
   360  		}
   361  	}
   362  
   363  	return nil
   364  }
   365  
   366  func (m *PowerOutletTemplate) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   367  
   368  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   369  		return err
   370  	}
   371  
   372  	return nil
   373  }
   374  
   375  func (m *PowerOutletTemplate) contextValidateFeedLeg(ctx context.Context, formats strfmt.Registry) error {
   376  
   377  	if m.FeedLeg != nil {
   378  		if err := m.FeedLeg.ContextValidate(ctx, formats); err != nil {
   379  			if ve, ok := err.(*errors.Validation); ok {
   380  				return ve.ValidateName("feed_leg")
   381  			} else if ce, ok := err.(*errors.CompositeError); ok {
   382  				return ce.ValidateName("feed_leg")
   383  			}
   384  			return err
   385  		}
   386  	}
   387  
   388  	return nil
   389  }
   390  
   391  func (m *PowerOutletTemplate) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   392  
   393  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   394  		return err
   395  	}
   396  
   397  	return nil
   398  }
   399  
   400  func (m *PowerOutletTemplate) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   401  
   402  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   403  		return err
   404  	}
   405  
   406  	return nil
   407  }
   408  
   409  func (m *PowerOutletTemplate) contextValidatePowerPort(ctx context.Context, formats strfmt.Registry) error {
   410  
   411  	if m.PowerPort != nil {
   412  		if err := m.PowerPort.ContextValidate(ctx, formats); err != nil {
   413  			if ve, ok := err.(*errors.Validation); ok {
   414  				return ve.ValidateName("power_port")
   415  			} else if ce, ok := err.(*errors.CompositeError); ok {
   416  				return ce.ValidateName("power_port")
   417  			}
   418  			return err
   419  		}
   420  	}
   421  
   422  	return nil
   423  }
   424  
   425  func (m *PowerOutletTemplate) contextValidateType(ctx context.Context, formats strfmt.Registry) error {
   426  
   427  	if m.Type != nil {
   428  		if err := m.Type.ContextValidate(ctx, formats); err != nil {
   429  			if ve, ok := err.(*errors.Validation); ok {
   430  				return ve.ValidateName("type")
   431  			} else if ce, ok := err.(*errors.CompositeError); ok {
   432  				return ce.ValidateName("type")
   433  			}
   434  			return err
   435  		}
   436  	}
   437  
   438  	return nil
   439  }
   440  
   441  func (m *PowerOutletTemplate) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   442  
   443  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   444  		return err
   445  	}
   446  
   447  	return nil
   448  }
   449  
   450  // MarshalBinary interface implementation
   451  func (m *PowerOutletTemplate) MarshalBinary() ([]byte, error) {
   452  	if m == nil {
   453  		return nil, nil
   454  	}
   455  	return swag.WriteJSON(m)
   456  }
   457  
   458  // UnmarshalBinary interface implementation
   459  func (m *PowerOutletTemplate) UnmarshalBinary(b []byte) error {
   460  	var res PowerOutletTemplate
   461  	if err := swag.ReadJSON(b, &res); err != nil {
   462  		return err
   463  	}
   464  	*m = res
   465  	return nil
   466  }
   467  
   468  // PowerOutletTemplateFeedLeg Feed leg
   469  //
   470  // swagger:model PowerOutletTemplateFeedLeg
   471  type PowerOutletTemplateFeedLeg struct {
   472  
   473  	// label
   474  	// Required: true
   475  	// Enum: [A B C]
   476  	Label *string `json:"label"`
   477  
   478  	// value
   479  	// Required: true
   480  	// Enum: [A B C]
   481  	Value *string `json:"value"`
   482  }
   483  
   484  // Validate validates this power outlet template feed leg
   485  func (m *PowerOutletTemplateFeedLeg) Validate(formats strfmt.Registry) error {
   486  	var res []error
   487  
   488  	if err := m.validateLabel(formats); err != nil {
   489  		res = append(res, err)
   490  	}
   491  
   492  	if err := m.validateValue(formats); err != nil {
   493  		res = append(res, err)
   494  	}
   495  
   496  	if len(res) > 0 {
   497  		return errors.CompositeValidationError(res...)
   498  	}
   499  	return nil
   500  }
   501  
   502  var powerOutletTemplateFeedLegTypeLabelPropEnum []interface{}
   503  
   504  func init() {
   505  	var res []string
   506  	if err := json.Unmarshal([]byte(`["A","B","C"]`), &res); err != nil {
   507  		panic(err)
   508  	}
   509  	for _, v := range res {
   510  		powerOutletTemplateFeedLegTypeLabelPropEnum = append(powerOutletTemplateFeedLegTypeLabelPropEnum, v)
   511  	}
   512  }
   513  
   514  const (
   515  
   516  	// PowerOutletTemplateFeedLegLabelA captures enum value "A"
   517  	PowerOutletTemplateFeedLegLabelA string = "A"
   518  
   519  	// PowerOutletTemplateFeedLegLabelB captures enum value "B"
   520  	PowerOutletTemplateFeedLegLabelB string = "B"
   521  
   522  	// PowerOutletTemplateFeedLegLabelC captures enum value "C"
   523  	PowerOutletTemplateFeedLegLabelC string = "C"
   524  )
   525  
   526  // prop value enum
   527  func (m *PowerOutletTemplateFeedLeg) validateLabelEnum(path, location string, value string) error {
   528  	if err := validate.EnumCase(path, location, value, powerOutletTemplateFeedLegTypeLabelPropEnum, true); err != nil {
   529  		return err
   530  	}
   531  	return nil
   532  }
   533  
   534  func (m *PowerOutletTemplateFeedLeg) validateLabel(formats strfmt.Registry) error {
   535  
   536  	if err := validate.Required("feed_leg"+"."+"label", "body", m.Label); err != nil {
   537  		return err
   538  	}
   539  
   540  	// value enum
   541  	if err := m.validateLabelEnum("feed_leg"+"."+"label", "body", *m.Label); err != nil {
   542  		return err
   543  	}
   544  
   545  	return nil
   546  }
   547  
   548  var powerOutletTemplateFeedLegTypeValuePropEnum []interface{}
   549  
   550  func init() {
   551  	var res []string
   552  	if err := json.Unmarshal([]byte(`["A","B","C"]`), &res); err != nil {
   553  		panic(err)
   554  	}
   555  	for _, v := range res {
   556  		powerOutletTemplateFeedLegTypeValuePropEnum = append(powerOutletTemplateFeedLegTypeValuePropEnum, v)
   557  	}
   558  }
   559  
   560  const (
   561  
   562  	// PowerOutletTemplateFeedLegValueA captures enum value "A"
   563  	PowerOutletTemplateFeedLegValueA string = "A"
   564  
   565  	// PowerOutletTemplateFeedLegValueB captures enum value "B"
   566  	PowerOutletTemplateFeedLegValueB string = "B"
   567  
   568  	// PowerOutletTemplateFeedLegValueC captures enum value "C"
   569  	PowerOutletTemplateFeedLegValueC string = "C"
   570  )
   571  
   572  // prop value enum
   573  func (m *PowerOutletTemplateFeedLeg) validateValueEnum(path, location string, value string) error {
   574  	if err := validate.EnumCase(path, location, value, powerOutletTemplateFeedLegTypeValuePropEnum, true); err != nil {
   575  		return err
   576  	}
   577  	return nil
   578  }
   579  
   580  func (m *PowerOutletTemplateFeedLeg) validateValue(formats strfmt.Registry) error {
   581  
   582  	if err := validate.Required("feed_leg"+"."+"value", "body", m.Value); err != nil {
   583  		return err
   584  	}
   585  
   586  	// value enum
   587  	if err := m.validateValueEnum("feed_leg"+"."+"value", "body", *m.Value); err != nil {
   588  		return err
   589  	}
   590  
   591  	return nil
   592  }
   593  
   594  // ContextValidate validates this power outlet template feed leg based on context it is used
   595  func (m *PowerOutletTemplateFeedLeg) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   596  	return nil
   597  }
   598  
   599  // MarshalBinary interface implementation
   600  func (m *PowerOutletTemplateFeedLeg) MarshalBinary() ([]byte, error) {
   601  	if m == nil {
   602  		return nil, nil
   603  	}
   604  	return swag.WriteJSON(m)
   605  }
   606  
   607  // UnmarshalBinary interface implementation
   608  func (m *PowerOutletTemplateFeedLeg) UnmarshalBinary(b []byte) error {
   609  	var res PowerOutletTemplateFeedLeg
   610  	if err := swag.ReadJSON(b, &res); err != nil {
   611  		return err
   612  	}
   613  	*m = res
   614  	return nil
   615  }
   616  
   617  // PowerOutletTemplateType Type
   618  //
   619  // swagger:model PowerOutletTemplateType
   620  type PowerOutletTemplateType struct {
   621  
   622  	// label
   623  	// Required: true
   624  	// Enum: [C5 C7 C13 C15 C19 C21 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 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 Type E (CEE7/5) ITA Type F (CEE7/3) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Micro B USB Type C DC Terminal HDOT Cx Saf-D-Grid]
   625  	Label *string `json:"label"`
   626  
   627  	// value
   628  	// Required: true
   629  	// 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]
   630  	Value *string `json:"value"`
   631  }
   632  
   633  // Validate validates this power outlet template type
   634  func (m *PowerOutletTemplateType) Validate(formats strfmt.Registry) error {
   635  	var res []error
   636  
   637  	if err := m.validateLabel(formats); err != nil {
   638  		res = append(res, err)
   639  	}
   640  
   641  	if err := m.validateValue(formats); err != nil {
   642  		res = append(res, err)
   643  	}
   644  
   645  	if len(res) > 0 {
   646  		return errors.CompositeValidationError(res...)
   647  	}
   648  	return nil
   649  }
   650  
   651  var powerOutletTemplateTypeTypeLabelPropEnum []interface{}
   652  
   653  func init() {
   654  	var res []string
   655  	if err := json.Unmarshal([]byte(`["C5","C7","C13","C15","C19","C21","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","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 Type E (CEE7/5)","ITA Type F (CEE7/3)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Micro B","USB Type C","DC Terminal","HDOT Cx","Saf-D-Grid"]`), &res); err != nil {
   656  		panic(err)
   657  	}
   658  	for _, v := range res {
   659  		powerOutletTemplateTypeTypeLabelPropEnum = append(powerOutletTemplateTypeTypeLabelPropEnum, v)
   660  	}
   661  }
   662  
   663  const (
   664  
   665  	// PowerOutletTemplateTypeLabelC5 captures enum value "C5"
   666  	PowerOutletTemplateTypeLabelC5 string = "C5"
   667  
   668  	// PowerOutletTemplateTypeLabelC7 captures enum value "C7"
   669  	PowerOutletTemplateTypeLabelC7 string = "C7"
   670  
   671  	// PowerOutletTemplateTypeLabelC13 captures enum value "C13"
   672  	PowerOutletTemplateTypeLabelC13 string = "C13"
   673  
   674  	// PowerOutletTemplateTypeLabelC15 captures enum value "C15"
   675  	PowerOutletTemplateTypeLabelC15 string = "C15"
   676  
   677  	// PowerOutletTemplateTypeLabelC19 captures enum value "C19"
   678  	PowerOutletTemplateTypeLabelC19 string = "C19"
   679  
   680  	// PowerOutletTemplateTypeLabelC21 captures enum value "C21"
   681  	PowerOutletTemplateTypeLabelC21 string = "C21"
   682  
   683  	// PowerOutletTemplateTypeLabelPPlusNPlusE4H captures enum value "P+N+E 4H"
   684  	PowerOutletTemplateTypeLabelPPlusNPlusE4H string = "P+N+E 4H"
   685  
   686  	// PowerOutletTemplateTypeLabelPPlusNPlusE6H captures enum value "P+N+E 6H"
   687  	PowerOutletTemplateTypeLabelPPlusNPlusE6H string = "P+N+E 6H"
   688  
   689  	// PowerOutletTemplateTypeLabelPPlusNPlusE9H captures enum value "P+N+E 9H"
   690  	PowerOutletTemplateTypeLabelPPlusNPlusE9H string = "P+N+E 9H"
   691  
   692  	// PowerOutletTemplateTypeLabelNr2PPlusE4H captures enum value "2P+E 4H"
   693  	PowerOutletTemplateTypeLabelNr2PPlusE4H string = "2P+E 4H"
   694  
   695  	// PowerOutletTemplateTypeLabelNr2PPlusE6H captures enum value "2P+E 6H"
   696  	PowerOutletTemplateTypeLabelNr2PPlusE6H string = "2P+E 6H"
   697  
   698  	// PowerOutletTemplateTypeLabelNr2PPlusE9H captures enum value "2P+E 9H"
   699  	PowerOutletTemplateTypeLabelNr2PPlusE9H string = "2P+E 9H"
   700  
   701  	// PowerOutletTemplateTypeLabelNr3PPlusE4H captures enum value "3P+E 4H"
   702  	PowerOutletTemplateTypeLabelNr3PPlusE4H string = "3P+E 4H"
   703  
   704  	// PowerOutletTemplateTypeLabelNr3PPlusE6H captures enum value "3P+E 6H"
   705  	PowerOutletTemplateTypeLabelNr3PPlusE6H string = "3P+E 6H"
   706  
   707  	// PowerOutletTemplateTypeLabelNr3PPlusE9H captures enum value "3P+E 9H"
   708  	PowerOutletTemplateTypeLabelNr3PPlusE9H string = "3P+E 9H"
   709  
   710  	// PowerOutletTemplateTypeLabelNr3PPlusNPlusE4H captures enum value "3P+N+E 4H"
   711  	PowerOutletTemplateTypeLabelNr3PPlusNPlusE4H string = "3P+N+E 4H"
   712  
   713  	// PowerOutletTemplateTypeLabelNr3PPlusNPlusE6H captures enum value "3P+N+E 6H"
   714  	PowerOutletTemplateTypeLabelNr3PPlusNPlusE6H string = "3P+N+E 6H"
   715  
   716  	// PowerOutletTemplateTypeLabelNr3PPlusNPlusE9H captures enum value "3P+N+E 9H"
   717  	PowerOutletTemplateTypeLabelNr3PPlusNPlusE9H string = "3P+N+E 9H"
   718  
   719  	// PowerOutletTemplateTypeLabelNEMA1Dash15R captures enum value "NEMA 1-15R"
   720  	PowerOutletTemplateTypeLabelNEMA1Dash15R string = "NEMA 1-15R"
   721  
   722  	// PowerOutletTemplateTypeLabelNEMA5Dash15R captures enum value "NEMA 5-15R"
   723  	PowerOutletTemplateTypeLabelNEMA5Dash15R string = "NEMA 5-15R"
   724  
   725  	// PowerOutletTemplateTypeLabelNEMA5Dash20R captures enum value "NEMA 5-20R"
   726  	PowerOutletTemplateTypeLabelNEMA5Dash20R string = "NEMA 5-20R"
   727  
   728  	// PowerOutletTemplateTypeLabelNEMA5Dash30R captures enum value "NEMA 5-30R"
   729  	PowerOutletTemplateTypeLabelNEMA5Dash30R string = "NEMA 5-30R"
   730  
   731  	// PowerOutletTemplateTypeLabelNEMA5Dash50R captures enum value "NEMA 5-50R"
   732  	PowerOutletTemplateTypeLabelNEMA5Dash50R string = "NEMA 5-50R"
   733  
   734  	// PowerOutletTemplateTypeLabelNEMA6Dash15R captures enum value "NEMA 6-15R"
   735  	PowerOutletTemplateTypeLabelNEMA6Dash15R string = "NEMA 6-15R"
   736  
   737  	// PowerOutletTemplateTypeLabelNEMA6Dash20R captures enum value "NEMA 6-20R"
   738  	PowerOutletTemplateTypeLabelNEMA6Dash20R string = "NEMA 6-20R"
   739  
   740  	// PowerOutletTemplateTypeLabelNEMA6Dash30R captures enum value "NEMA 6-30R"
   741  	PowerOutletTemplateTypeLabelNEMA6Dash30R string = "NEMA 6-30R"
   742  
   743  	// PowerOutletTemplateTypeLabelNEMA6Dash50R captures enum value "NEMA 6-50R"
   744  	PowerOutletTemplateTypeLabelNEMA6Dash50R string = "NEMA 6-50R"
   745  
   746  	// PowerOutletTemplateTypeLabelNEMA10Dash30R captures enum value "NEMA 10-30R"
   747  	PowerOutletTemplateTypeLabelNEMA10Dash30R string = "NEMA 10-30R"
   748  
   749  	// PowerOutletTemplateTypeLabelNEMA10Dash50R captures enum value "NEMA 10-50R"
   750  	PowerOutletTemplateTypeLabelNEMA10Dash50R string = "NEMA 10-50R"
   751  
   752  	// PowerOutletTemplateTypeLabelNEMA14Dash20R captures enum value "NEMA 14-20R"
   753  	PowerOutletTemplateTypeLabelNEMA14Dash20R string = "NEMA 14-20R"
   754  
   755  	// PowerOutletTemplateTypeLabelNEMA14Dash30R captures enum value "NEMA 14-30R"
   756  	PowerOutletTemplateTypeLabelNEMA14Dash30R string = "NEMA 14-30R"
   757  
   758  	// PowerOutletTemplateTypeLabelNEMA14Dash50R captures enum value "NEMA 14-50R"
   759  	PowerOutletTemplateTypeLabelNEMA14Dash50R string = "NEMA 14-50R"
   760  
   761  	// PowerOutletTemplateTypeLabelNEMA14Dash60R captures enum value "NEMA 14-60R"
   762  	PowerOutletTemplateTypeLabelNEMA14Dash60R string = "NEMA 14-60R"
   763  
   764  	// PowerOutletTemplateTypeLabelNEMA15Dash15R captures enum value "NEMA 15-15R"
   765  	PowerOutletTemplateTypeLabelNEMA15Dash15R string = "NEMA 15-15R"
   766  
   767  	// PowerOutletTemplateTypeLabelNEMA15Dash20R captures enum value "NEMA 15-20R"
   768  	PowerOutletTemplateTypeLabelNEMA15Dash20R string = "NEMA 15-20R"
   769  
   770  	// PowerOutletTemplateTypeLabelNEMA15Dash30R captures enum value "NEMA 15-30R"
   771  	PowerOutletTemplateTypeLabelNEMA15Dash30R string = "NEMA 15-30R"
   772  
   773  	// PowerOutletTemplateTypeLabelNEMA15Dash50R captures enum value "NEMA 15-50R"
   774  	PowerOutletTemplateTypeLabelNEMA15Dash50R string = "NEMA 15-50R"
   775  
   776  	// PowerOutletTemplateTypeLabelNEMA15Dash60R captures enum value "NEMA 15-60R"
   777  	PowerOutletTemplateTypeLabelNEMA15Dash60R string = "NEMA 15-60R"
   778  
   779  	// PowerOutletTemplateTypeLabelNEMAL1Dash15R captures enum value "NEMA L1-15R"
   780  	PowerOutletTemplateTypeLabelNEMAL1Dash15R string = "NEMA L1-15R"
   781  
   782  	// PowerOutletTemplateTypeLabelNEMAL5Dash15R captures enum value "NEMA L5-15R"
   783  	PowerOutletTemplateTypeLabelNEMAL5Dash15R string = "NEMA L5-15R"
   784  
   785  	// PowerOutletTemplateTypeLabelNEMAL5Dash20R captures enum value "NEMA L5-20R"
   786  	PowerOutletTemplateTypeLabelNEMAL5Dash20R string = "NEMA L5-20R"
   787  
   788  	// PowerOutletTemplateTypeLabelNEMAL5Dash30R captures enum value "NEMA L5-30R"
   789  	PowerOutletTemplateTypeLabelNEMAL5Dash30R string = "NEMA L5-30R"
   790  
   791  	// PowerOutletTemplateTypeLabelNEMAL5Dash50R captures enum value "NEMA L5-50R"
   792  	PowerOutletTemplateTypeLabelNEMAL5Dash50R string = "NEMA L5-50R"
   793  
   794  	// PowerOutletTemplateTypeLabelNEMAL6Dash15R captures enum value "NEMA L6-15R"
   795  	PowerOutletTemplateTypeLabelNEMAL6Dash15R string = "NEMA L6-15R"
   796  
   797  	// PowerOutletTemplateTypeLabelNEMAL6Dash20R captures enum value "NEMA L6-20R"
   798  	PowerOutletTemplateTypeLabelNEMAL6Dash20R string = "NEMA L6-20R"
   799  
   800  	// PowerOutletTemplateTypeLabelNEMAL6Dash30R captures enum value "NEMA L6-30R"
   801  	PowerOutletTemplateTypeLabelNEMAL6Dash30R string = "NEMA L6-30R"
   802  
   803  	// PowerOutletTemplateTypeLabelNEMAL6Dash50R captures enum value "NEMA L6-50R"
   804  	PowerOutletTemplateTypeLabelNEMAL6Dash50R string = "NEMA L6-50R"
   805  
   806  	// PowerOutletTemplateTypeLabelNEMAL10Dash30R captures enum value "NEMA L10-30R"
   807  	PowerOutletTemplateTypeLabelNEMAL10Dash30R string = "NEMA L10-30R"
   808  
   809  	// PowerOutletTemplateTypeLabelNEMAL14Dash20R captures enum value "NEMA L14-20R"
   810  	PowerOutletTemplateTypeLabelNEMAL14Dash20R string = "NEMA L14-20R"
   811  
   812  	// PowerOutletTemplateTypeLabelNEMAL14Dash30R captures enum value "NEMA L14-30R"
   813  	PowerOutletTemplateTypeLabelNEMAL14Dash30R string = "NEMA L14-30R"
   814  
   815  	// PowerOutletTemplateTypeLabelNEMAL14Dash50R captures enum value "NEMA L14-50R"
   816  	PowerOutletTemplateTypeLabelNEMAL14Dash50R string = "NEMA L14-50R"
   817  
   818  	// PowerOutletTemplateTypeLabelNEMAL14Dash60R captures enum value "NEMA L14-60R"
   819  	PowerOutletTemplateTypeLabelNEMAL14Dash60R string = "NEMA L14-60R"
   820  
   821  	// PowerOutletTemplateTypeLabelNEMAL15Dash20R captures enum value "NEMA L15-20R"
   822  	PowerOutletTemplateTypeLabelNEMAL15Dash20R string = "NEMA L15-20R"
   823  
   824  	// PowerOutletTemplateTypeLabelNEMAL15Dash30R captures enum value "NEMA L15-30R"
   825  	PowerOutletTemplateTypeLabelNEMAL15Dash30R string = "NEMA L15-30R"
   826  
   827  	// PowerOutletTemplateTypeLabelNEMAL15Dash50R captures enum value "NEMA L15-50R"
   828  	PowerOutletTemplateTypeLabelNEMAL15Dash50R string = "NEMA L15-50R"
   829  
   830  	// PowerOutletTemplateTypeLabelNEMAL15Dash60R captures enum value "NEMA L15-60R"
   831  	PowerOutletTemplateTypeLabelNEMAL15Dash60R string = "NEMA L15-60R"
   832  
   833  	// PowerOutletTemplateTypeLabelNEMAL21Dash20R captures enum value "NEMA L21-20R"
   834  	PowerOutletTemplateTypeLabelNEMAL21Dash20R string = "NEMA L21-20R"
   835  
   836  	// PowerOutletTemplateTypeLabelNEMAL21Dash30R captures enum value "NEMA L21-30R"
   837  	PowerOutletTemplateTypeLabelNEMAL21Dash30R string = "NEMA L21-30R"
   838  
   839  	// PowerOutletTemplateTypeLabelCS6360C captures enum value "CS6360C"
   840  	PowerOutletTemplateTypeLabelCS6360C string = "CS6360C"
   841  
   842  	// PowerOutletTemplateTypeLabelCS6364C captures enum value "CS6364C"
   843  	PowerOutletTemplateTypeLabelCS6364C string = "CS6364C"
   844  
   845  	// PowerOutletTemplateTypeLabelCS8164C captures enum value "CS8164C"
   846  	PowerOutletTemplateTypeLabelCS8164C string = "CS8164C"
   847  
   848  	// PowerOutletTemplateTypeLabelCS8264C captures enum value "CS8264C"
   849  	PowerOutletTemplateTypeLabelCS8264C string = "CS8264C"
   850  
   851  	// PowerOutletTemplateTypeLabelCS8364C captures enum value "CS8364C"
   852  	PowerOutletTemplateTypeLabelCS8364C string = "CS8364C"
   853  
   854  	// PowerOutletTemplateTypeLabelCS8464C captures enum value "CS8464C"
   855  	PowerOutletTemplateTypeLabelCS8464C string = "CS8464C"
   856  
   857  	// PowerOutletTemplateTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE7/5)"
   858  	PowerOutletTemplateTypeLabelITATypeECEE75 string = "ITA Type E (CEE7/5)"
   859  
   860  	// PowerOutletTemplateTypeLabelITATypeFCEE73 captures enum value "ITA Type F (CEE7/3)"
   861  	PowerOutletTemplateTypeLabelITATypeFCEE73 string = "ITA Type F (CEE7/3)"
   862  
   863  	// PowerOutletTemplateTypeLabelITATypeGBS1363 captures enum value "ITA Type G (BS 1363)"
   864  	PowerOutletTemplateTypeLabelITATypeGBS1363 string = "ITA Type G (BS 1363)"
   865  
   866  	// PowerOutletTemplateTypeLabelITATypeH captures enum value "ITA Type H"
   867  	PowerOutletTemplateTypeLabelITATypeH string = "ITA Type H"
   868  
   869  	// PowerOutletTemplateTypeLabelITATypeI captures enum value "ITA Type I"
   870  	PowerOutletTemplateTypeLabelITATypeI string = "ITA Type I"
   871  
   872  	// PowerOutletTemplateTypeLabelITATypeJ captures enum value "ITA Type J"
   873  	PowerOutletTemplateTypeLabelITATypeJ string = "ITA Type J"
   874  
   875  	// PowerOutletTemplateTypeLabelITATypeK captures enum value "ITA Type K"
   876  	PowerOutletTemplateTypeLabelITATypeK string = "ITA Type K"
   877  
   878  	// PowerOutletTemplateTypeLabelITATypeLCEI23Dash50 captures enum value "ITA Type L (CEI 23-50)"
   879  	PowerOutletTemplateTypeLabelITATypeLCEI23Dash50 string = "ITA Type L (CEI 23-50)"
   880  
   881  	// PowerOutletTemplateTypeLabelITATypeMBS546 captures enum value "ITA Type M (BS 546)"
   882  	PowerOutletTemplateTypeLabelITATypeMBS546 string = "ITA Type M (BS 546)"
   883  
   884  	// PowerOutletTemplateTypeLabelITATypeN captures enum value "ITA Type N"
   885  	PowerOutletTemplateTypeLabelITATypeN string = "ITA Type N"
   886  
   887  	// PowerOutletTemplateTypeLabelITATypeO captures enum value "ITA Type O"
   888  	PowerOutletTemplateTypeLabelITATypeO string = "ITA Type O"
   889  
   890  	// PowerOutletTemplateTypeLabelUSBTypeA captures enum value "USB Type A"
   891  	PowerOutletTemplateTypeLabelUSBTypeA string = "USB Type A"
   892  
   893  	// PowerOutletTemplateTypeLabelUSBMicroB captures enum value "USB Micro B"
   894  	PowerOutletTemplateTypeLabelUSBMicroB string = "USB Micro B"
   895  
   896  	// PowerOutletTemplateTypeLabelUSBTypeC captures enum value "USB Type C"
   897  	PowerOutletTemplateTypeLabelUSBTypeC string = "USB Type C"
   898  
   899  	// PowerOutletTemplateTypeLabelDCTerminal captures enum value "DC Terminal"
   900  	PowerOutletTemplateTypeLabelDCTerminal string = "DC Terminal"
   901  
   902  	// PowerOutletTemplateTypeLabelHDOTCx captures enum value "HDOT Cx"
   903  	PowerOutletTemplateTypeLabelHDOTCx string = "HDOT Cx"
   904  
   905  	// PowerOutletTemplateTypeLabelSafDashDDashGrid captures enum value "Saf-D-Grid"
   906  	PowerOutletTemplateTypeLabelSafDashDDashGrid string = "Saf-D-Grid"
   907  )
   908  
   909  // prop value enum
   910  func (m *PowerOutletTemplateType) validateLabelEnum(path, location string, value string) error {
   911  	if err := validate.EnumCase(path, location, value, powerOutletTemplateTypeTypeLabelPropEnum, true); err != nil {
   912  		return err
   913  	}
   914  	return nil
   915  }
   916  
   917  func (m *PowerOutletTemplateType) validateLabel(formats strfmt.Registry) error {
   918  
   919  	if err := validate.Required("type"+"."+"label", "body", m.Label); err != nil {
   920  		return err
   921  	}
   922  
   923  	// value enum
   924  	if err := m.validateLabelEnum("type"+"."+"label", "body", *m.Label); err != nil {
   925  		return err
   926  	}
   927  
   928  	return nil
   929  }
   930  
   931  var powerOutletTemplateTypeTypeValuePropEnum []interface{}
   932  
   933  func init() {
   934  	var res []string
   935  	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 {
   936  		panic(err)
   937  	}
   938  	for _, v := range res {
   939  		powerOutletTemplateTypeTypeValuePropEnum = append(powerOutletTemplateTypeTypeValuePropEnum, v)
   940  	}
   941  }
   942  
   943  const (
   944  
   945  	// PowerOutletTemplateTypeValueIecDash60320DashC5 captures enum value "iec-60320-c5"
   946  	PowerOutletTemplateTypeValueIecDash60320DashC5 string = "iec-60320-c5"
   947  
   948  	// PowerOutletTemplateTypeValueIecDash60320DashC7 captures enum value "iec-60320-c7"
   949  	PowerOutletTemplateTypeValueIecDash60320DashC7 string = "iec-60320-c7"
   950  
   951  	// PowerOutletTemplateTypeValueIecDash60320DashC13 captures enum value "iec-60320-c13"
   952  	PowerOutletTemplateTypeValueIecDash60320DashC13 string = "iec-60320-c13"
   953  
   954  	// PowerOutletTemplateTypeValueIecDash60320DashC15 captures enum value "iec-60320-c15"
   955  	PowerOutletTemplateTypeValueIecDash60320DashC15 string = "iec-60320-c15"
   956  
   957  	// PowerOutletTemplateTypeValueIecDash60320DashC19 captures enum value "iec-60320-c19"
   958  	PowerOutletTemplateTypeValueIecDash60320DashC19 string = "iec-60320-c19"
   959  
   960  	// PowerOutletTemplateTypeValueIecDash60320DashC21 captures enum value "iec-60320-c21"
   961  	PowerOutletTemplateTypeValueIecDash60320DashC21 string = "iec-60320-c21"
   962  
   963  	// PowerOutletTemplateTypeValueIecDash60309DashpDashnDasheDash4h captures enum value "iec-60309-p-n-e-4h"
   964  	PowerOutletTemplateTypeValueIecDash60309DashpDashnDasheDash4h string = "iec-60309-p-n-e-4h"
   965  
   966  	// PowerOutletTemplateTypeValueIecDash60309DashpDashnDasheDash6h captures enum value "iec-60309-p-n-e-6h"
   967  	PowerOutletTemplateTypeValueIecDash60309DashpDashnDasheDash6h string = "iec-60309-p-n-e-6h"
   968  
   969  	// PowerOutletTemplateTypeValueIecDash60309DashpDashnDasheDash9h captures enum value "iec-60309-p-n-e-9h"
   970  	PowerOutletTemplateTypeValueIecDash60309DashpDashnDasheDash9h string = "iec-60309-p-n-e-9h"
   971  
   972  	// PowerOutletTemplateTypeValueIecDash60309Dash2pDasheDash4h captures enum value "iec-60309-2p-e-4h"
   973  	PowerOutletTemplateTypeValueIecDash60309Dash2pDasheDash4h string = "iec-60309-2p-e-4h"
   974  
   975  	// PowerOutletTemplateTypeValueIecDash60309Dash2pDasheDash6h captures enum value "iec-60309-2p-e-6h"
   976  	PowerOutletTemplateTypeValueIecDash60309Dash2pDasheDash6h string = "iec-60309-2p-e-6h"
   977  
   978  	// PowerOutletTemplateTypeValueIecDash60309Dash2pDasheDash9h captures enum value "iec-60309-2p-e-9h"
   979  	PowerOutletTemplateTypeValueIecDash60309Dash2pDasheDash9h string = "iec-60309-2p-e-9h"
   980  
   981  	// PowerOutletTemplateTypeValueIecDash60309Dash3pDasheDash4h captures enum value "iec-60309-3p-e-4h"
   982  	PowerOutletTemplateTypeValueIecDash60309Dash3pDasheDash4h string = "iec-60309-3p-e-4h"
   983  
   984  	// PowerOutletTemplateTypeValueIecDash60309Dash3pDasheDash6h captures enum value "iec-60309-3p-e-6h"
   985  	PowerOutletTemplateTypeValueIecDash60309Dash3pDasheDash6h string = "iec-60309-3p-e-6h"
   986  
   987  	// PowerOutletTemplateTypeValueIecDash60309Dash3pDasheDash9h captures enum value "iec-60309-3p-e-9h"
   988  	PowerOutletTemplateTypeValueIecDash60309Dash3pDasheDash9h string = "iec-60309-3p-e-9h"
   989  
   990  	// PowerOutletTemplateTypeValueIecDash60309Dash3pDashnDasheDash4h captures enum value "iec-60309-3p-n-e-4h"
   991  	PowerOutletTemplateTypeValueIecDash60309Dash3pDashnDasheDash4h string = "iec-60309-3p-n-e-4h"
   992  
   993  	// PowerOutletTemplateTypeValueIecDash60309Dash3pDashnDasheDash6h captures enum value "iec-60309-3p-n-e-6h"
   994  	PowerOutletTemplateTypeValueIecDash60309Dash3pDashnDasheDash6h string = "iec-60309-3p-n-e-6h"
   995  
   996  	// PowerOutletTemplateTypeValueIecDash60309Dash3pDashnDasheDash9h captures enum value "iec-60309-3p-n-e-9h"
   997  	PowerOutletTemplateTypeValueIecDash60309Dash3pDashnDasheDash9h string = "iec-60309-3p-n-e-9h"
   998  
   999  	// PowerOutletTemplateTypeValueNemaDash1Dash15r captures enum value "nema-1-15r"
  1000  	PowerOutletTemplateTypeValueNemaDash1Dash15r string = "nema-1-15r"
  1001  
  1002  	// PowerOutletTemplateTypeValueNemaDash5Dash15r captures enum value "nema-5-15r"
  1003  	PowerOutletTemplateTypeValueNemaDash5Dash15r string = "nema-5-15r"
  1004  
  1005  	// PowerOutletTemplateTypeValueNemaDash5Dash20r captures enum value "nema-5-20r"
  1006  	PowerOutletTemplateTypeValueNemaDash5Dash20r string = "nema-5-20r"
  1007  
  1008  	// PowerOutletTemplateTypeValueNemaDash5Dash30r captures enum value "nema-5-30r"
  1009  	PowerOutletTemplateTypeValueNemaDash5Dash30r string = "nema-5-30r"
  1010  
  1011  	// PowerOutletTemplateTypeValueNemaDash5Dash50r captures enum value "nema-5-50r"
  1012  	PowerOutletTemplateTypeValueNemaDash5Dash50r string = "nema-5-50r"
  1013  
  1014  	// PowerOutletTemplateTypeValueNemaDash6Dash15r captures enum value "nema-6-15r"
  1015  	PowerOutletTemplateTypeValueNemaDash6Dash15r string = "nema-6-15r"
  1016  
  1017  	// PowerOutletTemplateTypeValueNemaDash6Dash20r captures enum value "nema-6-20r"
  1018  	PowerOutletTemplateTypeValueNemaDash6Dash20r string = "nema-6-20r"
  1019  
  1020  	// PowerOutletTemplateTypeValueNemaDash6Dash30r captures enum value "nema-6-30r"
  1021  	PowerOutletTemplateTypeValueNemaDash6Dash30r string = "nema-6-30r"
  1022  
  1023  	// PowerOutletTemplateTypeValueNemaDash6Dash50r captures enum value "nema-6-50r"
  1024  	PowerOutletTemplateTypeValueNemaDash6Dash50r string = "nema-6-50r"
  1025  
  1026  	// PowerOutletTemplateTypeValueNemaDash10Dash30r captures enum value "nema-10-30r"
  1027  	PowerOutletTemplateTypeValueNemaDash10Dash30r string = "nema-10-30r"
  1028  
  1029  	// PowerOutletTemplateTypeValueNemaDash10Dash50r captures enum value "nema-10-50r"
  1030  	PowerOutletTemplateTypeValueNemaDash10Dash50r string = "nema-10-50r"
  1031  
  1032  	// PowerOutletTemplateTypeValueNemaDash14Dash20r captures enum value "nema-14-20r"
  1033  	PowerOutletTemplateTypeValueNemaDash14Dash20r string = "nema-14-20r"
  1034  
  1035  	// PowerOutletTemplateTypeValueNemaDash14Dash30r captures enum value "nema-14-30r"
  1036  	PowerOutletTemplateTypeValueNemaDash14Dash30r string = "nema-14-30r"
  1037  
  1038  	// PowerOutletTemplateTypeValueNemaDash14Dash50r captures enum value "nema-14-50r"
  1039  	PowerOutletTemplateTypeValueNemaDash14Dash50r string = "nema-14-50r"
  1040  
  1041  	// PowerOutletTemplateTypeValueNemaDash14Dash60r captures enum value "nema-14-60r"
  1042  	PowerOutletTemplateTypeValueNemaDash14Dash60r string = "nema-14-60r"
  1043  
  1044  	// PowerOutletTemplateTypeValueNemaDash15Dash15r captures enum value "nema-15-15r"
  1045  	PowerOutletTemplateTypeValueNemaDash15Dash15r string = "nema-15-15r"
  1046  
  1047  	// PowerOutletTemplateTypeValueNemaDash15Dash20r captures enum value "nema-15-20r"
  1048  	PowerOutletTemplateTypeValueNemaDash15Dash20r string = "nema-15-20r"
  1049  
  1050  	// PowerOutletTemplateTypeValueNemaDash15Dash30r captures enum value "nema-15-30r"
  1051  	PowerOutletTemplateTypeValueNemaDash15Dash30r string = "nema-15-30r"
  1052  
  1053  	// PowerOutletTemplateTypeValueNemaDash15Dash50r captures enum value "nema-15-50r"
  1054  	PowerOutletTemplateTypeValueNemaDash15Dash50r string = "nema-15-50r"
  1055  
  1056  	// PowerOutletTemplateTypeValueNemaDash15Dash60r captures enum value "nema-15-60r"
  1057  	PowerOutletTemplateTypeValueNemaDash15Dash60r string = "nema-15-60r"
  1058  
  1059  	// PowerOutletTemplateTypeValueNemaDashL1Dash15r captures enum value "nema-l1-15r"
  1060  	PowerOutletTemplateTypeValueNemaDashL1Dash15r string = "nema-l1-15r"
  1061  
  1062  	// PowerOutletTemplateTypeValueNemaDashL5Dash15r captures enum value "nema-l5-15r"
  1063  	PowerOutletTemplateTypeValueNemaDashL5Dash15r string = "nema-l5-15r"
  1064  
  1065  	// PowerOutletTemplateTypeValueNemaDashL5Dash20r captures enum value "nema-l5-20r"
  1066  	PowerOutletTemplateTypeValueNemaDashL5Dash20r string = "nema-l5-20r"
  1067  
  1068  	// PowerOutletTemplateTypeValueNemaDashL5Dash30r captures enum value "nema-l5-30r"
  1069  	PowerOutletTemplateTypeValueNemaDashL5Dash30r string = "nema-l5-30r"
  1070  
  1071  	// PowerOutletTemplateTypeValueNemaDashL5Dash50r captures enum value "nema-l5-50r"
  1072  	PowerOutletTemplateTypeValueNemaDashL5Dash50r string = "nema-l5-50r"
  1073  
  1074  	// PowerOutletTemplateTypeValueNemaDashL6Dash15r captures enum value "nema-l6-15r"
  1075  	PowerOutletTemplateTypeValueNemaDashL6Dash15r string = "nema-l6-15r"
  1076  
  1077  	// PowerOutletTemplateTypeValueNemaDashL6Dash20r captures enum value "nema-l6-20r"
  1078  	PowerOutletTemplateTypeValueNemaDashL6Dash20r string = "nema-l6-20r"
  1079  
  1080  	// PowerOutletTemplateTypeValueNemaDashL6Dash30r captures enum value "nema-l6-30r"
  1081  	PowerOutletTemplateTypeValueNemaDashL6Dash30r string = "nema-l6-30r"
  1082  
  1083  	// PowerOutletTemplateTypeValueNemaDashL6Dash50r captures enum value "nema-l6-50r"
  1084  	PowerOutletTemplateTypeValueNemaDashL6Dash50r string = "nema-l6-50r"
  1085  
  1086  	// PowerOutletTemplateTypeValueNemaDashL10Dash30r captures enum value "nema-l10-30r"
  1087  	PowerOutletTemplateTypeValueNemaDashL10Dash30r string = "nema-l10-30r"
  1088  
  1089  	// PowerOutletTemplateTypeValueNemaDashL14Dash20r captures enum value "nema-l14-20r"
  1090  	PowerOutletTemplateTypeValueNemaDashL14Dash20r string = "nema-l14-20r"
  1091  
  1092  	// PowerOutletTemplateTypeValueNemaDashL14Dash30r captures enum value "nema-l14-30r"
  1093  	PowerOutletTemplateTypeValueNemaDashL14Dash30r string = "nema-l14-30r"
  1094  
  1095  	// PowerOutletTemplateTypeValueNemaDashL14Dash50r captures enum value "nema-l14-50r"
  1096  	PowerOutletTemplateTypeValueNemaDashL14Dash50r string = "nema-l14-50r"
  1097  
  1098  	// PowerOutletTemplateTypeValueNemaDashL14Dash60r captures enum value "nema-l14-60r"
  1099  	PowerOutletTemplateTypeValueNemaDashL14Dash60r string = "nema-l14-60r"
  1100  
  1101  	// PowerOutletTemplateTypeValueNemaDashL15Dash20r captures enum value "nema-l15-20r"
  1102  	PowerOutletTemplateTypeValueNemaDashL15Dash20r string = "nema-l15-20r"
  1103  
  1104  	// PowerOutletTemplateTypeValueNemaDashL15Dash30r captures enum value "nema-l15-30r"
  1105  	PowerOutletTemplateTypeValueNemaDashL15Dash30r string = "nema-l15-30r"
  1106  
  1107  	// PowerOutletTemplateTypeValueNemaDashL15Dash50r captures enum value "nema-l15-50r"
  1108  	PowerOutletTemplateTypeValueNemaDashL15Dash50r string = "nema-l15-50r"
  1109  
  1110  	// PowerOutletTemplateTypeValueNemaDashL15Dash60r captures enum value "nema-l15-60r"
  1111  	PowerOutletTemplateTypeValueNemaDashL15Dash60r string = "nema-l15-60r"
  1112  
  1113  	// PowerOutletTemplateTypeValueNemaDashL21Dash20r captures enum value "nema-l21-20r"
  1114  	PowerOutletTemplateTypeValueNemaDashL21Dash20r string = "nema-l21-20r"
  1115  
  1116  	// PowerOutletTemplateTypeValueNemaDashL21Dash30r captures enum value "nema-l21-30r"
  1117  	PowerOutletTemplateTypeValueNemaDashL21Dash30r string = "nema-l21-30r"
  1118  
  1119  	// PowerOutletTemplateTypeValueCS6360C captures enum value "CS6360C"
  1120  	PowerOutletTemplateTypeValueCS6360C string = "CS6360C"
  1121  
  1122  	// PowerOutletTemplateTypeValueCS6364C captures enum value "CS6364C"
  1123  	PowerOutletTemplateTypeValueCS6364C string = "CS6364C"
  1124  
  1125  	// PowerOutletTemplateTypeValueCS8164C captures enum value "CS8164C"
  1126  	PowerOutletTemplateTypeValueCS8164C string = "CS8164C"
  1127  
  1128  	// PowerOutletTemplateTypeValueCS8264C captures enum value "CS8264C"
  1129  	PowerOutletTemplateTypeValueCS8264C string = "CS8264C"
  1130  
  1131  	// PowerOutletTemplateTypeValueCS8364C captures enum value "CS8364C"
  1132  	PowerOutletTemplateTypeValueCS8364C string = "CS8364C"
  1133  
  1134  	// PowerOutletTemplateTypeValueCS8464C captures enum value "CS8464C"
  1135  	PowerOutletTemplateTypeValueCS8464C string = "CS8464C"
  1136  
  1137  	// PowerOutletTemplateTypeValueItaDashe captures enum value "ita-e"
  1138  	PowerOutletTemplateTypeValueItaDashe string = "ita-e"
  1139  
  1140  	// PowerOutletTemplateTypeValueItaDashf captures enum value "ita-f"
  1141  	PowerOutletTemplateTypeValueItaDashf string = "ita-f"
  1142  
  1143  	// PowerOutletTemplateTypeValueItaDashg captures enum value "ita-g"
  1144  	PowerOutletTemplateTypeValueItaDashg string = "ita-g"
  1145  
  1146  	// PowerOutletTemplateTypeValueItaDashh captures enum value "ita-h"
  1147  	PowerOutletTemplateTypeValueItaDashh string = "ita-h"
  1148  
  1149  	// PowerOutletTemplateTypeValueItaDashi captures enum value "ita-i"
  1150  	PowerOutletTemplateTypeValueItaDashi string = "ita-i"
  1151  
  1152  	// PowerOutletTemplateTypeValueItaDashj captures enum value "ita-j"
  1153  	PowerOutletTemplateTypeValueItaDashj string = "ita-j"
  1154  
  1155  	// PowerOutletTemplateTypeValueItaDashk captures enum value "ita-k"
  1156  	PowerOutletTemplateTypeValueItaDashk string = "ita-k"
  1157  
  1158  	// PowerOutletTemplateTypeValueItaDashl captures enum value "ita-l"
  1159  	PowerOutletTemplateTypeValueItaDashl string = "ita-l"
  1160  
  1161  	// PowerOutletTemplateTypeValueItaDashm captures enum value "ita-m"
  1162  	PowerOutletTemplateTypeValueItaDashm string = "ita-m"
  1163  
  1164  	// PowerOutletTemplateTypeValueItaDashn captures enum value "ita-n"
  1165  	PowerOutletTemplateTypeValueItaDashn string = "ita-n"
  1166  
  1167  	// PowerOutletTemplateTypeValueItaDasho captures enum value "ita-o"
  1168  	PowerOutletTemplateTypeValueItaDasho string = "ita-o"
  1169  
  1170  	// PowerOutletTemplateTypeValueUsbDasha captures enum value "usb-a"
  1171  	PowerOutletTemplateTypeValueUsbDasha string = "usb-a"
  1172  
  1173  	// PowerOutletTemplateTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
  1174  	PowerOutletTemplateTypeValueUsbDashMicroDashb string = "usb-micro-b"
  1175  
  1176  	// PowerOutletTemplateTypeValueUsbDashc captures enum value "usb-c"
  1177  	PowerOutletTemplateTypeValueUsbDashc string = "usb-c"
  1178  
  1179  	// PowerOutletTemplateTypeValueDcDashTerminal captures enum value "dc-terminal"
  1180  	PowerOutletTemplateTypeValueDcDashTerminal string = "dc-terminal"
  1181  
  1182  	// PowerOutletTemplateTypeValueHdotDashCx captures enum value "hdot-cx"
  1183  	PowerOutletTemplateTypeValueHdotDashCx string = "hdot-cx"
  1184  
  1185  	// PowerOutletTemplateTypeValueSafDashdDashGrid captures enum value "saf-d-grid"
  1186  	PowerOutletTemplateTypeValueSafDashdDashGrid string = "saf-d-grid"
  1187  )
  1188  
  1189  // prop value enum
  1190  func (m *PowerOutletTemplateType) validateValueEnum(path, location string, value string) error {
  1191  	if err := validate.EnumCase(path, location, value, powerOutletTemplateTypeTypeValuePropEnum, true); err != nil {
  1192  		return err
  1193  	}
  1194  	return nil
  1195  }
  1196  
  1197  func (m *PowerOutletTemplateType) validateValue(formats strfmt.Registry) error {
  1198  
  1199  	if err := validate.Required("type"+"."+"value", "body", m.Value); err != nil {
  1200  		return err
  1201  	}
  1202  
  1203  	// value enum
  1204  	if err := m.validateValueEnum("type"+"."+"value", "body", *m.Value); err != nil {
  1205  		return err
  1206  	}
  1207  
  1208  	return nil
  1209  }
  1210  
  1211  // ContextValidate validates this power outlet template type based on context it is used
  1212  func (m *PowerOutletTemplateType) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
  1213  	return nil
  1214  }
  1215  
  1216  // MarshalBinary interface implementation
  1217  func (m *PowerOutletTemplateType) MarshalBinary() ([]byte, error) {
  1218  	if m == nil {
  1219  		return nil, nil
  1220  	}
  1221  	return swag.WriteJSON(m)
  1222  }
  1223  
  1224  // UnmarshalBinary interface implementation
  1225  func (m *PowerOutletTemplateType) UnmarshalBinary(b []byte) error {
  1226  	var res PowerOutletTemplateType
  1227  	if err := swag.ReadJSON(b, &res); err != nil {
  1228  		return err
  1229  	}
  1230  	*m = res
  1231  	return nil
  1232  }