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 }