github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/inventory/inventory_models/solver_remediation.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package inventory_models
     4  
     5  // This file was generated by the swagger tool.
     6  // Editing this file might prove futile when you re-run the swagger generate command
     7  
     8  import (
     9  	"context"
    10  	"encoding/json"
    11  
    12  	"github.com/go-openapi/errors"
    13  	"github.com/go-openapi/strfmt"
    14  	"github.com/go-openapi/swag"
    15  	"github.com/go-openapi/validate"
    16  )
    17  
    18  // SolverRemediation Solver Remediation
    19  //
    20  // An action that a user can take to attempt to resolve a solver error
    21  //
    22  // swagger:model solverRemediation
    23  type SolverRemediation struct {
    24  
    25  	// An explanation of this remediation
    26  	// Required: true
    27  	Command *string `json:"command"`
    28  
    29  	// parameters
    30  	Parameters *SolverRemediationParameters `json:"parameters,omitempty"`
    31  
    32  	// The remediation type. Different types of remediations have different fields.
    33  	// Required: true
    34  	// Enum: [ADVANCE_TIMESTAMP CHANGE_REQUIREMENT_NAME CHANGE_REQUIREMENT_VERSION REMOVE_PLATFORM REMOVE_REQUIREMENT REQUEST_PACKAGE_IMPORT]
    35  	RemediationType *string `json:"remediation_type"`
    36  }
    37  
    38  // Validate validates this solver remediation
    39  func (m *SolverRemediation) Validate(formats strfmt.Registry) error {
    40  	var res []error
    41  
    42  	if err := m.validateCommand(formats); err != nil {
    43  		res = append(res, err)
    44  	}
    45  
    46  	if err := m.validateParameters(formats); err != nil {
    47  		res = append(res, err)
    48  	}
    49  
    50  	if err := m.validateRemediationType(formats); err != nil {
    51  		res = append(res, err)
    52  	}
    53  
    54  	if len(res) > 0 {
    55  		return errors.CompositeValidationError(res...)
    56  	}
    57  	return nil
    58  }
    59  
    60  func (m *SolverRemediation) validateCommand(formats strfmt.Registry) error {
    61  
    62  	if err := validate.Required("command", "body", m.Command); err != nil {
    63  		return err
    64  	}
    65  
    66  	return nil
    67  }
    68  
    69  func (m *SolverRemediation) validateParameters(formats strfmt.Registry) error {
    70  	if swag.IsZero(m.Parameters) { // not required
    71  		return nil
    72  	}
    73  
    74  	if m.Parameters != nil {
    75  		if err := m.Parameters.Validate(formats); err != nil {
    76  			if ve, ok := err.(*errors.Validation); ok {
    77  				return ve.ValidateName("parameters")
    78  			}
    79  			return err
    80  		}
    81  	}
    82  
    83  	return nil
    84  }
    85  
    86  var solverRemediationTypeRemediationTypePropEnum []interface{}
    87  
    88  func init() {
    89  	var res []string
    90  	if err := json.Unmarshal([]byte(`["ADVANCE_TIMESTAMP","CHANGE_REQUIREMENT_NAME","CHANGE_REQUIREMENT_VERSION","REMOVE_PLATFORM","REMOVE_REQUIREMENT","REQUEST_PACKAGE_IMPORT"]`), &res); err != nil {
    91  		panic(err)
    92  	}
    93  	for _, v := range res {
    94  		solverRemediationTypeRemediationTypePropEnum = append(solverRemediationTypeRemediationTypePropEnum, v)
    95  	}
    96  }
    97  
    98  const (
    99  
   100  	// SolverRemediationRemediationTypeADVANCETIMESTAMP captures enum value "ADVANCE_TIMESTAMP"
   101  	SolverRemediationRemediationTypeADVANCETIMESTAMP string = "ADVANCE_TIMESTAMP"
   102  
   103  	// SolverRemediationRemediationTypeCHANGEREQUIREMENTNAME captures enum value "CHANGE_REQUIREMENT_NAME"
   104  	SolverRemediationRemediationTypeCHANGEREQUIREMENTNAME string = "CHANGE_REQUIREMENT_NAME"
   105  
   106  	// SolverRemediationRemediationTypeCHANGEREQUIREMENTVERSION captures enum value "CHANGE_REQUIREMENT_VERSION"
   107  	SolverRemediationRemediationTypeCHANGEREQUIREMENTVERSION string = "CHANGE_REQUIREMENT_VERSION"
   108  
   109  	// SolverRemediationRemediationTypeREMOVEPLATFORM captures enum value "REMOVE_PLATFORM"
   110  	SolverRemediationRemediationTypeREMOVEPLATFORM string = "REMOVE_PLATFORM"
   111  
   112  	// SolverRemediationRemediationTypeREMOVEREQUIREMENT captures enum value "REMOVE_REQUIREMENT"
   113  	SolverRemediationRemediationTypeREMOVEREQUIREMENT string = "REMOVE_REQUIREMENT"
   114  
   115  	// SolverRemediationRemediationTypeREQUESTPACKAGEIMPORT captures enum value "REQUEST_PACKAGE_IMPORT"
   116  	SolverRemediationRemediationTypeREQUESTPACKAGEIMPORT string = "REQUEST_PACKAGE_IMPORT"
   117  )
   118  
   119  // prop value enum
   120  func (m *SolverRemediation) validateRemediationTypeEnum(path, location string, value string) error {
   121  	if err := validate.EnumCase(path, location, value, solverRemediationTypeRemediationTypePropEnum, true); err != nil {
   122  		return err
   123  	}
   124  	return nil
   125  }
   126  
   127  func (m *SolverRemediation) validateRemediationType(formats strfmt.Registry) error {
   128  
   129  	if err := validate.Required("remediation_type", "body", m.RemediationType); err != nil {
   130  		return err
   131  	}
   132  
   133  	// value enum
   134  	if err := m.validateRemediationTypeEnum("remediation_type", "body", *m.RemediationType); err != nil {
   135  		return err
   136  	}
   137  
   138  	return nil
   139  }
   140  
   141  // ContextValidate validate this solver remediation based on the context it is used
   142  func (m *SolverRemediation) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   143  	var res []error
   144  
   145  	if err := m.contextValidateParameters(ctx, formats); err != nil {
   146  		res = append(res, err)
   147  	}
   148  
   149  	if len(res) > 0 {
   150  		return errors.CompositeValidationError(res...)
   151  	}
   152  	return nil
   153  }
   154  
   155  func (m *SolverRemediation) contextValidateParameters(ctx context.Context, formats strfmt.Registry) error {
   156  
   157  	if m.Parameters != nil {
   158  		if err := m.Parameters.ContextValidate(ctx, formats); err != nil {
   159  			if ve, ok := err.(*errors.Validation); ok {
   160  				return ve.ValidateName("parameters")
   161  			}
   162  			return err
   163  		}
   164  	}
   165  
   166  	return nil
   167  }
   168  
   169  // MarshalBinary interface implementation
   170  func (m *SolverRemediation) MarshalBinary() ([]byte, error) {
   171  	if m == nil {
   172  		return nil, nil
   173  	}
   174  	return swag.WriteJSON(m)
   175  }
   176  
   177  // UnmarshalBinary interface implementation
   178  func (m *SolverRemediation) UnmarshalBinary(b []byte) error {
   179  	var res SolverRemediation
   180  	if err := swag.ReadJSON(b, &res); err != nil {
   181  		return err
   182  	}
   183  	*m = res
   184  	return nil
   185  }