github.com/cilium/cilium@v1.16.2/api/v1/models/cgroup_dump_metadata.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  // CgroupDumpMetadata cgroup full metadata
    21  //
    22  // swagger:model CgroupDumpMetadata
    23  type CgroupDumpMetadata struct {
    24  
    25  	// pod metadatas
    26  	PodMetadatas []*CgroupPodMetadata `json:"pod-metadatas"`
    27  }
    28  
    29  // Validate validates this cgroup dump metadata
    30  func (m *CgroupDumpMetadata) Validate(formats strfmt.Registry) error {
    31  	var res []error
    32  
    33  	if err := m.validatePodMetadatas(formats); err != nil {
    34  		res = append(res, err)
    35  	}
    36  
    37  	if len(res) > 0 {
    38  		return errors.CompositeValidationError(res...)
    39  	}
    40  	return nil
    41  }
    42  
    43  func (m *CgroupDumpMetadata) validatePodMetadatas(formats strfmt.Registry) error {
    44  	if swag.IsZero(m.PodMetadatas) { // not required
    45  		return nil
    46  	}
    47  
    48  	for i := 0; i < len(m.PodMetadatas); i++ {
    49  		if swag.IsZero(m.PodMetadatas[i]) { // not required
    50  			continue
    51  		}
    52  
    53  		if m.PodMetadatas[i] != nil {
    54  			if err := m.PodMetadatas[i].Validate(formats); err != nil {
    55  				if ve, ok := err.(*errors.Validation); ok {
    56  					return ve.ValidateName("pod-metadatas" + "." + strconv.Itoa(i))
    57  				} else if ce, ok := err.(*errors.CompositeError); ok {
    58  					return ce.ValidateName("pod-metadatas" + "." + strconv.Itoa(i))
    59  				}
    60  				return err
    61  			}
    62  		}
    63  
    64  	}
    65  
    66  	return nil
    67  }
    68  
    69  // ContextValidate validate this cgroup dump metadata based on the context it is used
    70  func (m *CgroupDumpMetadata) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
    71  	var res []error
    72  
    73  	if err := m.contextValidatePodMetadatas(ctx, formats); err != nil {
    74  		res = append(res, err)
    75  	}
    76  
    77  	if len(res) > 0 {
    78  		return errors.CompositeValidationError(res...)
    79  	}
    80  	return nil
    81  }
    82  
    83  func (m *CgroupDumpMetadata) contextValidatePodMetadatas(ctx context.Context, formats strfmt.Registry) error {
    84  
    85  	for i := 0; i < len(m.PodMetadatas); i++ {
    86  
    87  		if m.PodMetadatas[i] != nil {
    88  
    89  			if swag.IsZero(m.PodMetadatas[i]) { // not required
    90  				return nil
    91  			}
    92  
    93  			if err := m.PodMetadatas[i].ContextValidate(ctx, formats); err != nil {
    94  				if ve, ok := err.(*errors.Validation); ok {
    95  					return ve.ValidateName("pod-metadatas" + "." + strconv.Itoa(i))
    96  				} else if ce, ok := err.(*errors.CompositeError); ok {
    97  					return ce.ValidateName("pod-metadatas" + "." + strconv.Itoa(i))
    98  				}
    99  				return err
   100  			}
   101  		}
   102  
   103  	}
   104  
   105  	return nil
   106  }
   107  
   108  // MarshalBinary interface implementation
   109  func (m *CgroupDumpMetadata) MarshalBinary() ([]byte, error) {
   110  	if m == nil {
   111  		return nil, nil
   112  	}
   113  	return swag.WriteJSON(m)
   114  }
   115  
   116  // UnmarshalBinary interface implementation
   117  func (m *CgroupDumpMetadata) UnmarshalBinary(b []byte) error {
   118  	var res CgroupDumpMetadata
   119  	if err := swag.ReadJSON(b, &res); err != nil {
   120  		return err
   121  	}
   122  	*m = res
   123  	return nil
   124  }