github.com/digitalocean/go-netbox@v0.0.2/netbox/models/rear_port.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  // RearPort rear port
    35  //
    36  // swagger:model RearPort
    37  type RearPort struct {
    38  
    39  	// occupied
    40  	// Read Only: true
    41  	Occupied *bool `json:"_occupied,omitempty"`
    42  
    43  	// cable
    44  	Cable *NestedCable `json:"cable,omitempty"`
    45  
    46  	// Cable peer
    47  	//
    48  	//
    49  	// Return the appropriate serializer for the cable termination model.
    50  	//
    51  	// Read Only: true
    52  	CablePeer map[string]*string `json:"cable_peer,omitempty"`
    53  
    54  	// Cable peer type
    55  	// Read Only: true
    56  	CablePeerType string `json:"cable_peer_type,omitempty"`
    57  
    58  	// Created
    59  	// Read Only: true
    60  	// Format: date
    61  	Created strfmt.Date `json:"created,omitempty"`
    62  
    63  	// Custom fields
    64  	CustomFields interface{} `json:"custom_fields,omitempty"`
    65  
    66  	// Description
    67  	// Max Length: 200
    68  	Description string `json:"description,omitempty"`
    69  
    70  	// device
    71  	// Required: true
    72  	Device *NestedDevice `json:"device"`
    73  
    74  	// Display
    75  	// Read Only: true
    76  	Display string `json:"display,omitempty"`
    77  
    78  	// Id
    79  	// Read Only: true
    80  	ID int64 `json:"id,omitempty"`
    81  
    82  	// Label
    83  	//
    84  	// Physical label
    85  	// Max Length: 64
    86  	Label string `json:"label,omitempty"`
    87  
    88  	// Last updated
    89  	// Read Only: true
    90  	// Format: date-time
    91  	LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
    92  
    93  	// Mark connected
    94  	//
    95  	// Treat as if a cable is connected
    96  	MarkConnected bool `json:"mark_connected,omitempty"`
    97  
    98  	// Name
    99  	// Required: true
   100  	// Max Length: 64
   101  	// Min Length: 1
   102  	Name *string `json:"name"`
   103  
   104  	// Positions
   105  	// Maximum: 1024
   106  	// Minimum: 1
   107  	Positions int64 `json:"positions,omitempty"`
   108  
   109  	// tags
   110  	Tags []*NestedTag `json:"tags"`
   111  
   112  	// type
   113  	// Required: true
   114  	Type *RearPortType `json:"type"`
   115  
   116  	// Url
   117  	// Read Only: true
   118  	// Format: uri
   119  	URL strfmt.URI `json:"url,omitempty"`
   120  }
   121  
   122  // Validate validates this rear port
   123  func (m *RearPort) Validate(formats strfmt.Registry) error {
   124  	var res []error
   125  
   126  	if err := m.validateCable(formats); err != nil {
   127  		res = append(res, err)
   128  	}
   129  
   130  	if err := m.validateCreated(formats); err != nil {
   131  		res = append(res, err)
   132  	}
   133  
   134  	if err := m.validateDescription(formats); err != nil {
   135  		res = append(res, err)
   136  	}
   137  
   138  	if err := m.validateDevice(formats); err != nil {
   139  		res = append(res, err)
   140  	}
   141  
   142  	if err := m.validateLabel(formats); err != nil {
   143  		res = append(res, err)
   144  	}
   145  
   146  	if err := m.validateLastUpdated(formats); err != nil {
   147  		res = append(res, err)
   148  	}
   149  
   150  	if err := m.validateName(formats); err != nil {
   151  		res = append(res, err)
   152  	}
   153  
   154  	if err := m.validatePositions(formats); err != nil {
   155  		res = append(res, err)
   156  	}
   157  
   158  	if err := m.validateTags(formats); err != nil {
   159  		res = append(res, err)
   160  	}
   161  
   162  	if err := m.validateType(formats); err != nil {
   163  		res = append(res, err)
   164  	}
   165  
   166  	if err := m.validateURL(formats); err != nil {
   167  		res = append(res, err)
   168  	}
   169  
   170  	if len(res) > 0 {
   171  		return errors.CompositeValidationError(res...)
   172  	}
   173  	return nil
   174  }
   175  
   176  func (m *RearPort) validateCable(formats strfmt.Registry) error {
   177  	if swag.IsZero(m.Cable) { // not required
   178  		return nil
   179  	}
   180  
   181  	if m.Cable != nil {
   182  		if err := m.Cable.Validate(formats); err != nil {
   183  			if ve, ok := err.(*errors.Validation); ok {
   184  				return ve.ValidateName("cable")
   185  			} else if ce, ok := err.(*errors.CompositeError); ok {
   186  				return ce.ValidateName("cable")
   187  			}
   188  			return err
   189  		}
   190  	}
   191  
   192  	return nil
   193  }
   194  
   195  func (m *RearPort) validateCreated(formats strfmt.Registry) error {
   196  	if swag.IsZero(m.Created) { // not required
   197  		return nil
   198  	}
   199  
   200  	if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
   201  		return err
   202  	}
   203  
   204  	return nil
   205  }
   206  
   207  func (m *RearPort) validateDescription(formats strfmt.Registry) error {
   208  	if swag.IsZero(m.Description) { // not required
   209  		return nil
   210  	}
   211  
   212  	if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
   213  		return err
   214  	}
   215  
   216  	return nil
   217  }
   218  
   219  func (m *RearPort) validateDevice(formats strfmt.Registry) error {
   220  
   221  	if err := validate.Required("device", "body", m.Device); err != nil {
   222  		return err
   223  	}
   224  
   225  	if m.Device != nil {
   226  		if err := m.Device.Validate(formats); err != nil {
   227  			if ve, ok := err.(*errors.Validation); ok {
   228  				return ve.ValidateName("device")
   229  			} else if ce, ok := err.(*errors.CompositeError); ok {
   230  				return ce.ValidateName("device")
   231  			}
   232  			return err
   233  		}
   234  	}
   235  
   236  	return nil
   237  }
   238  
   239  func (m *RearPort) validateLabel(formats strfmt.Registry) error {
   240  	if swag.IsZero(m.Label) { // not required
   241  		return nil
   242  	}
   243  
   244  	if err := validate.MaxLength("label", "body", m.Label, 64); err != nil {
   245  		return err
   246  	}
   247  
   248  	return nil
   249  }
   250  
   251  func (m *RearPort) validateLastUpdated(formats strfmt.Registry) error {
   252  	if swag.IsZero(m.LastUpdated) { // not required
   253  		return nil
   254  	}
   255  
   256  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   257  		return err
   258  	}
   259  
   260  	return nil
   261  }
   262  
   263  func (m *RearPort) validateName(formats strfmt.Registry) error {
   264  
   265  	if err := validate.Required("name", "body", m.Name); err != nil {
   266  		return err
   267  	}
   268  
   269  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   270  		return err
   271  	}
   272  
   273  	if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil {
   274  		return err
   275  	}
   276  
   277  	return nil
   278  }
   279  
   280  func (m *RearPort) validatePositions(formats strfmt.Registry) error {
   281  	if swag.IsZero(m.Positions) { // not required
   282  		return nil
   283  	}
   284  
   285  	if err := validate.MinimumInt("positions", "body", m.Positions, 1, false); err != nil {
   286  		return err
   287  	}
   288  
   289  	if err := validate.MaximumInt("positions", "body", m.Positions, 1024, false); err != nil {
   290  		return err
   291  	}
   292  
   293  	return nil
   294  }
   295  
   296  func (m *RearPort) validateTags(formats strfmt.Registry) error {
   297  	if swag.IsZero(m.Tags) { // not required
   298  		return nil
   299  	}
   300  
   301  	for i := 0; i < len(m.Tags); i++ {
   302  		if swag.IsZero(m.Tags[i]) { // not required
   303  			continue
   304  		}
   305  
   306  		if m.Tags[i] != nil {
   307  			if err := m.Tags[i].Validate(formats); err != nil {
   308  				if ve, ok := err.(*errors.Validation); ok {
   309  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   310  				} else if ce, ok := err.(*errors.CompositeError); ok {
   311  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   312  				}
   313  				return err
   314  			}
   315  		}
   316  
   317  	}
   318  
   319  	return nil
   320  }
   321  
   322  func (m *RearPort) validateType(formats strfmt.Registry) error {
   323  
   324  	if err := validate.Required("type", "body", m.Type); err != nil {
   325  		return err
   326  	}
   327  
   328  	if m.Type != nil {
   329  		if err := m.Type.Validate(formats); err != nil {
   330  			if ve, ok := err.(*errors.Validation); ok {
   331  				return ve.ValidateName("type")
   332  			} else if ce, ok := err.(*errors.CompositeError); ok {
   333  				return ce.ValidateName("type")
   334  			}
   335  			return err
   336  		}
   337  	}
   338  
   339  	return nil
   340  }
   341  
   342  func (m *RearPort) validateURL(formats strfmt.Registry) error {
   343  	if swag.IsZero(m.URL) { // not required
   344  		return nil
   345  	}
   346  
   347  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   348  		return err
   349  	}
   350  
   351  	return nil
   352  }
   353  
   354  // ContextValidate validate this rear port based on the context it is used
   355  func (m *RearPort) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   356  	var res []error
   357  
   358  	if err := m.contextValidateOccupied(ctx, formats); err != nil {
   359  		res = append(res, err)
   360  	}
   361  
   362  	if err := m.contextValidateCable(ctx, formats); err != nil {
   363  		res = append(res, err)
   364  	}
   365  
   366  	if err := m.contextValidateCablePeer(ctx, formats); err != nil {
   367  		res = append(res, err)
   368  	}
   369  
   370  	if err := m.contextValidateCablePeerType(ctx, formats); err != nil {
   371  		res = append(res, err)
   372  	}
   373  
   374  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   375  		res = append(res, err)
   376  	}
   377  
   378  	if err := m.contextValidateDevice(ctx, formats); err != nil {
   379  		res = append(res, err)
   380  	}
   381  
   382  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   383  		res = append(res, err)
   384  	}
   385  
   386  	if err := m.contextValidateID(ctx, formats); err != nil {
   387  		res = append(res, err)
   388  	}
   389  
   390  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   391  		res = append(res, err)
   392  	}
   393  
   394  	if err := m.contextValidateTags(ctx, formats); err != nil {
   395  		res = append(res, err)
   396  	}
   397  
   398  	if err := m.contextValidateType(ctx, formats); err != nil {
   399  		res = append(res, err)
   400  	}
   401  
   402  	if err := m.contextValidateURL(ctx, formats); err != nil {
   403  		res = append(res, err)
   404  	}
   405  
   406  	if len(res) > 0 {
   407  		return errors.CompositeValidationError(res...)
   408  	}
   409  	return nil
   410  }
   411  
   412  func (m *RearPort) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error {
   413  
   414  	if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil {
   415  		return err
   416  	}
   417  
   418  	return nil
   419  }
   420  
   421  func (m *RearPort) contextValidateCable(ctx context.Context, formats strfmt.Registry) error {
   422  
   423  	if m.Cable != nil {
   424  		if err := m.Cable.ContextValidate(ctx, formats); err != nil {
   425  			if ve, ok := err.(*errors.Validation); ok {
   426  				return ve.ValidateName("cable")
   427  			} else if ce, ok := err.(*errors.CompositeError); ok {
   428  				return ce.ValidateName("cable")
   429  			}
   430  			return err
   431  		}
   432  	}
   433  
   434  	return nil
   435  }
   436  
   437  func (m *RearPort) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error {
   438  
   439  	return nil
   440  }
   441  
   442  func (m *RearPort) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error {
   443  
   444  	if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil {
   445  		return err
   446  	}
   447  
   448  	return nil
   449  }
   450  
   451  func (m *RearPort) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   452  
   453  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   454  		return err
   455  	}
   456  
   457  	return nil
   458  }
   459  
   460  func (m *RearPort) contextValidateDevice(ctx context.Context, formats strfmt.Registry) error {
   461  
   462  	if m.Device != nil {
   463  		if err := m.Device.ContextValidate(ctx, formats); err != nil {
   464  			if ve, ok := err.(*errors.Validation); ok {
   465  				return ve.ValidateName("device")
   466  			} else if ce, ok := err.(*errors.CompositeError); ok {
   467  				return ce.ValidateName("device")
   468  			}
   469  			return err
   470  		}
   471  	}
   472  
   473  	return nil
   474  }
   475  
   476  func (m *RearPort) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   477  
   478  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   479  		return err
   480  	}
   481  
   482  	return nil
   483  }
   484  
   485  func (m *RearPort) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   486  
   487  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   488  		return err
   489  	}
   490  
   491  	return nil
   492  }
   493  
   494  func (m *RearPort) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   495  
   496  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   497  		return err
   498  	}
   499  
   500  	return nil
   501  }
   502  
   503  func (m *RearPort) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
   504  
   505  	for i := 0; i < len(m.Tags); i++ {
   506  
   507  		if m.Tags[i] != nil {
   508  			if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
   509  				if ve, ok := err.(*errors.Validation); ok {
   510  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   511  				} else if ce, ok := err.(*errors.CompositeError); ok {
   512  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   513  				}
   514  				return err
   515  			}
   516  		}
   517  
   518  	}
   519  
   520  	return nil
   521  }
   522  
   523  func (m *RearPort) contextValidateType(ctx context.Context, formats strfmt.Registry) error {
   524  
   525  	if m.Type != nil {
   526  		if err := m.Type.ContextValidate(ctx, formats); err != nil {
   527  			if ve, ok := err.(*errors.Validation); ok {
   528  				return ve.ValidateName("type")
   529  			} else if ce, ok := err.(*errors.CompositeError); ok {
   530  				return ce.ValidateName("type")
   531  			}
   532  			return err
   533  		}
   534  	}
   535  
   536  	return nil
   537  }
   538  
   539  func (m *RearPort) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   540  
   541  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   542  		return err
   543  	}
   544  
   545  	return nil
   546  }
   547  
   548  // MarshalBinary interface implementation
   549  func (m *RearPort) MarshalBinary() ([]byte, error) {
   550  	if m == nil {
   551  		return nil, nil
   552  	}
   553  	return swag.WriteJSON(m)
   554  }
   555  
   556  // UnmarshalBinary interface implementation
   557  func (m *RearPort) UnmarshalBinary(b []byte) error {
   558  	var res RearPort
   559  	if err := swag.ReadJSON(b, &res); err != nil {
   560  		return err
   561  	}
   562  	*m = res
   563  	return nil
   564  }
   565  
   566  // RearPortType Type
   567  //
   568  // swagger:model RearPortType
   569  type RearPortType struct {
   570  
   571  	// label
   572  	// Required: true
   573  	// Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN Splice]
   574  	Label *string `json:"label"`
   575  
   576  	// value
   577  	// Required: true
   578  	// Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
   579  	Value *string `json:"value"`
   580  }
   581  
   582  // Validate validates this rear port type
   583  func (m *RearPortType) Validate(formats strfmt.Registry) error {
   584  	var res []error
   585  
   586  	if err := m.validateLabel(formats); err != nil {
   587  		res = append(res, err)
   588  	}
   589  
   590  	if err := m.validateValue(formats); err != nil {
   591  		res = append(res, err)
   592  	}
   593  
   594  	if len(res) > 0 {
   595  		return errors.CompositeValidationError(res...)
   596  	}
   597  	return nil
   598  }
   599  
   600  var rearPortTypeTypeLabelPropEnum []interface{}
   601  
   602  func init() {
   603  	var res []string
   604  	if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","Splice"]`), &res); err != nil {
   605  		panic(err)
   606  	}
   607  	for _, v := range res {
   608  		rearPortTypeTypeLabelPropEnum = append(rearPortTypeTypeLabelPropEnum, v)
   609  	}
   610  }
   611  
   612  const (
   613  
   614  	// RearPortTypeLabelNr8P8C captures enum value "8P8C"
   615  	RearPortTypeLabelNr8P8C string = "8P8C"
   616  
   617  	// RearPortTypeLabelNr8P6C captures enum value "8P6C"
   618  	RearPortTypeLabelNr8P6C string = "8P6C"
   619  
   620  	// RearPortTypeLabelNr8P4C captures enum value "8P4C"
   621  	RearPortTypeLabelNr8P4C string = "8P4C"
   622  
   623  	// RearPortTypeLabelNr8P2C captures enum value "8P2C"
   624  	RearPortTypeLabelNr8P2C string = "8P2C"
   625  
   626  	// RearPortTypeLabelNr6P6C captures enum value "6P6C"
   627  	RearPortTypeLabelNr6P6C string = "6P6C"
   628  
   629  	// RearPortTypeLabelNr6P4C captures enum value "6P4C"
   630  	RearPortTypeLabelNr6P4C string = "6P4C"
   631  
   632  	// RearPortTypeLabelNr6P2C captures enum value "6P2C"
   633  	RearPortTypeLabelNr6P2C string = "6P2C"
   634  
   635  	// RearPortTypeLabelNr4P4C captures enum value "4P4C"
   636  	RearPortTypeLabelNr4P4C string = "4P4C"
   637  
   638  	// RearPortTypeLabelNr4P2C captures enum value "4P2C"
   639  	RearPortTypeLabelNr4P2C string = "4P2C"
   640  
   641  	// RearPortTypeLabelGG45 captures enum value "GG45"
   642  	RearPortTypeLabelGG45 string = "GG45"
   643  
   644  	// RearPortTypeLabelTERA4P captures enum value "TERA 4P"
   645  	RearPortTypeLabelTERA4P string = "TERA 4P"
   646  
   647  	// RearPortTypeLabelTERA2P captures enum value "TERA 2P"
   648  	RearPortTypeLabelTERA2P string = "TERA 2P"
   649  
   650  	// RearPortTypeLabelTERA1P captures enum value "TERA 1P"
   651  	RearPortTypeLabelTERA1P string = "TERA 1P"
   652  
   653  	// RearPortTypeLabelNr110Punch captures enum value "110 Punch"
   654  	RearPortTypeLabelNr110Punch string = "110 Punch"
   655  
   656  	// RearPortTypeLabelBNC captures enum value "BNC"
   657  	RearPortTypeLabelBNC string = "BNC"
   658  
   659  	// RearPortTypeLabelFConnector captures enum value "F Connector"
   660  	RearPortTypeLabelFConnector string = "F Connector"
   661  
   662  	// RearPortTypeLabelNConnector captures enum value "N Connector"
   663  	RearPortTypeLabelNConnector string = "N Connector"
   664  
   665  	// RearPortTypeLabelMRJ21 captures enum value "MRJ21"
   666  	RearPortTypeLabelMRJ21 string = "MRJ21"
   667  
   668  	// RearPortTypeLabelFC captures enum value "FC"
   669  	RearPortTypeLabelFC string = "FC"
   670  
   671  	// RearPortTypeLabelLC captures enum value "LC"
   672  	RearPortTypeLabelLC string = "LC"
   673  
   674  	// RearPortTypeLabelLCAPC captures enum value "LC/APC"
   675  	RearPortTypeLabelLCAPC string = "LC/APC"
   676  
   677  	// RearPortTypeLabelLSH captures enum value "LSH"
   678  	RearPortTypeLabelLSH string = "LSH"
   679  
   680  	// RearPortTypeLabelLSHAPC captures enum value "LSH/APC"
   681  	RearPortTypeLabelLSHAPC string = "LSH/APC"
   682  
   683  	// RearPortTypeLabelMPO captures enum value "MPO"
   684  	RearPortTypeLabelMPO string = "MPO"
   685  
   686  	// RearPortTypeLabelMTRJ captures enum value "MTRJ"
   687  	RearPortTypeLabelMTRJ string = "MTRJ"
   688  
   689  	// RearPortTypeLabelSC captures enum value "SC"
   690  	RearPortTypeLabelSC string = "SC"
   691  
   692  	// RearPortTypeLabelSCAPC captures enum value "SC/APC"
   693  	RearPortTypeLabelSCAPC string = "SC/APC"
   694  
   695  	// RearPortTypeLabelST captures enum value "ST"
   696  	RearPortTypeLabelST string = "ST"
   697  
   698  	// RearPortTypeLabelCS captures enum value "CS"
   699  	RearPortTypeLabelCS string = "CS"
   700  
   701  	// RearPortTypeLabelSN captures enum value "SN"
   702  	RearPortTypeLabelSN string = "SN"
   703  
   704  	// RearPortTypeLabelSplice captures enum value "Splice"
   705  	RearPortTypeLabelSplice string = "Splice"
   706  )
   707  
   708  // prop value enum
   709  func (m *RearPortType) validateLabelEnum(path, location string, value string) error {
   710  	if err := validate.EnumCase(path, location, value, rearPortTypeTypeLabelPropEnum, true); err != nil {
   711  		return err
   712  	}
   713  	return nil
   714  }
   715  
   716  func (m *RearPortType) validateLabel(formats strfmt.Registry) error {
   717  
   718  	if err := validate.Required("type"+"."+"label", "body", m.Label); err != nil {
   719  		return err
   720  	}
   721  
   722  	// value enum
   723  	if err := m.validateLabelEnum("type"+"."+"label", "body", *m.Label); err != nil {
   724  		return err
   725  	}
   726  
   727  	return nil
   728  }
   729  
   730  var rearPortTypeTypeValuePropEnum []interface{}
   731  
   732  func init() {
   733  	var res []string
   734  	if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
   735  		panic(err)
   736  	}
   737  	for _, v := range res {
   738  		rearPortTypeTypeValuePropEnum = append(rearPortTypeTypeValuePropEnum, v)
   739  	}
   740  }
   741  
   742  const (
   743  
   744  	// RearPortTypeValueNr8p8c captures enum value "8p8c"
   745  	RearPortTypeValueNr8p8c string = "8p8c"
   746  
   747  	// RearPortTypeValueNr8p6c captures enum value "8p6c"
   748  	RearPortTypeValueNr8p6c string = "8p6c"
   749  
   750  	// RearPortTypeValueNr8p4c captures enum value "8p4c"
   751  	RearPortTypeValueNr8p4c string = "8p4c"
   752  
   753  	// RearPortTypeValueNr8p2c captures enum value "8p2c"
   754  	RearPortTypeValueNr8p2c string = "8p2c"
   755  
   756  	// RearPortTypeValueNr6p6c captures enum value "6p6c"
   757  	RearPortTypeValueNr6p6c string = "6p6c"
   758  
   759  	// RearPortTypeValueNr6p4c captures enum value "6p4c"
   760  	RearPortTypeValueNr6p4c string = "6p4c"
   761  
   762  	// RearPortTypeValueNr6p2c captures enum value "6p2c"
   763  	RearPortTypeValueNr6p2c string = "6p2c"
   764  
   765  	// RearPortTypeValueNr4p4c captures enum value "4p4c"
   766  	RearPortTypeValueNr4p4c string = "4p4c"
   767  
   768  	// RearPortTypeValueNr4p2c captures enum value "4p2c"
   769  	RearPortTypeValueNr4p2c string = "4p2c"
   770  
   771  	// RearPortTypeValueGg45 captures enum value "gg45"
   772  	RearPortTypeValueGg45 string = "gg45"
   773  
   774  	// RearPortTypeValueTeraDash4p captures enum value "tera-4p"
   775  	RearPortTypeValueTeraDash4p string = "tera-4p"
   776  
   777  	// RearPortTypeValueTeraDash2p captures enum value "tera-2p"
   778  	RearPortTypeValueTeraDash2p string = "tera-2p"
   779  
   780  	// RearPortTypeValueTeraDash1p captures enum value "tera-1p"
   781  	RearPortTypeValueTeraDash1p string = "tera-1p"
   782  
   783  	// RearPortTypeValueNr110DashPunch captures enum value "110-punch"
   784  	RearPortTypeValueNr110DashPunch string = "110-punch"
   785  
   786  	// RearPortTypeValueBnc captures enum value "bnc"
   787  	RearPortTypeValueBnc string = "bnc"
   788  
   789  	// RearPortTypeValueF captures enum value "f"
   790  	RearPortTypeValueF string = "f"
   791  
   792  	// RearPortTypeValueN captures enum value "n"
   793  	RearPortTypeValueN string = "n"
   794  
   795  	// RearPortTypeValueMrj21 captures enum value "mrj21"
   796  	RearPortTypeValueMrj21 string = "mrj21"
   797  
   798  	// RearPortTypeValueFc captures enum value "fc"
   799  	RearPortTypeValueFc string = "fc"
   800  
   801  	// RearPortTypeValueLc captures enum value "lc"
   802  	RearPortTypeValueLc string = "lc"
   803  
   804  	// RearPortTypeValueLcDashApc captures enum value "lc-apc"
   805  	RearPortTypeValueLcDashApc string = "lc-apc"
   806  
   807  	// RearPortTypeValueLsh captures enum value "lsh"
   808  	RearPortTypeValueLsh string = "lsh"
   809  
   810  	// RearPortTypeValueLshDashApc captures enum value "lsh-apc"
   811  	RearPortTypeValueLshDashApc string = "lsh-apc"
   812  
   813  	// RearPortTypeValueMpo captures enum value "mpo"
   814  	RearPortTypeValueMpo string = "mpo"
   815  
   816  	// RearPortTypeValueMtrj captures enum value "mtrj"
   817  	RearPortTypeValueMtrj string = "mtrj"
   818  
   819  	// RearPortTypeValueSc captures enum value "sc"
   820  	RearPortTypeValueSc string = "sc"
   821  
   822  	// RearPortTypeValueScDashApc captures enum value "sc-apc"
   823  	RearPortTypeValueScDashApc string = "sc-apc"
   824  
   825  	// RearPortTypeValueSt captures enum value "st"
   826  	RearPortTypeValueSt string = "st"
   827  
   828  	// RearPortTypeValueCs captures enum value "cs"
   829  	RearPortTypeValueCs string = "cs"
   830  
   831  	// RearPortTypeValueSn captures enum value "sn"
   832  	RearPortTypeValueSn string = "sn"
   833  
   834  	// RearPortTypeValueSplice captures enum value "splice"
   835  	RearPortTypeValueSplice string = "splice"
   836  )
   837  
   838  // prop value enum
   839  func (m *RearPortType) validateValueEnum(path, location string, value string) error {
   840  	if err := validate.EnumCase(path, location, value, rearPortTypeTypeValuePropEnum, true); err != nil {
   841  		return err
   842  	}
   843  	return nil
   844  }
   845  
   846  func (m *RearPortType) validateValue(formats strfmt.Registry) error {
   847  
   848  	if err := validate.Required("type"+"."+"value", "body", m.Value); err != nil {
   849  		return err
   850  	}
   851  
   852  	// value enum
   853  	if err := m.validateValueEnum("type"+"."+"value", "body", *m.Value); err != nil {
   854  		return err
   855  	}
   856  
   857  	return nil
   858  }
   859  
   860  // ContextValidate validates this rear port type based on context it is used
   861  func (m *RearPortType) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   862  	return nil
   863  }
   864  
   865  // MarshalBinary interface implementation
   866  func (m *RearPortType) MarshalBinary() ([]byte, error) {
   867  	if m == nil {
   868  		return nil, nil
   869  	}
   870  	return swag.WriteJSON(m)
   871  }
   872  
   873  // UnmarshalBinary interface implementation
   874  func (m *RearPortType) UnmarshalBinary(b []byte) error {
   875  	var res RearPortType
   876  	if err := swag.ReadJSON(b, &res); err != nil {
   877  		return err
   878  	}
   879  	*m = res
   880  	return nil
   881  }