github.com/digitalocean/go-netbox@v0.0.2/netbox/models/writable_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  // WritableRearPort writable rear port
    35  //
    36  // swagger:model WritableRearPort
    37  type WritableRearPort 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 *int64 `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  	// 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]
   115  	Type *string `json:"type"`
   116  
   117  	// Url
   118  	// Read Only: true
   119  	// Format: uri
   120  	URL strfmt.URI `json:"url,omitempty"`
   121  }
   122  
   123  // Validate validates this writable rear port
   124  func (m *WritableRearPort) Validate(formats strfmt.Registry) error {
   125  	var res []error
   126  
   127  	if err := m.validateCable(formats); err != nil {
   128  		res = append(res, err)
   129  	}
   130  
   131  	if err := m.validateCreated(formats); err != nil {
   132  		res = append(res, err)
   133  	}
   134  
   135  	if err := m.validateDescription(formats); err != nil {
   136  		res = append(res, err)
   137  	}
   138  
   139  	if err := m.validateDevice(formats); err != nil {
   140  		res = append(res, err)
   141  	}
   142  
   143  	if err := m.validateLabel(formats); err != nil {
   144  		res = append(res, err)
   145  	}
   146  
   147  	if err := m.validateLastUpdated(formats); err != nil {
   148  		res = append(res, err)
   149  	}
   150  
   151  	if err := m.validateName(formats); err != nil {
   152  		res = append(res, err)
   153  	}
   154  
   155  	if err := m.validatePositions(formats); err != nil {
   156  		res = append(res, err)
   157  	}
   158  
   159  	if err := m.validateTags(formats); err != nil {
   160  		res = append(res, err)
   161  	}
   162  
   163  	if err := m.validateType(formats); err != nil {
   164  		res = append(res, err)
   165  	}
   166  
   167  	if err := m.validateURL(formats); err != nil {
   168  		res = append(res, err)
   169  	}
   170  
   171  	if len(res) > 0 {
   172  		return errors.CompositeValidationError(res...)
   173  	}
   174  	return nil
   175  }
   176  
   177  func (m *WritableRearPort) validateCable(formats strfmt.Registry) error {
   178  	if swag.IsZero(m.Cable) { // not required
   179  		return nil
   180  	}
   181  
   182  	if m.Cable != nil {
   183  		if err := m.Cable.Validate(formats); err != nil {
   184  			if ve, ok := err.(*errors.Validation); ok {
   185  				return ve.ValidateName("cable")
   186  			} else if ce, ok := err.(*errors.CompositeError); ok {
   187  				return ce.ValidateName("cable")
   188  			}
   189  			return err
   190  		}
   191  	}
   192  
   193  	return nil
   194  }
   195  
   196  func (m *WritableRearPort) validateCreated(formats strfmt.Registry) error {
   197  	if swag.IsZero(m.Created) { // not required
   198  		return nil
   199  	}
   200  
   201  	if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
   202  		return err
   203  	}
   204  
   205  	return nil
   206  }
   207  
   208  func (m *WritableRearPort) validateDescription(formats strfmt.Registry) error {
   209  	if swag.IsZero(m.Description) { // not required
   210  		return nil
   211  	}
   212  
   213  	if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
   214  		return err
   215  	}
   216  
   217  	return nil
   218  }
   219  
   220  func (m *WritableRearPort) validateDevice(formats strfmt.Registry) error {
   221  
   222  	if err := validate.Required("device", "body", m.Device); err != nil {
   223  		return err
   224  	}
   225  
   226  	return nil
   227  }
   228  
   229  func (m *WritableRearPort) validateLabel(formats strfmt.Registry) error {
   230  	if swag.IsZero(m.Label) { // not required
   231  		return nil
   232  	}
   233  
   234  	if err := validate.MaxLength("label", "body", m.Label, 64); err != nil {
   235  		return err
   236  	}
   237  
   238  	return nil
   239  }
   240  
   241  func (m *WritableRearPort) validateLastUpdated(formats strfmt.Registry) error {
   242  	if swag.IsZero(m.LastUpdated) { // not required
   243  		return nil
   244  	}
   245  
   246  	if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
   247  		return err
   248  	}
   249  
   250  	return nil
   251  }
   252  
   253  func (m *WritableRearPort) validateName(formats strfmt.Registry) error {
   254  
   255  	if err := validate.Required("name", "body", m.Name); err != nil {
   256  		return err
   257  	}
   258  
   259  	if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
   260  		return err
   261  	}
   262  
   263  	if err := validate.MaxLength("name", "body", *m.Name, 64); err != nil {
   264  		return err
   265  	}
   266  
   267  	return nil
   268  }
   269  
   270  func (m *WritableRearPort) validatePositions(formats strfmt.Registry) error {
   271  	if swag.IsZero(m.Positions) { // not required
   272  		return nil
   273  	}
   274  
   275  	if err := validate.MinimumInt("positions", "body", m.Positions, 1, false); err != nil {
   276  		return err
   277  	}
   278  
   279  	if err := validate.MaximumInt("positions", "body", m.Positions, 1024, false); err != nil {
   280  		return err
   281  	}
   282  
   283  	return nil
   284  }
   285  
   286  func (m *WritableRearPort) validateTags(formats strfmt.Registry) error {
   287  	if swag.IsZero(m.Tags) { // not required
   288  		return nil
   289  	}
   290  
   291  	for i := 0; i < len(m.Tags); i++ {
   292  		if swag.IsZero(m.Tags[i]) { // not required
   293  			continue
   294  		}
   295  
   296  		if m.Tags[i] != nil {
   297  			if err := m.Tags[i].Validate(formats); err != nil {
   298  				if ve, ok := err.(*errors.Validation); ok {
   299  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   300  				} else if ce, ok := err.(*errors.CompositeError); ok {
   301  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   302  				}
   303  				return err
   304  			}
   305  		}
   306  
   307  	}
   308  
   309  	return nil
   310  }
   311  
   312  var writableRearPortTypeTypePropEnum []interface{}
   313  
   314  func init() {
   315  	var res []string
   316  	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 {
   317  		panic(err)
   318  	}
   319  	for _, v := range res {
   320  		writableRearPortTypeTypePropEnum = append(writableRearPortTypeTypePropEnum, v)
   321  	}
   322  }
   323  
   324  const (
   325  
   326  	// WritableRearPortTypeNr8p8c captures enum value "8p8c"
   327  	WritableRearPortTypeNr8p8c string = "8p8c"
   328  
   329  	// WritableRearPortTypeNr8p6c captures enum value "8p6c"
   330  	WritableRearPortTypeNr8p6c string = "8p6c"
   331  
   332  	// WritableRearPortTypeNr8p4c captures enum value "8p4c"
   333  	WritableRearPortTypeNr8p4c string = "8p4c"
   334  
   335  	// WritableRearPortTypeNr8p2c captures enum value "8p2c"
   336  	WritableRearPortTypeNr8p2c string = "8p2c"
   337  
   338  	// WritableRearPortTypeNr6p6c captures enum value "6p6c"
   339  	WritableRearPortTypeNr6p6c string = "6p6c"
   340  
   341  	// WritableRearPortTypeNr6p4c captures enum value "6p4c"
   342  	WritableRearPortTypeNr6p4c string = "6p4c"
   343  
   344  	// WritableRearPortTypeNr6p2c captures enum value "6p2c"
   345  	WritableRearPortTypeNr6p2c string = "6p2c"
   346  
   347  	// WritableRearPortTypeNr4p4c captures enum value "4p4c"
   348  	WritableRearPortTypeNr4p4c string = "4p4c"
   349  
   350  	// WritableRearPortTypeNr4p2c captures enum value "4p2c"
   351  	WritableRearPortTypeNr4p2c string = "4p2c"
   352  
   353  	// WritableRearPortTypeGg45 captures enum value "gg45"
   354  	WritableRearPortTypeGg45 string = "gg45"
   355  
   356  	// WritableRearPortTypeTeraDash4p captures enum value "tera-4p"
   357  	WritableRearPortTypeTeraDash4p string = "tera-4p"
   358  
   359  	// WritableRearPortTypeTeraDash2p captures enum value "tera-2p"
   360  	WritableRearPortTypeTeraDash2p string = "tera-2p"
   361  
   362  	// WritableRearPortTypeTeraDash1p captures enum value "tera-1p"
   363  	WritableRearPortTypeTeraDash1p string = "tera-1p"
   364  
   365  	// WritableRearPortTypeNr110DashPunch captures enum value "110-punch"
   366  	WritableRearPortTypeNr110DashPunch string = "110-punch"
   367  
   368  	// WritableRearPortTypeBnc captures enum value "bnc"
   369  	WritableRearPortTypeBnc string = "bnc"
   370  
   371  	// WritableRearPortTypeF captures enum value "f"
   372  	WritableRearPortTypeF string = "f"
   373  
   374  	// WritableRearPortTypeN captures enum value "n"
   375  	WritableRearPortTypeN string = "n"
   376  
   377  	// WritableRearPortTypeMrj21 captures enum value "mrj21"
   378  	WritableRearPortTypeMrj21 string = "mrj21"
   379  
   380  	// WritableRearPortTypeFc captures enum value "fc"
   381  	WritableRearPortTypeFc string = "fc"
   382  
   383  	// WritableRearPortTypeLc captures enum value "lc"
   384  	WritableRearPortTypeLc string = "lc"
   385  
   386  	// WritableRearPortTypeLcDashApc captures enum value "lc-apc"
   387  	WritableRearPortTypeLcDashApc string = "lc-apc"
   388  
   389  	// WritableRearPortTypeLsh captures enum value "lsh"
   390  	WritableRearPortTypeLsh string = "lsh"
   391  
   392  	// WritableRearPortTypeLshDashApc captures enum value "lsh-apc"
   393  	WritableRearPortTypeLshDashApc string = "lsh-apc"
   394  
   395  	// WritableRearPortTypeMpo captures enum value "mpo"
   396  	WritableRearPortTypeMpo string = "mpo"
   397  
   398  	// WritableRearPortTypeMtrj captures enum value "mtrj"
   399  	WritableRearPortTypeMtrj string = "mtrj"
   400  
   401  	// WritableRearPortTypeSc captures enum value "sc"
   402  	WritableRearPortTypeSc string = "sc"
   403  
   404  	// WritableRearPortTypeScDashApc captures enum value "sc-apc"
   405  	WritableRearPortTypeScDashApc string = "sc-apc"
   406  
   407  	// WritableRearPortTypeSt captures enum value "st"
   408  	WritableRearPortTypeSt string = "st"
   409  
   410  	// WritableRearPortTypeCs captures enum value "cs"
   411  	WritableRearPortTypeCs string = "cs"
   412  
   413  	// WritableRearPortTypeSn captures enum value "sn"
   414  	WritableRearPortTypeSn string = "sn"
   415  
   416  	// WritableRearPortTypeSplice captures enum value "splice"
   417  	WritableRearPortTypeSplice string = "splice"
   418  )
   419  
   420  // prop value enum
   421  func (m *WritableRearPort) validateTypeEnum(path, location string, value string) error {
   422  	if err := validate.EnumCase(path, location, value, writableRearPortTypeTypePropEnum, true); err != nil {
   423  		return err
   424  	}
   425  	return nil
   426  }
   427  
   428  func (m *WritableRearPort) validateType(formats strfmt.Registry) error {
   429  
   430  	if err := validate.Required("type", "body", m.Type); err != nil {
   431  		return err
   432  	}
   433  
   434  	// value enum
   435  	if err := m.validateTypeEnum("type", "body", *m.Type); err != nil {
   436  		return err
   437  	}
   438  
   439  	return nil
   440  }
   441  
   442  func (m *WritableRearPort) validateURL(formats strfmt.Registry) error {
   443  	if swag.IsZero(m.URL) { // not required
   444  		return nil
   445  	}
   446  
   447  	if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
   448  		return err
   449  	}
   450  
   451  	return nil
   452  }
   453  
   454  // ContextValidate validate this writable rear port based on the context it is used
   455  func (m *WritableRearPort) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   456  	var res []error
   457  
   458  	if err := m.contextValidateOccupied(ctx, formats); err != nil {
   459  		res = append(res, err)
   460  	}
   461  
   462  	if err := m.contextValidateCable(ctx, formats); err != nil {
   463  		res = append(res, err)
   464  	}
   465  
   466  	if err := m.contextValidateCablePeer(ctx, formats); err != nil {
   467  		res = append(res, err)
   468  	}
   469  
   470  	if err := m.contextValidateCablePeerType(ctx, formats); err != nil {
   471  		res = append(res, err)
   472  	}
   473  
   474  	if err := m.contextValidateCreated(ctx, formats); err != nil {
   475  		res = append(res, err)
   476  	}
   477  
   478  	if err := m.contextValidateDisplay(ctx, formats); err != nil {
   479  		res = append(res, err)
   480  	}
   481  
   482  	if err := m.contextValidateID(ctx, formats); err != nil {
   483  		res = append(res, err)
   484  	}
   485  
   486  	if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
   487  		res = append(res, err)
   488  	}
   489  
   490  	if err := m.contextValidateTags(ctx, formats); err != nil {
   491  		res = append(res, err)
   492  	}
   493  
   494  	if err := m.contextValidateURL(ctx, formats); err != nil {
   495  		res = append(res, err)
   496  	}
   497  
   498  	if len(res) > 0 {
   499  		return errors.CompositeValidationError(res...)
   500  	}
   501  	return nil
   502  }
   503  
   504  func (m *WritableRearPort) contextValidateOccupied(ctx context.Context, formats strfmt.Registry) error {
   505  
   506  	if err := validate.ReadOnly(ctx, "_occupied", "body", m.Occupied); err != nil {
   507  		return err
   508  	}
   509  
   510  	return nil
   511  }
   512  
   513  func (m *WritableRearPort) contextValidateCable(ctx context.Context, formats strfmt.Registry) error {
   514  
   515  	if m.Cable != nil {
   516  		if err := m.Cable.ContextValidate(ctx, formats); err != nil {
   517  			if ve, ok := err.(*errors.Validation); ok {
   518  				return ve.ValidateName("cable")
   519  			} else if ce, ok := err.(*errors.CompositeError); ok {
   520  				return ce.ValidateName("cable")
   521  			}
   522  			return err
   523  		}
   524  	}
   525  
   526  	return nil
   527  }
   528  
   529  func (m *WritableRearPort) contextValidateCablePeer(ctx context.Context, formats strfmt.Registry) error {
   530  
   531  	return nil
   532  }
   533  
   534  func (m *WritableRearPort) contextValidateCablePeerType(ctx context.Context, formats strfmt.Registry) error {
   535  
   536  	if err := validate.ReadOnly(ctx, "cable_peer_type", "body", string(m.CablePeerType)); err != nil {
   537  		return err
   538  	}
   539  
   540  	return nil
   541  }
   542  
   543  func (m *WritableRearPort) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
   544  
   545  	if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
   546  		return err
   547  	}
   548  
   549  	return nil
   550  }
   551  
   552  func (m *WritableRearPort) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
   553  
   554  	if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
   555  		return err
   556  	}
   557  
   558  	return nil
   559  }
   560  
   561  func (m *WritableRearPort) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
   562  
   563  	if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
   564  		return err
   565  	}
   566  
   567  	return nil
   568  }
   569  
   570  func (m *WritableRearPort) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
   571  
   572  	if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
   573  		return err
   574  	}
   575  
   576  	return nil
   577  }
   578  
   579  func (m *WritableRearPort) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
   580  
   581  	for i := 0; i < len(m.Tags); i++ {
   582  
   583  		if m.Tags[i] != nil {
   584  			if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
   585  				if ve, ok := err.(*errors.Validation); ok {
   586  					return ve.ValidateName("tags" + "." + strconv.Itoa(i))
   587  				} else if ce, ok := err.(*errors.CompositeError); ok {
   588  					return ce.ValidateName("tags" + "." + strconv.Itoa(i))
   589  				}
   590  				return err
   591  			}
   592  		}
   593  
   594  	}
   595  
   596  	return nil
   597  }
   598  
   599  func (m *WritableRearPort) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
   600  
   601  	if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
   602  		return err
   603  	}
   604  
   605  	return nil
   606  }
   607  
   608  // MarshalBinary interface implementation
   609  func (m *WritableRearPort) MarshalBinary() ([]byte, error) {
   610  	if m == nil {
   611  		return nil, nil
   612  	}
   613  	return swag.WriteJSON(m)
   614  }
   615  
   616  // UnmarshalBinary interface implementation
   617  func (m *WritableRearPort) UnmarshalBinary(b []byte) error {
   618  	var res WritableRearPort
   619  	if err := swag.ReadJSON(b, &res); err != nil {
   620  		return err
   621  	}
   622  	*m = res
   623  	return nil
   624  }