github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/inventory/inventory_models/resolved_ingredient.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  	"strconv"
    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  // ResolvedIngredient Resolved Ingredient
    19  //
    20  // An ingredient that is part of a recipe's resolved requirements
    21  //
    22  // swagger:model resolvedIngredient
    23  type ResolvedIngredient struct {
    24  
    25  	// Alternative ingredient versions which can also satisfy the order's requirement. Each entry in the array is the ID of an ingredient version which could satisfy these requirements.
    26  	Alternatives []strfmt.UUID `json:"alternatives"`
    27  
    28  	// An ID to uniquely represent the artifact built from resolved ingredient. The same ingredient version will have different artifact IDs on different platforms, different images, or with different resolved dependencies.
    29  	// Format: uuid
    30  	ArtifactID strfmt.UUID `json:"artifact_id,omitempty"`
    31  
    32  	// The custom build scripts for building this ingredient, if any
    33  	BuildScripts []*BuildScript `json:"build_scripts"`
    34  
    35  	// The dependencies in the recipe for this ingredient version. Each item contains an ingredient version UUID which maps to an ingredient version in this recipe.
    36  	Dependencies []*ResolvedIngredientDependency `json:"dependencies"`
    37  
    38  	// ingredient
    39  	// Required: true
    40  	Ingredient *Ingredient `json:"ingredient"`
    41  
    42  	// The ingredient options of the resolved ingredient which had their conditions met by the recipe
    43  	IngredientOptions []*IngredientOption `json:"ingredient_options"`
    44  
    45  	// ingredient version
    46  	// Required: true
    47  	IngredientVersion *IngredientVersion `json:"ingredient_version"`
    48  
    49  	// The patches to apply to this ingredient's source before building, if any
    50  	Patches []*IngredientVersionRevisionPatch `json:"patches"`
    51  
    52  	// The original requirement(s) in the order that were resolved to this ingredient version. This list will be empty if an ingredient was added to the recipe to fulfill a dependency of something else in the order.
    53  	ResolvedRequirements []*OrderRequirement `json:"resolved_requirements"`
    54  }
    55  
    56  // Validate validates this resolved ingredient
    57  func (m *ResolvedIngredient) Validate(formats strfmt.Registry) error {
    58  	var res []error
    59  
    60  	if err := m.validateAlternatives(formats); err != nil {
    61  		res = append(res, err)
    62  	}
    63  
    64  	if err := m.validateArtifactID(formats); err != nil {
    65  		res = append(res, err)
    66  	}
    67  
    68  	if err := m.validateBuildScripts(formats); err != nil {
    69  		res = append(res, err)
    70  	}
    71  
    72  	if err := m.validateDependencies(formats); err != nil {
    73  		res = append(res, err)
    74  	}
    75  
    76  	if err := m.validateIngredient(formats); err != nil {
    77  		res = append(res, err)
    78  	}
    79  
    80  	if err := m.validateIngredientOptions(formats); err != nil {
    81  		res = append(res, err)
    82  	}
    83  
    84  	if err := m.validateIngredientVersion(formats); err != nil {
    85  		res = append(res, err)
    86  	}
    87  
    88  	if err := m.validatePatches(formats); err != nil {
    89  		res = append(res, err)
    90  	}
    91  
    92  	if err := m.validateResolvedRequirements(formats); err != nil {
    93  		res = append(res, err)
    94  	}
    95  
    96  	if len(res) > 0 {
    97  		return errors.CompositeValidationError(res...)
    98  	}
    99  	return nil
   100  }
   101  
   102  func (m *ResolvedIngredient) validateAlternatives(formats strfmt.Registry) error {
   103  	if swag.IsZero(m.Alternatives) { // not required
   104  		return nil
   105  	}
   106  
   107  	for i := 0; i < len(m.Alternatives); i++ {
   108  
   109  		if err := validate.FormatOf("alternatives"+"."+strconv.Itoa(i), "body", "uuid", m.Alternatives[i].String(), formats); err != nil {
   110  			return err
   111  		}
   112  
   113  	}
   114  
   115  	return nil
   116  }
   117  
   118  func (m *ResolvedIngredient) validateArtifactID(formats strfmt.Registry) error {
   119  	if swag.IsZero(m.ArtifactID) { // not required
   120  		return nil
   121  	}
   122  
   123  	if err := validate.FormatOf("artifact_id", "body", "uuid", m.ArtifactID.String(), formats); err != nil {
   124  		return err
   125  	}
   126  
   127  	return nil
   128  }
   129  
   130  func (m *ResolvedIngredient) validateBuildScripts(formats strfmt.Registry) error {
   131  	if swag.IsZero(m.BuildScripts) { // not required
   132  		return nil
   133  	}
   134  
   135  	for i := 0; i < len(m.BuildScripts); i++ {
   136  		if swag.IsZero(m.BuildScripts[i]) { // not required
   137  			continue
   138  		}
   139  
   140  		if m.BuildScripts[i] != nil {
   141  			if err := m.BuildScripts[i].Validate(formats); err != nil {
   142  				if ve, ok := err.(*errors.Validation); ok {
   143  					return ve.ValidateName("build_scripts" + "." + strconv.Itoa(i))
   144  				}
   145  				return err
   146  			}
   147  		}
   148  
   149  	}
   150  
   151  	return nil
   152  }
   153  
   154  func (m *ResolvedIngredient) validateDependencies(formats strfmt.Registry) error {
   155  	if swag.IsZero(m.Dependencies) { // not required
   156  		return nil
   157  	}
   158  
   159  	for i := 0; i < len(m.Dependencies); i++ {
   160  		if swag.IsZero(m.Dependencies[i]) { // not required
   161  			continue
   162  		}
   163  
   164  		if m.Dependencies[i] != nil {
   165  			if err := m.Dependencies[i].Validate(formats); err != nil {
   166  				if ve, ok := err.(*errors.Validation); ok {
   167  					return ve.ValidateName("dependencies" + "." + strconv.Itoa(i))
   168  				}
   169  				return err
   170  			}
   171  		}
   172  
   173  	}
   174  
   175  	return nil
   176  }
   177  
   178  func (m *ResolvedIngredient) validateIngredient(formats strfmt.Registry) error {
   179  
   180  	if err := validate.Required("ingredient", "body", m.Ingredient); err != nil {
   181  		return err
   182  	}
   183  
   184  	if m.Ingredient != nil {
   185  		if err := m.Ingredient.Validate(formats); err != nil {
   186  			if ve, ok := err.(*errors.Validation); ok {
   187  				return ve.ValidateName("ingredient")
   188  			}
   189  			return err
   190  		}
   191  	}
   192  
   193  	return nil
   194  }
   195  
   196  func (m *ResolvedIngredient) validateIngredientOptions(formats strfmt.Registry) error {
   197  	if swag.IsZero(m.IngredientOptions) { // not required
   198  		return nil
   199  	}
   200  
   201  	for i := 0; i < len(m.IngredientOptions); i++ {
   202  		if swag.IsZero(m.IngredientOptions[i]) { // not required
   203  			continue
   204  		}
   205  
   206  		if m.IngredientOptions[i] != nil {
   207  			if err := m.IngredientOptions[i].Validate(formats); err != nil {
   208  				if ve, ok := err.(*errors.Validation); ok {
   209  					return ve.ValidateName("ingredient_options" + "." + strconv.Itoa(i))
   210  				}
   211  				return err
   212  			}
   213  		}
   214  
   215  	}
   216  
   217  	return nil
   218  }
   219  
   220  func (m *ResolvedIngredient) validateIngredientVersion(formats strfmt.Registry) error {
   221  
   222  	if err := validate.Required("ingredient_version", "body", m.IngredientVersion); err != nil {
   223  		return err
   224  	}
   225  
   226  	if m.IngredientVersion != nil {
   227  		if err := m.IngredientVersion.Validate(formats); err != nil {
   228  			if ve, ok := err.(*errors.Validation); ok {
   229  				return ve.ValidateName("ingredient_version")
   230  			}
   231  			return err
   232  		}
   233  	}
   234  
   235  	return nil
   236  }
   237  
   238  func (m *ResolvedIngredient) validatePatches(formats strfmt.Registry) error {
   239  	if swag.IsZero(m.Patches) { // not required
   240  		return nil
   241  	}
   242  
   243  	for i := 0; i < len(m.Patches); i++ {
   244  		if swag.IsZero(m.Patches[i]) { // not required
   245  			continue
   246  		}
   247  
   248  		if m.Patches[i] != nil {
   249  			if err := m.Patches[i].Validate(formats); err != nil {
   250  				if ve, ok := err.(*errors.Validation); ok {
   251  					return ve.ValidateName("patches" + "." + strconv.Itoa(i))
   252  				}
   253  				return err
   254  			}
   255  		}
   256  
   257  	}
   258  
   259  	return nil
   260  }
   261  
   262  func (m *ResolvedIngredient) validateResolvedRequirements(formats strfmt.Registry) error {
   263  	if swag.IsZero(m.ResolvedRequirements) { // not required
   264  		return nil
   265  	}
   266  
   267  	for i := 0; i < len(m.ResolvedRequirements); i++ {
   268  		if swag.IsZero(m.ResolvedRequirements[i]) { // not required
   269  			continue
   270  		}
   271  
   272  		if m.ResolvedRequirements[i] != nil {
   273  			if err := m.ResolvedRequirements[i].Validate(formats); err != nil {
   274  				if ve, ok := err.(*errors.Validation); ok {
   275  					return ve.ValidateName("resolved_requirements" + "." + strconv.Itoa(i))
   276  				}
   277  				return err
   278  			}
   279  		}
   280  
   281  	}
   282  
   283  	return nil
   284  }
   285  
   286  // ContextValidate validate this resolved ingredient based on the context it is used
   287  func (m *ResolvedIngredient) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
   288  	var res []error
   289  
   290  	if err := m.contextValidateBuildScripts(ctx, formats); err != nil {
   291  		res = append(res, err)
   292  	}
   293  
   294  	if err := m.contextValidateDependencies(ctx, formats); err != nil {
   295  		res = append(res, err)
   296  	}
   297  
   298  	if err := m.contextValidateIngredient(ctx, formats); err != nil {
   299  		res = append(res, err)
   300  	}
   301  
   302  	if err := m.contextValidateIngredientOptions(ctx, formats); err != nil {
   303  		res = append(res, err)
   304  	}
   305  
   306  	if err := m.contextValidateIngredientVersion(ctx, formats); err != nil {
   307  		res = append(res, err)
   308  	}
   309  
   310  	if err := m.contextValidatePatches(ctx, formats); err != nil {
   311  		res = append(res, err)
   312  	}
   313  
   314  	if err := m.contextValidateResolvedRequirements(ctx, formats); err != nil {
   315  		res = append(res, err)
   316  	}
   317  
   318  	if len(res) > 0 {
   319  		return errors.CompositeValidationError(res...)
   320  	}
   321  	return nil
   322  }
   323  
   324  func (m *ResolvedIngredient) contextValidateBuildScripts(ctx context.Context, formats strfmt.Registry) error {
   325  
   326  	for i := 0; i < len(m.BuildScripts); i++ {
   327  
   328  		if m.BuildScripts[i] != nil {
   329  			if err := m.BuildScripts[i].ContextValidate(ctx, formats); err != nil {
   330  				if ve, ok := err.(*errors.Validation); ok {
   331  					return ve.ValidateName("build_scripts" + "." + strconv.Itoa(i))
   332  				}
   333  				return err
   334  			}
   335  		}
   336  
   337  	}
   338  
   339  	return nil
   340  }
   341  
   342  func (m *ResolvedIngredient) contextValidateDependencies(ctx context.Context, formats strfmt.Registry) error {
   343  
   344  	for i := 0; i < len(m.Dependencies); i++ {
   345  
   346  		if m.Dependencies[i] != nil {
   347  			if err := m.Dependencies[i].ContextValidate(ctx, formats); err != nil {
   348  				if ve, ok := err.(*errors.Validation); ok {
   349  					return ve.ValidateName("dependencies" + "." + strconv.Itoa(i))
   350  				}
   351  				return err
   352  			}
   353  		}
   354  
   355  	}
   356  
   357  	return nil
   358  }
   359  
   360  func (m *ResolvedIngredient) contextValidateIngredient(ctx context.Context, formats strfmt.Registry) error {
   361  
   362  	if m.Ingredient != nil {
   363  		if err := m.Ingredient.ContextValidate(ctx, formats); err != nil {
   364  			if ve, ok := err.(*errors.Validation); ok {
   365  				return ve.ValidateName("ingredient")
   366  			}
   367  			return err
   368  		}
   369  	}
   370  
   371  	return nil
   372  }
   373  
   374  func (m *ResolvedIngredient) contextValidateIngredientOptions(ctx context.Context, formats strfmt.Registry) error {
   375  
   376  	for i := 0; i < len(m.IngredientOptions); i++ {
   377  
   378  		if m.IngredientOptions[i] != nil {
   379  			if err := m.IngredientOptions[i].ContextValidate(ctx, formats); err != nil {
   380  				if ve, ok := err.(*errors.Validation); ok {
   381  					return ve.ValidateName("ingredient_options" + "." + strconv.Itoa(i))
   382  				}
   383  				return err
   384  			}
   385  		}
   386  
   387  	}
   388  
   389  	return nil
   390  }
   391  
   392  func (m *ResolvedIngredient) contextValidateIngredientVersion(ctx context.Context, formats strfmt.Registry) error {
   393  
   394  	if m.IngredientVersion != nil {
   395  		if err := m.IngredientVersion.ContextValidate(ctx, formats); err != nil {
   396  			if ve, ok := err.(*errors.Validation); ok {
   397  				return ve.ValidateName("ingredient_version")
   398  			}
   399  			return err
   400  		}
   401  	}
   402  
   403  	return nil
   404  }
   405  
   406  func (m *ResolvedIngredient) contextValidatePatches(ctx context.Context, formats strfmt.Registry) error {
   407  
   408  	for i := 0; i < len(m.Patches); i++ {
   409  
   410  		if m.Patches[i] != nil {
   411  			if err := m.Patches[i].ContextValidate(ctx, formats); err != nil {
   412  				if ve, ok := err.(*errors.Validation); ok {
   413  					return ve.ValidateName("patches" + "." + strconv.Itoa(i))
   414  				}
   415  				return err
   416  			}
   417  		}
   418  
   419  	}
   420  
   421  	return nil
   422  }
   423  
   424  func (m *ResolvedIngredient) contextValidateResolvedRequirements(ctx context.Context, formats strfmt.Registry) error {
   425  
   426  	for i := 0; i < len(m.ResolvedRequirements); i++ {
   427  
   428  		if m.ResolvedRequirements[i] != nil {
   429  			if err := m.ResolvedRequirements[i].ContextValidate(ctx, formats); err != nil {
   430  				if ve, ok := err.(*errors.Validation); ok {
   431  					return ve.ValidateName("resolved_requirements" + "." + strconv.Itoa(i))
   432  				}
   433  				return err
   434  			}
   435  		}
   436  
   437  	}
   438  
   439  	return nil
   440  }
   441  
   442  // MarshalBinary interface implementation
   443  func (m *ResolvedIngredient) MarshalBinary() ([]byte, error) {
   444  	if m == nil {
   445  		return nil, nil
   446  	}
   447  	return swag.WriteJSON(m)
   448  }
   449  
   450  // UnmarshalBinary interface implementation
   451  func (m *ResolvedIngredient) UnmarshalBinary(b []byte) error {
   452  	var res ResolvedIngredient
   453  	if err := swag.ReadJSON(b, &res); err != nil {
   454  		return err
   455  	}
   456  	*m = res
   457  	return nil
   458  }