github.com/minio/console@v1.3.0/models/admin_info_response.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  // This file is part of MinIO Console Server
     4  // Copyright (c) 2023 MinIO, Inc.
     5  //
     6  // This program is free software: you can redistribute it and/or modify
     7  // it under the terms of the GNU Affero General Public License as published by
     8  // the Free Software Foundation, either version 3 of the License, or
     9  // (at your option) any later version.
    10  //
    11  // This program is distributed in the hope that it will be useful,
    12  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    14  // GNU Affero General Public License for more details.
    15  //
    16  // You should have received a copy of the GNU Affero General Public License
    17  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    18  //
    19  
    20  package models
    21  
    22  // This file was generated by the swagger tool.
    23  // Editing this file might prove futile when you re-run the swagger generate command
    24  
    25  import (
    26  	"context"
    27  	"encoding/json"
    28  	"strconv"
    29  
    30  	"github.com/go-openapi/errors"
    31  	"github.com/go-openapi/strfmt"
    32  	"github.com/go-openapi/swag"
    33  	"github.com/go-openapi/validate"
    34  )
    35  
    36  // AdminInfoResponse admin info response
    37  //
    38  // swagger:model adminInfoResponse
    39  type AdminInfoResponse struct {
    40  
    41  	// advanced metrics status
    42  	// Enum: [not configured available unavailable]
    43  	AdvancedMetricsStatus string `json:"advancedMetricsStatus,omitempty"`
    44  
    45  	// backend
    46  	Backend *BackendProperties `json:"backend,omitempty"`
    47  
    48  	// buckets
    49  	Buckets int64 `json:"buckets,omitempty"`
    50  
    51  	// objects
    52  	Objects int64 `json:"objects,omitempty"`
    53  
    54  	// servers
    55  	Servers []*ServerProperties `json:"servers"`
    56  
    57  	// usage
    58  	Usage int64 `json:"usage,omitempty"`
    59  
    60  	// widgets
    61  	Widgets []*Widget `json:"widgets"`
    62  }
    63  
    64  // Validate validates this admin info response
    65  func (m *AdminInfoResponse) Validate(formats strfmt.Registry) error {
    66  	var res []error
    67  
    68  	if err := m.validateAdvancedMetricsStatus(formats); err != nil {
    69  		res = append(res, err)
    70  	}
    71  
    72  	if err := m.validateBackend(formats); err != nil {
    73  		res = append(res, err)
    74  	}
    75  
    76  	if err := m.validateServers(formats); err != nil {
    77  		res = append(res, err)
    78  	}
    79  
    80  	if err := m.validateWidgets(formats); err != nil {
    81  		res = append(res, err)
    82  	}
    83  
    84  	if len(res) > 0 {
    85  		return errors.CompositeValidationError(res...)
    86  	}
    87  	return nil
    88  }
    89  
    90  var adminInfoResponseTypeAdvancedMetricsStatusPropEnum []interface{}
    91  
    92  func init() {
    93  	var res []string
    94  	if err := json.Unmarshal([]byte(`["not configured","available","unavailable"]`), &res); err != nil {
    95  		panic(err)
    96  	}
    97  	for _, v := range res {
    98  		adminInfoResponseTypeAdvancedMetricsStatusPropEnum = append(adminInfoResponseTypeAdvancedMetricsStatusPropEnum, v)
    99  	}
   100  }
   101  
   102  const (
   103  
   104  	// AdminInfoResponseAdvancedMetricsStatusNotConfigured captures enum value "not configured"
   105  	AdminInfoResponseAdvancedMetricsStatusNotConfigured string = "not configured"
   106  
   107  	// AdminInfoResponseAdvancedMetricsStatusAvailable captures enum value "available"
   108  	AdminInfoResponseAdvancedMetricsStatusAvailable string = "available"
   109  
   110  	// AdminInfoResponseAdvancedMetricsStatusUnavailable captures enum value "unavailable"
   111  	AdminInfoResponseAdvancedMetricsStatusUnavailable string = "unavailable"
   112  )
   113  
   114  // prop value enum
   115  func (m *AdminInfoResponse) validateAdvancedMetricsStatusEnum(path, location string, value string) error {
   116  	if err := validate.EnumCase(path, location, value, adminInfoResponseTypeAdvancedMetricsStatusPropEnum, true); err != nil {
   117  		return err
   118  	}
   119  	return nil
   120  }
   121  
   122  func (m *AdminInfoResponse) validateAdvancedMetricsStatus(formats strfmt.Registry) error {
   123  	if swag.IsZero(m.AdvancedMetricsStatus) { // not required
   124  		return nil
   125  	}
   126  
   127  	// value enum
   128  	if err := m.validateAdvancedMetricsStatusEnum("advancedMetricsStatus", "body", m.AdvancedMetricsStatus); err != nil {
   129  		return err
   130  	}
   131  
   132  	return nil
   133  }
   134  
   135  func (m *AdminInfoResponse) validateBackend(formats strfmt.Registry) error {
   136  	if swag.IsZero(m.Backend) { // not required
   137  		return nil
   138  	}
   139  
   140  	if m.Backend != nil {
   141  		if err := m.Backend.Validate(formats); err != nil {
   142  			if ve, ok := err.(*errors.Validation); ok {
   143  				return ve.ValidateName("backend")
   144  			} else if ce, ok := err.(*errors.CompositeError); ok {
   145  				return ce.ValidateName("backend")
   146  			}
   147  			return err
   148  		}
   149  	}
   150  
   151  	return nil
   152  }
   153  
   154  func (m *AdminInfoResponse) validateServers(formats strfmt.Registry) error {
   155  	if swag.IsZero(m.Servers) { // not required
   156  		return nil
   157  	}
   158  
   159  	for i := 0; i < len(m.Servers); i++ {
   160  		if swag.IsZero(m.Servers[i]) { // not required
   161  			continue
   162  		}
   163  
   164  		if m.Servers[i] != nil {
   165  			if err := m.Servers[i].Validate(formats); err != nil {
   166  				if ve, ok := err.(*errors.Validation); ok {
   167  					return ve.ValidateName("servers" + "." + strconv.Itoa(i))
   168  				} else if ce, ok := err.(*errors.CompositeError); ok {
   169  					return ce.ValidateName("servers" + "." + strconv.Itoa(i))
   170  				}
   171  				return err
   172  			}
   173  		}
   174  
   175  	}
   176  
   177  	return nil
   178  }
   179  
   180  func (m *AdminInfoResponse) validateWidgets(formats strfmt.Registry) error {
   181  	if swag.IsZero(m.Widgets) { // not required
   182  		return nil
   183  	}
   184  
   185  	for i := 0; i < len(m.Widgets); i++ {
   186  		if swag.IsZero(m.Widgets[i]) { // not required
   187  			continue
   188  		}
   189  
   190  		if m.Widgets[i] != nil {
   191  			if err := m.Widgets[i].Validate(formats); err != nil {
   192  				if ve, ok := err.(*errors.Validation); ok {
   193  					return ve.ValidateName("widgets" + "." + strconv.Itoa(i))
   194  				} else if ce, ok := err.(*errors.CompositeError); ok {
   195  					return ce.ValidateName("widgets" + "." + strconv.Itoa(i))
   196  				}
   197  				return err
   198  			}
   199  		}
   200  
   201  	}
   202  
   203  	return nil
   204  }
   205  
   206  // ContextValidate validate this admin info response based on the context it is used
   207  func (m *AdminInfoResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   208  	var res []error
   209  
   210  	if err := m.contextValidateBackend(ctx, formats); err != nil {
   211  		res = append(res, err)
   212  	}
   213  
   214  	if err := m.contextValidateServers(ctx, formats); err != nil {
   215  		res = append(res, err)
   216  	}
   217  
   218  	if err := m.contextValidateWidgets(ctx, formats); err != nil {
   219  		res = append(res, err)
   220  	}
   221  
   222  	if len(res) > 0 {
   223  		return errors.CompositeValidationError(res...)
   224  	}
   225  	return nil
   226  }
   227  
   228  func (m *AdminInfoResponse) contextValidateBackend(ctx context.Context, formats strfmt.Registry) error {
   229  
   230  	if m.Backend != nil {
   231  
   232  		if swag.IsZero(m.Backend) { // not required
   233  			return nil
   234  		}
   235  
   236  		if err := m.Backend.ContextValidate(ctx, formats); err != nil {
   237  			if ve, ok := err.(*errors.Validation); ok {
   238  				return ve.ValidateName("backend")
   239  			} else if ce, ok := err.(*errors.CompositeError); ok {
   240  				return ce.ValidateName("backend")
   241  			}
   242  			return err
   243  		}
   244  	}
   245  
   246  	return nil
   247  }
   248  
   249  func (m *AdminInfoResponse) contextValidateServers(ctx context.Context, formats strfmt.Registry) error {
   250  
   251  	for i := 0; i < len(m.Servers); i++ {
   252  
   253  		if m.Servers[i] != nil {
   254  
   255  			if swag.IsZero(m.Servers[i]) { // not required
   256  				return nil
   257  			}
   258  
   259  			if err := m.Servers[i].ContextValidate(ctx, formats); err != nil {
   260  				if ve, ok := err.(*errors.Validation); ok {
   261  					return ve.ValidateName("servers" + "." + strconv.Itoa(i))
   262  				} else if ce, ok := err.(*errors.CompositeError); ok {
   263  					return ce.ValidateName("servers" + "." + strconv.Itoa(i))
   264  				}
   265  				return err
   266  			}
   267  		}
   268  
   269  	}
   270  
   271  	return nil
   272  }
   273  
   274  func (m *AdminInfoResponse) contextValidateWidgets(ctx context.Context, formats strfmt.Registry) error {
   275  
   276  	for i := 0; i < len(m.Widgets); i++ {
   277  
   278  		if m.Widgets[i] != nil {
   279  
   280  			if swag.IsZero(m.Widgets[i]) { // not required
   281  				return nil
   282  			}
   283  
   284  			if err := m.Widgets[i].ContextValidate(ctx, formats); err != nil {
   285  				if ve, ok := err.(*errors.Validation); ok {
   286  					return ve.ValidateName("widgets" + "." + strconv.Itoa(i))
   287  				} else if ce, ok := err.(*errors.CompositeError); ok {
   288  					return ce.ValidateName("widgets" + "." + strconv.Itoa(i))
   289  				}
   290  				return err
   291  			}
   292  		}
   293  
   294  	}
   295  
   296  	return nil
   297  }
   298  
   299  // MarshalBinary interface implementation
   300  func (m *AdminInfoResponse) MarshalBinary() ([]byte, error) {
   301  	if m == nil {
   302  		return nil, nil
   303  	}
   304  	return swag.WriteJSON(m)
   305  }
   306  
   307  // UnmarshalBinary interface implementation
   308  func (m *AdminInfoResponse) UnmarshalBinary(b []byte) error {
   309  	var res AdminInfoResponse
   310  	if err := swag.ReadJSON(b, &res); err != nil {
   311  		return err
   312  	}
   313  	*m = res
   314  	return nil
   315  }