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

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  // Copyright 2020 The go-netbox Authors.
     4  //
     5  // Licensed under the Apache License, Version 2.0 (the "License");
     6  // you may not use this file except in compliance with the License.
     7  // You may obtain a copy of the License at
     8  //
     9  //   http://www.apache.org/licenses/LICENSE-2.0
    10  //
    11  // Unless required by applicable law or agreed to in writing, software
    12  // distributed under the License is distributed on an "AS IS" BASIS,
    13  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  // See the License for the specific language governing permissions and
    15  // limitations under the License.
    16  //
    17  
    18  package models
    19  
    20  // This file was generated by the swagger tool.
    21  // Editing this file might prove futile when you re-run the swagger generate command
    22  
    23  import (
    24  	"context"
    25  	"encoding/json"
    26  	"strconv"
    27  
    28  	"github.com/go-openapi/errors"
    29  	"github.com/go-openapi/strfmt"
    30  	"github.com/go-openapi/swag"
    31  	"github.com/go-openapi/validate"
    32  )
    33  
    34  // PowerFeed power feed
    35  //
    36  // swagger:model PowerFeed
    37  type PowerFeed struct {
    38  
    39  	// occupied
    40  	// Read Only: true
    41  	Occupied *bool `json:"_occupied,omitempty"`
    42  
    43  	// Amperage
    44  	// Maximum: 32767
    45  	// Minimum: 1
    46  	Amperage int64 `json:"amperage,omitempty"`
    47  
    48  	// cable
    49  	Cable *NestedCable `json:"cable,omitempty"`
    50  
    51  	// Cable peer
    52  	//
    53  	//
    54  	// Return the appropriate serializer for the cable termination model.
    55  	//
    56  	// Read Only: true
    57  	CablePeer map[string]*string `json:"cable_peer,omitempty"`
    58  
    59  	// Cable peer type
    60  	// Read Only: true
    61  	CablePeerType string `json:"cable_peer_type,omitempty"`
    62  
    63  	// Comments
    64  	Comments string `json:"comments,omitempty"`
    65  
    66  	// Connected endpoint
    67  	//
    68  	//
    69  	// Return the appropriate serializer for the type of connected object.
    70  	//
    71  	// Read Only: true
    72  	ConnectedEndpoint map[string]*string `json:"connected_endpoint,omitempty"`
    73  
    74  	// Connected endpoint reachable
    75  	// Read Only: true
    76  	ConnectedEndpointReachable *bool `json:"connected_endpoint_reachable,omitempty"`
    77  
    78  	// Connected endpoint type
    79  	// Read Only: true
    80  	ConnectedEndpointType string `json:"connected_endpoint_type,omitempty"`
    81  
    82  	// Created
    83  	// Read Only: true
    84  	// Format: date
    85  	Created strfmt.Date `json:"created,omitempty"`
    86  
    87  	// Custom fields
    88  	CustomFields interface{} `json:"custom_fields,omitempty"`
    89  
    90  	// Display
    91  	// Read Only: true
    92  	Display string `json:"display,omitempty"`
    93  
    94  	// Id
    95  	// Read Only: true
    96  	ID int64 `json:"id,omitempty"`
    97  
    98  	// Last updated
    99  	// Read Only: true
   100  	// Format: date-time
   101  	LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
   102  
   103  	// Mark connected
   104  	//
   105  	// Treat as if a cable is connected
   106  	MarkConnected bool `json:"mark_connected,omitempty"`
   107  
   108  	// Max utilization
   109  	//
   110  	// Maximum permissible draw (percentage)
   111  	// Maximum: 100
   112  	// Minimum: 1
   113  	MaxUtilization int64 `json:"max_utilization,omitempty"`
   114  
   115  	// Name
   116  	// Required: true
   117  	// Max Length: 100
   118  	// Min Length: 1
   119  	Name *string `json:"name"`
   120  
   121  	// phase
   122  	Phase *PowerFeedPhase `json:"phase,omitempty"`
   123  
   124  	// power panel
   125  	// Required: true
   126  	PowerPanel *NestedPowerPanel `json:"power_panel"`
   127  
   128  	// rack
   129  	Rack *NestedRack `json:"rack,omitempty"`
   130  
   131  	// status
   132  	Status *PowerFeedStatus `json:"status,omitempty"`
   133  
   134  	// supply
   135  	Supply *PowerFeedSupply `json:"supply,omitempty"`
   136  
   137  	// tags
   138  	Tags []*NestedTag `json:"tags"`
   139  
   140  	// type
   141  	Type *PowerFeedType `json:"type,omitempty"`
   142  
   143  	// Url
   144  	// Read Only: true
   145  	// Format: uri
   146  	URL strfmt.URI `json:"url,omitempty"`
   147  
   148  	// Voltage
   149  	// Maximum: 32767
   150  	// Minimum: -32768
   151  	Voltage *int64 `json:"voltage,omitempty"`
   152  }
   153  
   154  // Validate validates this power feed
   155  func (m *PowerFeed) Validate(formats strfmt.Registry) error {
   156  	var res []error
   157  
   158  	if err := m.validateAmperage(formats); err != nil {
   159  		res = append(res, err)
   160  	}
   161  
   162  	if err := m.validateCable(formats); err != nil {
   163  		res = append(res, err)
   164  	}
   165  
   166  	if err := m.validateCreated(formats); err != nil {
   167  		res = append(res, err)
   168  	}
   169  
   170  	if err := m.validateLastUpdated(formats); err != nil {
   171  		res = append(res, err)
   172  	}
   173  
   174  	if err := m.validateMaxUtilization(formats); err != nil {
   175  		res = append(res, err)
   176  	}
   177  
   178  	if err := m.validateName(formats); err != nil {
   179  		res = append(res, err)
   180  	}
   181  
   182  	if err := m.validatePhase(formats); err != nil {
   183  		res = append(res, err)
   184  	}
   185  
   186  	if err := m.validatePowerPanel(formats); err != nil {
   187  		res = append(res, err)
   188  	}
   189  
   190  	if err := m.validateRack(formats); err != nil {
   191  		res = append(res, err)
   192  	}
   193  
   194  	if err := m.validateStatus(formats); err != nil {
   195  		res = append(res, err)
   196  	}
   197  
   198  	if err := m.validateSupply(formats); err != nil {
   199  		res = append(res, err)
   200  	}
   201  
   202  	if err := m.validateTags(formats); err != nil {
   203  		res = append(res, err)
   204  	}
   205  
   206  	if err := m.validateType(formats); err != nil {
   207  		res = append(res, err)
   208  	}
   209  
   210  	if err := m.validateURL(formats); err != nil {
   211  		res = append(res, err)
   212  	}
   213  
   214  	if err := m.validateVoltage(formats); err != nil {
   215  		res = append(res, err)
   216  	}
   217  
   218  	if len(res) > 0 {
   219  		return errors.CompositeValidationError(res...)
   220  	}
   221  	return nil
   222  }
   223  
   224  func (m *PowerFeed) validateAmperage(formats strfmt.Registry) error {
   225  	if swag.IsZero(m.Amperage) { // not required
   226  		return nil
   227  	}
   228  
   229  	if err := validate.MinimumInt("amperage", "body", m.Amperage, 1, false); err != nil {
   230  		return err
   231  	}
   232  
   233  	if err := validate.MaximumInt("amperage", "body", m.Amperage, 32767, false); err != nil {
   234  		return err
   235  	}
   236  
   237  	return nil
   238  }
   239  
   240  func (m *PowerFeed) validateCable(formats strfmt.Registry) error {
   241  	if swag.IsZero(m.Cable) { // not required
   242  		return nil
   243  	}
   244  
   245  	if m.Cable != nil {
   246  		if err := m.Cable.Validate(formats); err != nil {
   247  			if ve, ok := err.(*errors.Validation); ok {
   248  				return ve.ValidateName("cable")
   249  			} else if ce, ok := err.(*errors.CompositeError); ok {
   250  				return ce.ValidateName("cable")
   251  			}
   252  			return err
   253  		}
   254  	}
   255  
   256  	return nil
   257  }
   258  
   259  func (m *PowerFeed) validateCreated(formats strfmt.Registry) error {
   260  	if swag.IsZero(m.Created) { // not required
   261  		return nil
   262  	}
   263  
   264  	if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
   265  		return err
   266  	}
   267  
   268  	return nil
   269  }
   270  
   271  func (m *PowerFeed) validateLastUpdated(formats strfmt.Registry) error {
   272  	if swag.IsZero(m.LastUpdated) { // not required
   273  		return nil
   274  	}
   275  
   276  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   277  		return err
   278  	}
   279  
   280  	return nil
   281  }
   282  
   283  func (m *PowerFeed) validateMaxUtilization(formats strfmt.Registry) error {
   284  	if swag.IsZero(m.MaxUtilization) { // not required
   285  		return nil
   286  	}
   287  
   288  	if err := validate.MinimumInt("max_utilization", "body", m.MaxUtilization, 1, false); err != nil {
   289  		return err
   290  	}
   291  
   292  	if err := validate.MaximumInt("max_utilization", "body", m.MaxUtilization, 100, false); err != nil {
   293  		return err
   294  	}
   295  
   296  	return nil
   297  }
   298  
   299  func (m *PowerFeed) validateName(formats strfmt.Registry) error {
   300  
   301  	if err := validate.Required("name", "body", m.Name); err != nil {
   302  		return err
   303  	}
   304  
   305  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   306  		return err
   307  	}
   308  
   309  	if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
   310  		return err
   311  	}
   312  
   313  	return nil
   314  }
   315  
   316  func (m *PowerFeed) validatePhase(formats strfmt.Registry) error {
   317  	if swag.IsZero(m.Phase) { // not required
   318  		return nil
   319  	}
   320  
   321  	if m.Phase != nil {
   322  		if err := m.Phase.Validate(formats); err != nil {
   323  			if ve, ok := err.(*errors.Validation); ok {
   324  				return ve.ValidateName("phase")
   325  			} else if ce, ok := err.(*errors.CompositeError); ok {
   326  				return ce.ValidateName("phase")
   327  			}
   328  			return err
   329  		}
   330  	}
   331  
   332  	return nil
   333  }
   334  
   335  func (m *PowerFeed) validatePowerPanel(formats strfmt.Registry) error {
   336  
   337  	if err := validate.Required("power_panel", "body", m.PowerPanel); err != nil {
   338  		return err
   339  	}
   340  
   341  	if m.PowerPanel != nil {
   342  		if err := m.PowerPanel.Validate(formats); err != nil {
   343  			if ve, ok := err.(*errors.Validation); ok {
   344  				return ve.ValidateName("power_panel")
   345  			} else if ce, ok := err.(*errors.CompositeError); ok {
   346  				return ce.ValidateName("power_panel")
   347  			}
   348  			return err
   349  		}
   350  	}
   351  
   352  	return nil
   353  }
   354  
   355  func (m *PowerFeed) validateRack(formats strfmt.Registry) error {
   356  	if swag.IsZero(m.Rack) { // not required
   357  		return nil
   358  	}
   359  
   360  	if m.Rack != nil {
   361  		if err := m.Rack.Validate(formats); err != nil {
   362  			if ve, ok := err.(*errors.Validation); ok {
   363  				return ve.ValidateName("rack")
   364  			} else if ce, ok := err.(*errors.CompositeError); ok {
   365  				return ce.ValidateName("rack")
   366  			}
   367  			return err
   368  		}
   369  	}
   370  
   371  	return nil
   372  }
   373  
   374  func (m *PowerFeed) validateStatus(formats strfmt.Registry) error {
   375  	if swag.IsZero(m.Status) { // not required
   376  		return nil
   377  	}
   378  
   379  	if m.Status != nil {
   380  		if err := m.Status.Validate(formats); err != nil {
   381  			if ve, ok := err.(*errors.Validation); ok {
   382  				return ve.ValidateName("status")
   383  			} else if ce, ok := err.(*errors.CompositeError); ok {
   384  				return ce.ValidateName("status")
   385  			}
   386  			return err
   387  		}
   388  	}
   389  
   390  	return nil
   391  }
   392  
   393  func (m *PowerFeed) validateSupply(formats strfmt.Registry) error {
   394  	if swag.IsZero(m.Supply) { // not required
   395  		return nil
   396  	}
   397  
   398  	if m.Supply != nil {
   399  		if err := m.Supply.Validate(formats); err != nil {
   400  			if ve, ok := err.(*errors.Validation); ok {
   401  				return ve.ValidateName("supply")
   402  			} else if ce, ok := err.(*errors.CompositeError); ok {
   403  				return ce.ValidateName("supply")
   404  			}
   405  			return err
   406  		}
   407  	}
   408  
   409  	return nil
   410  }
   411  
   412  func (m *PowerFeed) validateTags(formats strfmt.Registry) error {
   413  	if swag.IsZero(m.Tags) { // not required
   414  		return nil
   415  	}
   416  
   417  	for i := 0; i < len(m.Tags); i++ {
   418  		if swag.IsZero(m.Tags[i]) { // not required
   419  			continue
   420  		}
   421  
   422  		if m.Tags[i] != nil {
   423  			if err := m.Tags[i].Validate(formats); err != nil {
   424  				if ve, ok := err.(*errors.Validation); ok {
   425  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   426  				} else if ce, ok := err.(*errors.CompositeError); ok {
   427  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   428  				}
   429  				return err
   430  			}
   431  		}
   432  
   433  	}
   434  
   435  	return nil
   436  }
   437  
   438  func (m *PowerFeed) validateType(formats strfmt.Registry) error {
   439  	if swag.IsZero(m.Type) { // not required
   440  		return nil
   441  	}
   442  
   443  	if m.Type != nil {
   444  		if err := m.Type.Validate(formats); err != nil {
   445  			if ve, ok := err.(*errors.Validation); ok {
   446  				return ve.ValidateName("type")
   447  			} else if ce, ok := err.(*errors.CompositeError); ok {
   448  				return ce.ValidateName("type")
   449  			}
   450  			return err
   451  		}
   452  	}
   453  
   454  	return nil
   455  }
   456  
   457  func (m *PowerFeed) validateURL(formats strfmt.Registry) error {
   458  	if swag.IsZero(m.URL) { // not required
   459  		return nil
   460  	}
   461  
   462  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   463  		return err
   464  	}
   465  
   466  	return nil
   467  }
   468  
   469  func (m *PowerFeed) validateVoltage(formats strfmt.Registry) error {
   470  	if swag.IsZero(m.Voltage) { // not required
   471  		return nil
   472  	}
   473  
   474  	if err := validate.MinimumInt("voltage", "body", *m.Voltage, -32768, false); err != nil {
   475  		return err
   476  	}
   477  
   478  	if err := validate.MaximumInt("voltage", "body", *m.Voltage, 32767, false); err != nil {
   479  		return err
   480  	}
   481  
   482  	return nil
   483  }
   484  
   485  // ContextValidate validate this power feed based on the context it is used
   486  func (m *PowerFeed) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   487  	var res []error
   488  
   489  	if err := m.contextValidateOccupied(ctx, formats); err != nil {
   490  		res = append(res, err)
   491  	}
   492  
   493  	if err := m.contextValidateCable(ctx, formats); err != nil {
   494  		res = append(res, err)
   495  	}
   496  
   497  	if err := m.contextValidateCablePeer(ctx, formats); err != nil {
   498  		res = append(res, err)
   499  	}
   500  
   501  	if err := m.contextValidateCablePeerType(ctx, formats); err != nil {
   502  		res = append(res, err)
   503  	}
   504  
   505  	if err := m.contextValidateConnectedEndpoint(ctx, formats); err != nil {
   506  		res = append(res, err)
   507  	}
   508  
   509  	if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil {
   510  		res = append(res, err)
   511  	}
   512  
   513  	if err := m.contextValidateConnectedEndpointType(ctx, formats); err != nil {
   514  		res = append(res, err)
   515  	}
   516  
   517  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   518  		res = append(res, err)
   519  	}
   520  
   521  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   522  		res = append(res, err)
   523  	}
   524  
   525  	if err := m.contextValidateID(ctx, formats); err != nil {
   526  		res = append(res, err)
   527  	}
   528  
   529  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   530  		res = append(res, err)
   531  	}
   532  
   533  	if err := m.contextValidatePhase(ctx, formats); err != nil {
   534  		res = append(res, err)
   535  	}
   536  
   537  	if err := m.contextValidatePowerPanel(ctx, formats); err != nil {
   538  		res = append(res, err)
   539  	}
   540  
   541  	if err := m.contextValidateRack(ctx, formats); err != nil {
   542  		res = append(res, err)
   543  	}
   544  
   545  	if err := m.contextValidateStatus(ctx, formats); err != nil {
   546  		res = append(res, err)
   547  	}
   548  
   549  	if err := m.contextValidateSupply(ctx, formats); err != nil {
   550  		res = append(res, err)
   551  	}
   552  
   553  	if err := m.contextValidateTags(ctx, formats); err != nil {
   554  		res = append(res, err)
   555  	}
   556  
   557  	if err := m.contextValidateType(ctx, formats); err != nil {
   558  		res = append(res, err)
   559  	}
   560  
   561  	if err := m.contextValidateURL(ctx, formats); err != nil {
   562  		res = append(res, err)
   563  	}
   564  
   565  	if len(res) > 0 {
   566  		return errors.CompositeValidationError(res...)
   567  	}
   568  	return nil
   569  }
   570  
   571  func (m *PowerFeed) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error {
   572  
   573  	if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil {
   574  		return err
   575  	}
   576  
   577  	return nil
   578  }
   579  
   580  func (m *PowerFeed) contextValidateCable(ctx context.Context, formats strfmt.Registry) error {
   581  
   582  	if m.Cable != nil {
   583  		if err := m.Cable.ContextValidate(ctx, formats); err != nil {
   584  			if ve, ok := err.(*errors.Validation); ok {
   585  				return ve.ValidateName("cable")
   586  			} else if ce, ok := err.(*errors.CompositeError); ok {
   587  				return ce.ValidateName("cable")
   588  			}
   589  			return err
   590  		}
   591  	}
   592  
   593  	return nil
   594  }
   595  
   596  func (m *PowerFeed) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error {
   597  
   598  	return nil
   599  }
   600  
   601  func (m *PowerFeed) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error {
   602  
   603  	if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil {
   604  		return err
   605  	}
   606  
   607  	return nil
   608  }
   609  
   610  func (m *PowerFeed) contextValidateConnectedEndpoint(ctx context.Context, formats strfmt.Registry) error {
   611  
   612  	return nil
   613  }
   614  
   615  func (m *PowerFeed) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error {
   616  
   617  	if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil {
   618  		return err
   619  	}
   620  
   621  	return nil
   622  }
   623  
   624  func (m *PowerFeed) contextValidateConnectedEndpointType(ctx context.Context, formats strfmt.Registry) error {
   625  
   626  	if err := validate.ReadOnly(ctx, "connected_endpoint_type", "body", string(m.ConnectedEndpointType)); err != nil {
   627  		return err
   628  	}
   629  
   630  	return nil
   631  }
   632  
   633  func (m *PowerFeed) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   634  
   635  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   636  		return err
   637  	}
   638  
   639  	return nil
   640  }
   641  
   642  func (m *PowerFeed) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   643  
   644  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   645  		return err
   646  	}
   647  
   648  	return nil
   649  }
   650  
   651  func (m *PowerFeed) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   652  
   653  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   654  		return err
   655  	}
   656  
   657  	return nil
   658  }
   659  
   660  func (m *PowerFeed) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   661  
   662  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   663  		return err
   664  	}
   665  
   666  	return nil
   667  }
   668  
   669  func (m *PowerFeed) contextValidatePhase(ctx context.Context, formats strfmt.Registry) error {
   670  
   671  	if m.Phase != nil {
   672  		if err := m.Phase.ContextValidate(ctx, formats); err != nil {
   673  			if ve, ok := err.(*errors.Validation); ok {
   674  				return ve.ValidateName("phase")
   675  			} else if ce, ok := err.(*errors.CompositeError); ok {
   676  				return ce.ValidateName("phase")
   677  			}
   678  			return err
   679  		}
   680  	}
   681  
   682  	return nil
   683  }
   684  
   685  func (m *PowerFeed) contextValidatePowerPanel(ctx context.Context, formats strfmt.Registry) error {
   686  
   687  	if m.PowerPanel != nil {
   688  		if err := m.PowerPanel.ContextValidate(ctx, formats); err != nil {
   689  			if ve, ok := err.(*errors.Validation); ok {
   690  				return ve.ValidateName("power_panel")
   691  			} else if ce, ok := err.(*errors.CompositeError); ok {
   692  				return ce.ValidateName("power_panel")
   693  			}
   694  			return err
   695  		}
   696  	}
   697  
   698  	return nil
   699  }
   700  
   701  func (m *PowerFeed) contextValidateRack(ctx context.Context, formats strfmt.Registry) error {
   702  
   703  	if m.Rack != nil {
   704  		if err := m.Rack.ContextValidate(ctx, formats); err != nil {
   705  			if ve, ok := err.(*errors.Validation); ok {
   706  				return ve.ValidateName("rack")
   707  			} else if ce, ok := err.(*errors.CompositeError); ok {
   708  				return ce.ValidateName("rack")
   709  			}
   710  			return err
   711  		}
   712  	}
   713  
   714  	return nil
   715  }
   716  
   717  func (m *PowerFeed) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error {
   718  
   719  	if m.Status != nil {
   720  		if err := m.Status.ContextValidate(ctx, formats); err != nil {
   721  			if ve, ok := err.(*errors.Validation); ok {
   722  				return ve.ValidateName("status")
   723  			} else if ce, ok := err.(*errors.CompositeError); ok {
   724  				return ce.ValidateName("status")
   725  			}
   726  			return err
   727  		}
   728  	}
   729  
   730  	return nil
   731  }
   732  
   733  func (m *PowerFeed) contextValidateSupply(ctx context.Context, formats strfmt.Registry) error {
   734  
   735  	if m.Supply != nil {
   736  		if err := m.Supply.ContextValidate(ctx, formats); err != nil {
   737  			if ve, ok := err.(*errors.Validation); ok {
   738  				return ve.ValidateName("supply")
   739  			} else if ce, ok := err.(*errors.CompositeError); ok {
   740  				return ce.ValidateName("supply")
   741  			}
   742  			return err
   743  		}
   744  	}
   745  
   746  	return nil
   747  }
   748  
   749  func (m *PowerFeed) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
   750  
   751  	for i := 0; i < len(m.Tags); i++ {
   752  
   753  		if m.Tags[i] != nil {
   754  			if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
   755  				if ve, ok := err.(*errors.Validation); ok {
   756  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   757  				} else if ce, ok := err.(*errors.CompositeError); ok {
   758  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   759  				}
   760  				return err
   761  			}
   762  		}
   763  
   764  	}
   765  
   766  	return nil
   767  }
   768  
   769  func (m *PowerFeed) contextValidateType(ctx context.Context, formats strfmt.Registry) error {
   770  
   771  	if m.Type != nil {
   772  		if err := m.Type.ContextValidate(ctx, formats); err != nil {
   773  			if ve, ok := err.(*errors.Validation); ok {
   774  				return ve.ValidateName("type")
   775  			} else if ce, ok := err.(*errors.CompositeError); ok {
   776  				return ce.ValidateName("type")
   777  			}
   778  			return err
   779  		}
   780  	}
   781  
   782  	return nil
   783  }
   784  
   785  func (m *PowerFeed) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   786  
   787  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   788  		return err
   789  	}
   790  
   791  	return nil
   792  }
   793  
   794  // MarshalBinary interface implementation
   795  func (m *PowerFeed) MarshalBinary() ([]byte, error) {
   796  	if m == nil {
   797  		return nil, nil
   798  	}
   799  	return swag.WriteJSON(m)
   800  }
   801  
   802  // UnmarshalBinary interface implementation
   803  func (m *PowerFeed) UnmarshalBinary(b []byte) error {
   804  	var res PowerFeed
   805  	if err := swag.ReadJSON(b, &res); err != nil {
   806  		return err
   807  	}
   808  	*m = res
   809  	return nil
   810  }
   811  
   812  // PowerFeedPhase Phase
   813  //
   814  // swagger:model PowerFeedPhase
   815  type PowerFeedPhase struct {
   816  
   817  	// label
   818  	// Required: true
   819  	// Enum: [Single phase Three-phase]
   820  	Label *string `json:"label"`
   821  
   822  	// value
   823  	// Required: true
   824  	// Enum: [single-phase three-phase]
   825  	Value *string `json:"value"`
   826  }
   827  
   828  func (m *PowerFeedPhase) UnmarshalJSON(b []byte) error {
   829  	type PowerFeedPhaseAlias PowerFeedPhase
   830  	var t PowerFeedPhaseAlias
   831  	if err := json.Unmarshal([]byte("{\"label\":\"Single phase\",\"value\":\"single-phase\"}"), &t); err != nil {
   832  		return err
   833  	}
   834  	if err := json.Unmarshal(b, &t); err != nil {
   835  		return err
   836  	}
   837  	*m = PowerFeedPhase(t)
   838  	return nil
   839  }
   840  
   841  // Validate validates this power feed phase
   842  func (m *PowerFeedPhase) Validate(formats strfmt.Registry) error {
   843  	var res []error
   844  
   845  	if err := m.validateLabel(formats); err != nil {
   846  		res = append(res, err)
   847  	}
   848  
   849  	if err := m.validateValue(formats); err != nil {
   850  		res = append(res, err)
   851  	}
   852  
   853  	if len(res) > 0 {
   854  		return errors.CompositeValidationError(res...)
   855  	}
   856  	return nil
   857  }
   858  
   859  var powerFeedPhaseTypeLabelPropEnum []interface{}
   860  
   861  func init() {
   862  	var res []string
   863  	if err := json.Unmarshal([]byte(`["Single phase","Three-phase"]`), &res); err != nil {
   864  		panic(err)
   865  	}
   866  	for _, v := range res {
   867  		powerFeedPhaseTypeLabelPropEnum = append(powerFeedPhaseTypeLabelPropEnum, v)
   868  	}
   869  }
   870  
   871  const (
   872  
   873  	// PowerFeedPhaseLabelSinglePhase captures enum value "Single phase"
   874  	PowerFeedPhaseLabelSinglePhase string = "Single phase"
   875  
   876  	// PowerFeedPhaseLabelThreeDashPhase captures enum value "Three-phase"
   877  	PowerFeedPhaseLabelThreeDashPhase string = "Three-phase"
   878  )
   879  
   880  // prop value enum
   881  func (m *PowerFeedPhase) validateLabelEnum(path, location string, value string) error {
   882  	if err := validate.EnumCase(path, location, value, powerFeedPhaseTypeLabelPropEnum, true); err != nil {
   883  		return err
   884  	}
   885  	return nil
   886  }
   887  
   888  func (m *PowerFeedPhase) validateLabel(formats strfmt.Registry) error {
   889  
   890  	if err := validate.Required("phase"+"."+"label", "body", m.Label); err != nil {
   891  		return err
   892  	}
   893  
   894  	// value enum
   895  	if err := m.validateLabelEnum("phase"+"."+"label", "body", *m.Label); err != nil {
   896  		return err
   897  	}
   898  
   899  	return nil
   900  }
   901  
   902  var powerFeedPhaseTypeValuePropEnum []interface{}
   903  
   904  func init() {
   905  	var res []string
   906  	if err := json.Unmarshal([]byte(`["single-phase","three-phase"]`), &res); err != nil {
   907  		panic(err)
   908  	}
   909  	for _, v := range res {
   910  		powerFeedPhaseTypeValuePropEnum = append(powerFeedPhaseTypeValuePropEnum, v)
   911  	}
   912  }
   913  
   914  const (
   915  
   916  	// PowerFeedPhaseValueSingleDashPhase captures enum value "single-phase"
   917  	PowerFeedPhaseValueSingleDashPhase string = "single-phase"
   918  
   919  	// PowerFeedPhaseValueThreeDashPhase captures enum value "three-phase"
   920  	PowerFeedPhaseValueThreeDashPhase string = "three-phase"
   921  )
   922  
   923  // prop value enum
   924  func (m *PowerFeedPhase) validateValueEnum(path, location string, value string) error {
   925  	if err := validate.EnumCase(path, location, value, powerFeedPhaseTypeValuePropEnum, true); err != nil {
   926  		return err
   927  	}
   928  	return nil
   929  }
   930  
   931  func (m *PowerFeedPhase) validateValue(formats strfmt.Registry) error {
   932  
   933  	if err := validate.Required("phase"+"."+"value", "body", m.Value); err != nil {
   934  		return err
   935  	}
   936  
   937  	// value enum
   938  	if err := m.validateValueEnum("phase"+"."+"value", "body", *m.Value); err != nil {
   939  		return err
   940  	}
   941  
   942  	return nil
   943  }
   944  
   945  // ContextValidate validates this power feed phase based on context it is used
   946  func (m *PowerFeedPhase) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   947  	return nil
   948  }
   949  
   950  // MarshalBinary interface implementation
   951  func (m *PowerFeedPhase) MarshalBinary() ([]byte, error) {
   952  	if m == nil {
   953  		return nil, nil
   954  	}
   955  	return swag.WriteJSON(m)
   956  }
   957  
   958  // UnmarshalBinary interface implementation
   959  func (m *PowerFeedPhase) UnmarshalBinary(b []byte) error {
   960  	var res PowerFeedPhase
   961  	if err := swag.ReadJSON(b, &res); err != nil {
   962  		return err
   963  	}
   964  	*m = res
   965  	return nil
   966  }
   967  
   968  // PowerFeedStatus Status
   969  //
   970  // swagger:model PowerFeedStatus
   971  type PowerFeedStatus struct {
   972  
   973  	// label
   974  	// Required: true
   975  	// Enum: [Offline Active Planned Failed]
   976  	Label *string `json:"label"`
   977  
   978  	// value
   979  	// Required: true
   980  	// Enum: [offline active planned failed]
   981  	Value *string `json:"value"`
   982  }
   983  
   984  func (m *PowerFeedStatus) UnmarshalJSON(b []byte) error {
   985  	type PowerFeedStatusAlias PowerFeedStatus
   986  	var t PowerFeedStatusAlias
   987  	if err := json.Unmarshal([]byte("{\"label\":\"Active\",\"value\":\"active\"}"), &t); err != nil {
   988  		return err
   989  	}
   990  	if err := json.Unmarshal(b, &t); err != nil {
   991  		return err
   992  	}
   993  	*m = PowerFeedStatus(t)
   994  	return nil
   995  }
   996  
   997  // Validate validates this power feed status
   998  func (m *PowerFeedStatus) Validate(formats strfmt.Registry) error {
   999  	var res []error
  1000  
  1001  	if err := m.validateLabel(formats); err != nil {
  1002  		res = append(res, err)
  1003  	}
  1004  
  1005  	if err := m.validateValue(formats); err != nil {
  1006  		res = append(res, err)
  1007  	}
  1008  
  1009  	if len(res) > 0 {
  1010  		return errors.CompositeValidationError(res...)
  1011  	}
  1012  	return nil
  1013  }
  1014  
  1015  var powerFeedStatusTypeLabelPropEnum []interface{}
  1016  
  1017  func init() {
  1018  	var res []string
  1019  	if err := json.Unmarshal([]byte(`["Offline","Active","Planned","Failed"]`), &res); err != nil {
  1020  		panic(err)
  1021  	}
  1022  	for _, v := range res {
  1023  		powerFeedStatusTypeLabelPropEnum = append(powerFeedStatusTypeLabelPropEnum, v)
  1024  	}
  1025  }
  1026  
  1027  const (
  1028  
  1029  	// PowerFeedStatusLabelOffline captures enum value "Offline"
  1030  	PowerFeedStatusLabelOffline string = "Offline"
  1031  
  1032  	// PowerFeedStatusLabelActive captures enum value "Active"
  1033  	PowerFeedStatusLabelActive string = "Active"
  1034  
  1035  	// PowerFeedStatusLabelPlanned captures enum value "Planned"
  1036  	PowerFeedStatusLabelPlanned string = "Planned"
  1037  
  1038  	// PowerFeedStatusLabelFailed captures enum value "Failed"
  1039  	PowerFeedStatusLabelFailed string = "Failed"
  1040  )
  1041  
  1042  // prop value enum
  1043  func (m *PowerFeedStatus) validateLabelEnum(path, location string, value string) error {
  1044  	if err := validate.EnumCase(path, location, value, powerFeedStatusTypeLabelPropEnum, true); err != nil {
  1045  		return err
  1046  	}
  1047  	return nil
  1048  }
  1049  
  1050  func (m *PowerFeedStatus) validateLabel(formats strfmt.Registry) error {
  1051  
  1052  	if err := validate.Required("status"+"."+"label", "body", m.Label); err != nil {
  1053  		return err
  1054  	}
  1055  
  1056  	// value enum
  1057  	if err := m.validateLabelEnum("status"+"."+"label", "body", *m.Label); err != nil {
  1058  		return err
  1059  	}
  1060  
  1061  	return nil
  1062  }
  1063  
  1064  var powerFeedStatusTypeValuePropEnum []interface{}
  1065  
  1066  func init() {
  1067  	var res []string
  1068  	if err := json.Unmarshal([]byte(`["offline","active","planned","failed"]`), &res); err != nil {
  1069  		panic(err)
  1070  	}
  1071  	for _, v := range res {
  1072  		powerFeedStatusTypeValuePropEnum = append(powerFeedStatusTypeValuePropEnum, v)
  1073  	}
  1074  }
  1075  
  1076  const (
  1077  
  1078  	// PowerFeedStatusValueOffline captures enum value "offline"
  1079  	PowerFeedStatusValueOffline string = "offline"
  1080  
  1081  	// PowerFeedStatusValueActive captures enum value "active"
  1082  	PowerFeedStatusValueActive string = "active"
  1083  
  1084  	// PowerFeedStatusValuePlanned captures enum value "planned"
  1085  	PowerFeedStatusValuePlanned string = "planned"
  1086  
  1087  	// PowerFeedStatusValueFailed captures enum value "failed"
  1088  	PowerFeedStatusValueFailed string = "failed"
  1089  )
  1090  
  1091  // prop value enum
  1092  func (m *PowerFeedStatus) validateValueEnum(path, location string, value string) error {
  1093  	if err := validate.EnumCase(path, location, value, powerFeedStatusTypeValuePropEnum, true); err != nil {
  1094  		return err
  1095  	}
  1096  	return nil
  1097  }
  1098  
  1099  func (m *PowerFeedStatus) validateValue(formats strfmt.Registry) error {
  1100  
  1101  	if err := validate.Required("status"+"."+"value", "body", m.Value); err != nil {
  1102  		return err
  1103  	}
  1104  
  1105  	// value enum
  1106  	if err := m.validateValueEnum("status"+"."+"value", "body", *m.Value); err != nil {
  1107  		return err
  1108  	}
  1109  
  1110  	return nil
  1111  }
  1112  
  1113  // ContextValidate validates this power feed status based on context it is used
  1114  func (m *PowerFeedStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
  1115  	return nil
  1116  }
  1117  
  1118  // MarshalBinary interface implementation
  1119  func (m *PowerFeedStatus) MarshalBinary() ([]byte, error) {
  1120  	if m == nil {
  1121  		return nil, nil
  1122  	}
  1123  	return swag.WriteJSON(m)
  1124  }
  1125  
  1126  // UnmarshalBinary interface implementation
  1127  func (m *PowerFeedStatus) UnmarshalBinary(b []byte) error {
  1128  	var res PowerFeedStatus
  1129  	if err := swag.ReadJSON(b, &res); err != nil {
  1130  		return err
  1131  	}
  1132  	*m = res
  1133  	return nil
  1134  }
  1135  
  1136  // PowerFeedSupply Supply
  1137  //
  1138  // swagger:model PowerFeedSupply
  1139  type PowerFeedSupply struct {
  1140  
  1141  	// label
  1142  	// Required: true
  1143  	// Enum: [AC DC]
  1144  	Label *string `json:"label"`
  1145  
  1146  	// value
  1147  	// Required: true
  1148  	// Enum: [ac dc]
  1149  	Value *string `json:"value"`
  1150  }
  1151  
  1152  func (m *PowerFeedSupply) UnmarshalJSON(b []byte) error {
  1153  	type PowerFeedSupplyAlias PowerFeedSupply
  1154  	var t PowerFeedSupplyAlias
  1155  	if err := json.Unmarshal([]byte("{\"label\":\"AC\",\"value\":\"ac\"}"), &t); err != nil {
  1156  		return err
  1157  	}
  1158  	if err := json.Unmarshal(b, &t); err != nil {
  1159  		return err
  1160  	}
  1161  	*m = PowerFeedSupply(t)
  1162  	return nil
  1163  }
  1164  
  1165  // Validate validates this power feed supply
  1166  func (m *PowerFeedSupply) Validate(formats strfmt.Registry) error {
  1167  	var res []error
  1168  
  1169  	if err := m.validateLabel(formats); err != nil {
  1170  		res = append(res, err)
  1171  	}
  1172  
  1173  	if err := m.validateValue(formats); err != nil {
  1174  		res = append(res, err)
  1175  	}
  1176  
  1177  	if len(res) > 0 {
  1178  		return errors.CompositeValidationError(res...)
  1179  	}
  1180  	return nil
  1181  }
  1182  
  1183  var powerFeedSupplyTypeLabelPropEnum []interface{}
  1184  
  1185  func init() {
  1186  	var res []string
  1187  	if err := json.Unmarshal([]byte(`["AC","DC"]`), &res); err != nil {
  1188  		panic(err)
  1189  	}
  1190  	for _, v := range res {
  1191  		powerFeedSupplyTypeLabelPropEnum = append(powerFeedSupplyTypeLabelPropEnum, v)
  1192  	}
  1193  }
  1194  
  1195  const (
  1196  
  1197  	// PowerFeedSupplyLabelAC captures enum value "AC"
  1198  	PowerFeedSupplyLabelAC string = "AC"
  1199  
  1200  	// PowerFeedSupplyLabelDC captures enum value "DC"
  1201  	PowerFeedSupplyLabelDC string = "DC"
  1202  )
  1203  
  1204  // prop value enum
  1205  func (m *PowerFeedSupply) validateLabelEnum(path, location string, value string) error {
  1206  	if err := validate.EnumCase(path, location, value, powerFeedSupplyTypeLabelPropEnum, true); err != nil {
  1207  		return err
  1208  	}
  1209  	return nil
  1210  }
  1211  
  1212  func (m *PowerFeedSupply) validateLabel(formats strfmt.Registry) error {
  1213  
  1214  	if err := validate.Required("supply"+"."+"label", "body", m.Label); err != nil {
  1215  		return err
  1216  	}
  1217  
  1218  	// value enum
  1219  	if err := m.validateLabelEnum("supply"+"."+"label", "body", *m.Label); err != nil {
  1220  		return err
  1221  	}
  1222  
  1223  	return nil
  1224  }
  1225  
  1226  var powerFeedSupplyTypeValuePropEnum []interface{}
  1227  
  1228  func init() {
  1229  	var res []string
  1230  	if err := json.Unmarshal([]byte(`["ac","dc"]`), &res); err != nil {
  1231  		panic(err)
  1232  	}
  1233  	for _, v := range res {
  1234  		powerFeedSupplyTypeValuePropEnum = append(powerFeedSupplyTypeValuePropEnum, v)
  1235  	}
  1236  }
  1237  
  1238  const (
  1239  
  1240  	// PowerFeedSupplyValueAc captures enum value "ac"
  1241  	PowerFeedSupplyValueAc string = "ac"
  1242  
  1243  	// PowerFeedSupplyValueDc captures enum value "dc"
  1244  	PowerFeedSupplyValueDc string = "dc"
  1245  )
  1246  
  1247  // prop value enum
  1248  func (m *PowerFeedSupply) validateValueEnum(path, location string, value string) error {
  1249  	if err := validate.EnumCase(path, location, value, powerFeedSupplyTypeValuePropEnum, true); err != nil {
  1250  		return err
  1251  	}
  1252  	return nil
  1253  }
  1254  
  1255  func (m *PowerFeedSupply) validateValue(formats strfmt.Registry) error {
  1256  
  1257  	if err := validate.Required("supply"+"."+"value", "body", m.Value); err != nil {
  1258  		return err
  1259  	}
  1260  
  1261  	// value enum
  1262  	if err := m.validateValueEnum("supply"+"."+"value", "body", *m.Value); err != nil {
  1263  		return err
  1264  	}
  1265  
  1266  	return nil
  1267  }
  1268  
  1269  // ContextValidate validates this power feed supply based on context it is used
  1270  func (m *PowerFeedSupply) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
  1271  	return nil
  1272  }
  1273  
  1274  // MarshalBinary interface implementation
  1275  func (m *PowerFeedSupply) MarshalBinary() ([]byte, error) {
  1276  	if m == nil {
  1277  		return nil, nil
  1278  	}
  1279  	return swag.WriteJSON(m)
  1280  }
  1281  
  1282  // UnmarshalBinary interface implementation
  1283  func (m *PowerFeedSupply) UnmarshalBinary(b []byte) error {
  1284  	var res PowerFeedSupply
  1285  	if err := swag.ReadJSON(b, &res); err != nil {
  1286  		return err
  1287  	}
  1288  	*m = res
  1289  	return nil
  1290  }
  1291  
  1292  // PowerFeedType Type
  1293  //
  1294  // swagger:model PowerFeedType
  1295  type PowerFeedType struct {
  1296  
  1297  	// label
  1298  	// Required: true
  1299  	// Enum: [Primary Redundant]
  1300  	Label *string `json:"label"`
  1301  
  1302  	// value
  1303  	// Required: true
  1304  	// Enum: [primary redundant]
  1305  	Value *string `json:"value"`
  1306  }
  1307  
  1308  func (m *PowerFeedType) UnmarshalJSON(b []byte) error {
  1309  	type PowerFeedTypeAlias PowerFeedType
  1310  	var t PowerFeedTypeAlias
  1311  	if err := json.Unmarshal([]byte("{\"label\":\"Primary\",\"value\":\"primary\"}"), &t); err != nil {
  1312  		return err
  1313  	}
  1314  	if err := json.Unmarshal(b, &t); err != nil {
  1315  		return err
  1316  	}
  1317  	*m = PowerFeedType(t)
  1318  	return nil
  1319  }
  1320  
  1321  // Validate validates this power feed type
  1322  func (m *PowerFeedType) Validate(formats strfmt.Registry) error {
  1323  	var res []error
  1324  
  1325  	if err := m.validateLabel(formats); err != nil {
  1326  		res = append(res, err)
  1327  	}
  1328  
  1329  	if err := m.validateValue(formats); err != nil {
  1330  		res = append(res, err)
  1331  	}
  1332  
  1333  	if len(res) > 0 {
  1334  		return errors.CompositeValidationError(res...)
  1335  	}
  1336  	return nil
  1337  }
  1338  
  1339  var powerFeedTypeTypeLabelPropEnum []interface{}
  1340  
  1341  func init() {
  1342  	var res []string
  1343  	if err := json.Unmarshal([]byte(`["Primary","Redundant"]`), &res); err != nil {
  1344  		panic(err)
  1345  	}
  1346  	for _, v := range res {
  1347  		powerFeedTypeTypeLabelPropEnum = append(powerFeedTypeTypeLabelPropEnum, v)
  1348  	}
  1349  }
  1350  
  1351  const (
  1352  
  1353  	// PowerFeedTypeLabelPrimary captures enum value "Primary"
  1354  	PowerFeedTypeLabelPrimary string = "Primary"
  1355  
  1356  	// PowerFeedTypeLabelRedundant captures enum value "Redundant"
  1357  	PowerFeedTypeLabelRedundant string = "Redundant"
  1358  )
  1359  
  1360  // prop value enum
  1361  func (m *PowerFeedType) validateLabelEnum(path, location string, value string) error {
  1362  	if err := validate.EnumCase(path, location, value, powerFeedTypeTypeLabelPropEnum, true); err != nil {
  1363  		return err
  1364  	}
  1365  	return nil
  1366  }
  1367  
  1368  func (m *PowerFeedType) validateLabel(formats strfmt.Registry) error {
  1369  
  1370  	if err := validate.Required("type"+"."+"label", "body", m.Label); err != nil {
  1371  		return err
  1372  	}
  1373  
  1374  	// value enum
  1375  	if err := m.validateLabelEnum("type"+"."+"label", "body", *m.Label); err != nil {
  1376  		return err
  1377  	}
  1378  
  1379  	return nil
  1380  }
  1381  
  1382  var powerFeedTypeTypeValuePropEnum []interface{}
  1383  
  1384  func init() {
  1385  	var res []string
  1386  	if err := json.Unmarshal([]byte(`["primary","redundant"]`), &res); err != nil {
  1387  		panic(err)
  1388  	}
  1389  	for _, v := range res {
  1390  		powerFeedTypeTypeValuePropEnum = append(powerFeedTypeTypeValuePropEnum, v)
  1391  	}
  1392  }
  1393  
  1394  const (
  1395  
  1396  	// PowerFeedTypeValuePrimary captures enum value "primary"
  1397  	PowerFeedTypeValuePrimary string = "primary"
  1398  
  1399  	// PowerFeedTypeValueRedundant captures enum value "redundant"
  1400  	PowerFeedTypeValueRedundant string = "redundant"
  1401  )
  1402  
  1403  // prop value enum
  1404  func (m *PowerFeedType) validateValueEnum(path, location string, value string) error {
  1405  	if err := validate.EnumCase(path, location, value, powerFeedTypeTypeValuePropEnum, true); err != nil {
  1406  		return err
  1407  	}
  1408  	return nil
  1409  }
  1410  
  1411  func (m *PowerFeedType) validateValue(formats strfmt.Registry) error {
  1412  
  1413  	if err := validate.Required("type"+"."+"value", "body", m.Value); err != nil {
  1414  		return err
  1415  	}
  1416  
  1417  	// value enum
  1418  	if err := m.validateValueEnum("type"+"."+"value", "body", *m.Value); err != nil {
  1419  		return err
  1420  	}
  1421  
  1422  	return nil
  1423  }
  1424  
  1425  // ContextValidate validates this power feed type based on context it is used
  1426  func (m *PowerFeedType) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
  1427  	return nil
  1428  }
  1429  
  1430  // MarshalBinary interface implementation
  1431  func (m *PowerFeedType) MarshalBinary() ([]byte, error) {
  1432  	if m == nil {
  1433  		return nil, nil
  1434  	}
  1435  	return swag.WriteJSON(m)
  1436  }
  1437  
  1438  // UnmarshalBinary interface implementation
  1439  func (m *PowerFeedType) UnmarshalBinary(b []byte) error {
  1440  	var res PowerFeedType
  1441  	if err := swag.ReadJSON(b, &res); err != nil {
  1442  		return err
  1443  	}
  1444  	*m = res
  1445  	return nil
  1446  }