github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_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  // WritablePowerFeed writable power feed
    35  //
    36  // swagger:model WritablePowerFeed
    37  type WritablePowerFeed 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  	// Enum: [single-phase three-phase]
   123  	Phase string `json:"phase,omitempty"`
   124  
   125  	// Power panel
   126  	// Required: true
   127  	PowerPanel *int64 `json:"power_panel"`
   128  
   129  	// Rack
   130  	Rack *int64 `json:"rack,omitempty"`
   131  
   132  	// Status
   133  	// Enum: [offline active planned failed]
   134  	Status string `json:"status,omitempty"`
   135  
   136  	// Supply
   137  	// Enum: [ac dc]
   138  	Supply string `json:"supply,omitempty"`
   139  
   140  	// tags
   141  	Tags []*NestedTag `json:"tags"`
   142  
   143  	// Type
   144  	// Enum: [primary redundant]
   145  	Type string `json:"type,omitempty"`
   146  
   147  	// Url
   148  	// Read Only: true
   149  	// Format: uri
   150  	URL strfmt.URI `json:"url,omitempty"`
   151  
   152  	// Voltage
   153  	// Maximum: 32767
   154  	// Minimum: -32768
   155  	Voltage *int64 `json:"voltage,omitempty"`
   156  }
   157  
   158  // Validate validates this writable power feed
   159  func (m *WritablePowerFeed) Validate(formats strfmt.Registry) error {
   160  	var res []error
   161  
   162  	if err := m.validateAmperage(formats); err != nil {
   163  		res = append(res, err)
   164  	}
   165  
   166  	if err := m.validateCable(formats); err != nil {
   167  		res = append(res, err)
   168  	}
   169  
   170  	if err := m.validateCreated(formats); err != nil {
   171  		res = append(res, err)
   172  	}
   173  
   174  	if err := m.validateLastUpdated(formats); err != nil {
   175  		res = append(res, err)
   176  	}
   177  
   178  	if err := m.validateMaxUtilization(formats); err != nil {
   179  		res = append(res, err)
   180  	}
   181  
   182  	if err := m.validateName(formats); err != nil {
   183  		res = append(res, err)
   184  	}
   185  
   186  	if err := m.validatePhase(formats); err != nil {
   187  		res = append(res, err)
   188  	}
   189  
   190  	if err := m.validatePowerPanel(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 *WritablePowerFeed) 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 *WritablePowerFeed) 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 *WritablePowerFeed) 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 *WritablePowerFeed) 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 *WritablePowerFeed) 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 *WritablePowerFeed) 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  var writablePowerFeedTypePhasePropEnum []interface{}
   317  
   318  func init() {
   319  	var res []string
   320  	if err := json.Unmarshal([]byte(`["single-phase","three-phase"]`), &res); err != nil {
   321  		panic(err)
   322  	}
   323  	for _, v := range res {
   324  		writablePowerFeedTypePhasePropEnum = append(writablePowerFeedTypePhasePropEnum, v)
   325  	}
   326  }
   327  
   328  const (
   329  
   330  	// WritablePowerFeedPhaseSingleDashPhase captures enum value "single-phase"
   331  	WritablePowerFeedPhaseSingleDashPhase string = "single-phase"
   332  
   333  	// WritablePowerFeedPhaseThreeDashPhase captures enum value "three-phase"
   334  	WritablePowerFeedPhaseThreeDashPhase string = "three-phase"
   335  )
   336  
   337  // prop value enum
   338  func (m *WritablePowerFeed) validatePhaseEnum(path, location string, value string) error {
   339  	if err := validate.EnumCase(path, location, value, writablePowerFeedTypePhasePropEnum, true); err != nil {
   340  		return err
   341  	}
   342  	return nil
   343  }
   344  
   345  func (m *WritablePowerFeed) validatePhase(formats strfmt.Registry) error {
   346  	if swag.IsZero(m.Phase) { // not required
   347  		return nil
   348  	}
   349  
   350  	// value enum
   351  	if err := m.validatePhaseEnum("phase", "body", m.Phase); err != nil {
   352  		return err
   353  	}
   354  
   355  	return nil
   356  }
   357  
   358  func (m *WritablePowerFeed) validatePowerPanel(formats strfmt.Registry) error {
   359  
   360  	if err := validate.Required("power_panel", "body", m.PowerPanel); err != nil {
   361  		return err
   362  	}
   363  
   364  	return nil
   365  }
   366  
   367  var writablePowerFeedTypeStatusPropEnum []interface{}
   368  
   369  func init() {
   370  	var res []string
   371  	if err := json.Unmarshal([]byte(`["offline","active","planned","failed"]`), &res); err != nil {
   372  		panic(err)
   373  	}
   374  	for _, v := range res {
   375  		writablePowerFeedTypeStatusPropEnum = append(writablePowerFeedTypeStatusPropEnum, v)
   376  	}
   377  }
   378  
   379  const (
   380  
   381  	// WritablePowerFeedStatusOffline captures enum value "offline"
   382  	WritablePowerFeedStatusOffline string = "offline"
   383  
   384  	// WritablePowerFeedStatusActive captures enum value "active"
   385  	WritablePowerFeedStatusActive string = "active"
   386  
   387  	// WritablePowerFeedStatusPlanned captures enum value "planned"
   388  	WritablePowerFeedStatusPlanned string = "planned"
   389  
   390  	// WritablePowerFeedStatusFailed captures enum value "failed"
   391  	WritablePowerFeedStatusFailed string = "failed"
   392  )
   393  
   394  // prop value enum
   395  func (m *WritablePowerFeed) validateStatusEnum(path, location string, value string) error {
   396  	if err := validate.EnumCase(path, location, value, writablePowerFeedTypeStatusPropEnum, true); err != nil {
   397  		return err
   398  	}
   399  	return nil
   400  }
   401  
   402  func (m *WritablePowerFeed) validateStatus(formats strfmt.Registry) error {
   403  	if swag.IsZero(m.Status) { // not required
   404  		return nil
   405  	}
   406  
   407  	// value enum
   408  	if err := m.validateStatusEnum("status", "body", m.Status); err != nil {
   409  		return err
   410  	}
   411  
   412  	return nil
   413  }
   414  
   415  var writablePowerFeedTypeSupplyPropEnum []interface{}
   416  
   417  func init() {
   418  	var res []string
   419  	if err := json.Unmarshal([]byte(`["ac","dc"]`), &res); err != nil {
   420  		panic(err)
   421  	}
   422  	for _, v := range res {
   423  		writablePowerFeedTypeSupplyPropEnum = append(writablePowerFeedTypeSupplyPropEnum, v)
   424  	}
   425  }
   426  
   427  const (
   428  
   429  	// WritablePowerFeedSupplyAc captures enum value "ac"
   430  	WritablePowerFeedSupplyAc string = "ac"
   431  
   432  	// WritablePowerFeedSupplyDc captures enum value "dc"
   433  	WritablePowerFeedSupplyDc string = "dc"
   434  )
   435  
   436  // prop value enum
   437  func (m *WritablePowerFeed) validateSupplyEnum(path, location string, value string) error {
   438  	if err := validate.EnumCase(path, location, value, writablePowerFeedTypeSupplyPropEnum, true); err != nil {
   439  		return err
   440  	}
   441  	return nil
   442  }
   443  
   444  func (m *WritablePowerFeed) validateSupply(formats strfmt.Registry) error {
   445  	if swag.IsZero(m.Supply) { // not required
   446  		return nil
   447  	}
   448  
   449  	// value enum
   450  	if err := m.validateSupplyEnum("supply", "body", m.Supply); err != nil {
   451  		return err
   452  	}
   453  
   454  	return nil
   455  }
   456  
   457  func (m *WritablePowerFeed) validateTags(formats strfmt.Registry) error {
   458  	if swag.IsZero(m.Tags) { // not required
   459  		return nil
   460  	}
   461  
   462  	for i := 0; i < len(m.Tags); i++ {
   463  		if swag.IsZero(m.Tags[i]) { // not required
   464  			continue
   465  		}
   466  
   467  		if m.Tags[i] != nil {
   468  			if err := m.Tags[i].Validate(formats); err != nil {
   469  				if ve, ok := err.(*errors.Validation); ok {
   470  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   471  				} else if ce, ok := err.(*errors.CompositeError); ok {
   472  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   473  				}
   474  				return err
   475  			}
   476  		}
   477  
   478  	}
   479  
   480  	return nil
   481  }
   482  
   483  var writablePowerFeedTypeTypePropEnum []interface{}
   484  
   485  func init() {
   486  	var res []string
   487  	if err := json.Unmarshal([]byte(`["primary","redundant"]`), &res); err != nil {
   488  		panic(err)
   489  	}
   490  	for _, v := range res {
   491  		writablePowerFeedTypeTypePropEnum = append(writablePowerFeedTypeTypePropEnum, v)
   492  	}
   493  }
   494  
   495  const (
   496  
   497  	// WritablePowerFeedTypePrimary captures enum value "primary"
   498  	WritablePowerFeedTypePrimary string = "primary"
   499  
   500  	// WritablePowerFeedTypeRedundant captures enum value "redundant"
   501  	WritablePowerFeedTypeRedundant string = "redundant"
   502  )
   503  
   504  // prop value enum
   505  func (m *WritablePowerFeed) validateTypeEnum(path, location string, value string) error {
   506  	if err := validate.EnumCase(path, location, value, writablePowerFeedTypeTypePropEnum, true); err != nil {
   507  		return err
   508  	}
   509  	return nil
   510  }
   511  
   512  func (m *WritablePowerFeed) validateType(formats strfmt.Registry) error {
   513  	if swag.IsZero(m.Type) { // not required
   514  		return nil
   515  	}
   516  
   517  	// value enum
   518  	if err := m.validateTypeEnum("type", "body", m.Type); err != nil {
   519  		return err
   520  	}
   521  
   522  	return nil
   523  }
   524  
   525  func (m *WritablePowerFeed) validateURL(formats strfmt.Registry) error {
   526  	if swag.IsZero(m.URL) { // not required
   527  		return nil
   528  	}
   529  
   530  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   531  		return err
   532  	}
   533  
   534  	return nil
   535  }
   536  
   537  func (m *WritablePowerFeed) validateVoltage(formats strfmt.Registry) error {
   538  	if swag.IsZero(m.Voltage) { // not required
   539  		return nil
   540  	}
   541  
   542  	if err := validate.MinimumInt("voltage", "body", *m.Voltage, -32768, false); err != nil {
   543  		return err
   544  	}
   545  
   546  	if err := validate.MaximumInt("voltage", "body", *m.Voltage, 32767, false); err != nil {
   547  		return err
   548  	}
   549  
   550  	return nil
   551  }
   552  
   553  // ContextValidate validate this writable power feed based on the context it is used
   554  func (m *WritablePowerFeed) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   555  	var res []error
   556  
   557  	if err := m.contextValidateOccupied(ctx, formats); err != nil {
   558  		res = append(res, err)
   559  	}
   560  
   561  	if err := m.contextValidateCable(ctx, formats); err != nil {
   562  		res = append(res, err)
   563  	}
   564  
   565  	if err := m.contextValidateCablePeer(ctx, formats); err != nil {
   566  		res = append(res, err)
   567  	}
   568  
   569  	if err := m.contextValidateCablePeerType(ctx, formats); err != nil {
   570  		res = append(res, err)
   571  	}
   572  
   573  	if err := m.contextValidateConnectedEndpoint(ctx, formats); err != nil {
   574  		res = append(res, err)
   575  	}
   576  
   577  	if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil {
   578  		res = append(res, err)
   579  	}
   580  
   581  	if err := m.contextValidateConnectedEndpointType(ctx, formats); err != nil {
   582  		res = append(res, err)
   583  	}
   584  
   585  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   586  		res = append(res, err)
   587  	}
   588  
   589  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   590  		res = append(res, err)
   591  	}
   592  
   593  	if err := m.contextValidateID(ctx, formats); err != nil {
   594  		res = append(res, err)
   595  	}
   596  
   597  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   598  		res = append(res, err)
   599  	}
   600  
   601  	if err := m.contextValidateTags(ctx, formats); err != nil {
   602  		res = append(res, err)
   603  	}
   604  
   605  	if err := m.contextValidateURL(ctx, formats); err != nil {
   606  		res = append(res, err)
   607  	}
   608  
   609  	if len(res) > 0 {
   610  		return errors.CompositeValidationError(res...)
   611  	}
   612  	return nil
   613  }
   614  
   615  func (m *WritablePowerFeed) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error {
   616  
   617  	if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil {
   618  		return err
   619  	}
   620  
   621  	return nil
   622  }
   623  
   624  func (m *WritablePowerFeed) contextValidateCable(ctx context.Context, formats strfmt.Registry) error {
   625  
   626  	if m.Cable != nil {
   627  		if err := m.Cable.ContextValidate(ctx, formats); err != nil {
   628  			if ve, ok := err.(*errors.Validation); ok {
   629  				return ve.ValidateName("cable")
   630  			} else if ce, ok := err.(*errors.CompositeError); ok {
   631  				return ce.ValidateName("cable")
   632  			}
   633  			return err
   634  		}
   635  	}
   636  
   637  	return nil
   638  }
   639  
   640  func (m *WritablePowerFeed) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error {
   641  
   642  	return nil
   643  }
   644  
   645  func (m *WritablePowerFeed) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error {
   646  
   647  	if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil {
   648  		return err
   649  	}
   650  
   651  	return nil
   652  }
   653  
   654  func (m *WritablePowerFeed) contextValidateConnectedEndpoint(ctx context.Context, formats strfmt.Registry) error {
   655  
   656  	return nil
   657  }
   658  
   659  func (m *WritablePowerFeed) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error {
   660  
   661  	if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil {
   662  		return err
   663  	}
   664  
   665  	return nil
   666  }
   667  
   668  func (m *WritablePowerFeed) contextValidateConnectedEndpointType(ctx context.Context, formats strfmt.Registry) error {
   669  
   670  	if err := validate.ReadOnly(ctx, "connected_endpoint_type", "body", string(m.ConnectedEndpointType)); err != nil {
   671  		return err
   672  	}
   673  
   674  	return nil
   675  }
   676  
   677  func (m *WritablePowerFeed) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   678  
   679  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   680  		return err
   681  	}
   682  
   683  	return nil
   684  }
   685  
   686  func (m *WritablePowerFeed) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   687  
   688  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   689  		return err
   690  	}
   691  
   692  	return nil
   693  }
   694  
   695  func (m *WritablePowerFeed) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   696  
   697  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   698  		return err
   699  	}
   700  
   701  	return nil
   702  }
   703  
   704  func (m *WritablePowerFeed) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   705  
   706  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   707  		return err
   708  	}
   709  
   710  	return nil
   711  }
   712  
   713  func (m *WritablePowerFeed) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
   714  
   715  	for i := 0; i < len(m.Tags); i++ {
   716  
   717  		if m.Tags[i] != nil {
   718  			if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
   719  				if ve, ok := err.(*errors.Validation); ok {
   720  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   721  				} else if ce, ok := err.(*errors.CompositeError); ok {
   722  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   723  				}
   724  				return err
   725  			}
   726  		}
   727  
   728  	}
   729  
   730  	return nil
   731  }
   732  
   733  func (m *WritablePowerFeed) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   734  
   735  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   736  		return err
   737  	}
   738  
   739  	return nil
   740  }
   741  
   742  // MarshalBinary interface implementation
   743  func (m *WritablePowerFeed) MarshalBinary() ([]byte, error) {
   744  	if m == nil {
   745  		return nil, nil
   746  	}
   747  	return swag.WriteJSON(m)
   748  }
   749  
   750  // UnmarshalBinary interface implementation
   751  func (m *WritablePowerFeed) UnmarshalBinary(b []byte) error {
   752  	var res WritablePowerFeed
   753  	if err := swag.ReadJSON(b, &res); err != nil {
   754  		return err
   755  	}
   756  	*m = res
   757  	return nil
   758  }