github.com/cilium/cilium@v1.16.2/api/v1/models/cluster_node_status.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  // Copyright Authors of Cilium
     4  // SPDX-License-Identifier: Apache-2.0
     5  
     6  package models
     7  
     8  // This file was generated by the swagger tool.
     9  // Editing this file might prove futile when you re-run the swagger generate command
    10  
    11  import (
    12  	"context"
    13  	"strconv"
    14  
    15  	"github.com/go-openapi/errors"
    16  	"github.com/go-openapi/strfmt"
    17  	"github.com/go-openapi/swag"
    18  )
    19  
    20  // ClusterNodeStatus Status of cluster
    21  //
    22  // swagger:model ClusterNodeStatus
    23  type ClusterNodeStatus struct {
    24  
    25  	// ID that should be used by the client to receive a diff from the previous request
    26  	ClientID int64 `json:"client-id,omitempty"`
    27  
    28  	// List of known nodes
    29  	NodesAdded []*NodeElement `json:"nodes-added"`
    30  
    31  	// List of known nodes
    32  	NodesRemoved []*NodeElement `json:"nodes-removed"`
    33  
    34  	// Name of local node (if available)
    35  	Self string `json:"self,omitempty"`
    36  }
    37  
    38  // Validate validates this cluster node status
    39  func (m *ClusterNodeStatus) Validate(formats strfmt.Registry) error {
    40  	var res []error
    41  
    42  	if err := m.validateNodesAdded(formats); err != nil {
    43  		res = append(res, err)
    44  	}
    45  
    46  	if err := m.validateNodesRemoved(formats); err != nil {
    47  		res = append(res, err)
    48  	}
    49  
    50  	if len(res) > 0 {
    51  		return errors.CompositeValidationError(res...)
    52  	}
    53  	return nil
    54  }
    55  
    56  func (m *ClusterNodeStatus) validateNodesAdded(formats strfmt.Registry) error {
    57  	if swag.IsZero(m.NodesAdded) { // not required
    58  		return nil
    59  	}
    60  
    61  	for i := 0; i < len(m.NodesAdded); i++ {
    62  		if swag.IsZero(m.NodesAdded[i]) { // not required
    63  			continue
    64  		}
    65  
    66  		if m.NodesAdded[i] != nil {
    67  			if err := m.NodesAdded[i].Validate(formats); err != nil {
    68  				if ve, ok := err.(*errors.Validation); ok {
    69  					return ve.ValidateName("nodes-added" + "." + strconv.Itoa(i))
    70  				} else if ce, ok := err.(*errors.CompositeError); ok {
    71  					return ce.ValidateName("nodes-added" + "." + strconv.Itoa(i))
    72  				}
    73  				return err
    74  			}
    75  		}
    76  
    77  	}
    78  
    79  	return nil
    80  }
    81  
    82  func (m *ClusterNodeStatus) validateNodesRemoved(formats strfmt.Registry) error {
    83  	if swag.IsZero(m.NodesRemoved) { // not required
    84  		return nil
    85  	}
    86  
    87  	for i := 0; i < len(m.NodesRemoved); i++ {
    88  		if swag.IsZero(m.NodesRemoved[i]) { // not required
    89  			continue
    90  		}
    91  
    92  		if m.NodesRemoved[i] != nil {
    93  			if err := m.NodesRemoved[i].Validate(formats); err != nil {
    94  				if ve, ok := err.(*errors.Validation); ok {
    95  					return ve.ValidateName("nodes-removed" + "." + strconv.Itoa(i))
    96  				} else if ce, ok := err.(*errors.CompositeError); ok {
    97  					return ce.ValidateName("nodes-removed" + "." + strconv.Itoa(i))
    98  				}
    99  				return err
   100  			}
   101  		}
   102  
   103  	}
   104  
   105  	return nil
   106  }
   107  
   108  // ContextValidate validate this cluster node status based on the context it is used
   109  func (m *ClusterNodeStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   110  	var res []error
   111  
   112  	if err := m.contextValidateNodesAdded(ctx, formats); err != nil {
   113  		res = append(res, err)
   114  	}
   115  
   116  	if err := m.contextValidateNodesRemoved(ctx, formats); err != nil {
   117  		res = append(res, err)
   118  	}
   119  
   120  	if len(res) > 0 {
   121  		return errors.CompositeValidationError(res...)
   122  	}
   123  	return nil
   124  }
   125  
   126  func (m *ClusterNodeStatus) contextValidateNodesAdded(ctx context.Context, formats strfmt.Registry) error {
   127  
   128  	for i := 0; i < len(m.NodesAdded); i++ {
   129  
   130  		if m.NodesAdded[i] != nil {
   131  
   132  			if swag.IsZero(m.NodesAdded[i]) { // not required
   133  				return nil
   134  			}
   135  
   136  			if err := m.NodesAdded[i].ContextValidate(ctx, formats); err != nil {
   137  				if ve, ok := err.(*errors.Validation); ok {
   138  					return ve.ValidateName("nodes-added" + "." + strconv.Itoa(i))
   139  				} else if ce, ok := err.(*errors.CompositeError); ok {
   140  					return ce.ValidateName("nodes-added" + "." + strconv.Itoa(i))
   141  				}
   142  				return err
   143  			}
   144  		}
   145  
   146  	}
   147  
   148  	return nil
   149  }
   150  
   151  func (m *ClusterNodeStatus) contextValidateNodesRemoved(ctx context.Context, formats strfmt.Registry) error {
   152  
   153  	for i := 0; i < len(m.NodesRemoved); i++ {
   154  
   155  		if m.NodesRemoved[i] != nil {
   156  
   157  			if swag.IsZero(m.NodesRemoved[i]) { // not required
   158  				return nil
   159  			}
   160  
   161  			if err := m.NodesRemoved[i].ContextValidate(ctx, formats); err != nil {
   162  				if ve, ok := err.(*errors.Validation); ok {
   163  					return ve.ValidateName("nodes-removed" + "." + strconv.Itoa(i))
   164  				} else if ce, ok := err.(*errors.CompositeError); ok {
   165  					return ce.ValidateName("nodes-removed" + "." + strconv.Itoa(i))
   166  				}
   167  				return err
   168  			}
   169  		}
   170  
   171  	}
   172  
   173  	return nil
   174  }
   175  
   176  // MarshalBinary interface implementation
   177  func (m *ClusterNodeStatus) MarshalBinary() ([]byte, error) {
   178  	if m == nil {
   179  		return nil, nil
   180  	}
   181  	return swag.WriteJSON(m)
   182  }
   183  
   184  // UnmarshalBinary interface implementation
   185  func (m *ClusterNodeStatus) UnmarshalBinary(b []byte) error {
   186  	var res ClusterNodeStatus
   187  	if err := swag.ReadJSON(b, &res); err != nil {
   188  		return err
   189  	}
   190  	*m = res
   191  	return nil
   192  }