github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/api/headchef/headchef_models/v2_build_status_response.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package headchef_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  	"encoding/json"
    10  	"strconv"
    11  
    12  	strfmt "github.com/go-openapi/strfmt"
    13  
    14  	"github.com/go-openapi/errors"
    15  	"github.com/go-openapi/swag"
    16  	"github.com/go-openapi/validate"
    17  )
    18  
    19  // V2BuildStatusResponse Build Status Response (V2)
    20  //
    21  // A snapshot of the current state of a particular build plan-driven build
    22  // swagger:model V2BuildStatusResponse
    23  type V2BuildStatusResponse struct {
    24  
    25  	// An array containing all the artifacts output from all the steps in this build, post-ordered from the build dependency graph.
    26  	// Required: true
    27  	Artifacts []*V2Artifact `json:"artifacts"`
    28  
    29  	// The ID of build plan for this build
    30  	// Required: true
    31  	// Format: uuid
    32  	BuildPlanID *strfmt.UUID `json:"build_plan_id"`
    33  
    34  	// Current state of the build's execution.
    35  	// Required: true
    36  	// Enum: [build_failed build_running build_succeeded]
    37  	BuildState *string `json:"build_state"`
    38  }
    39  
    40  // Validate validates this v2 build status response
    41  func (m *V2BuildStatusResponse) Validate(formats strfmt.Registry) error {
    42  	var res []error
    43  
    44  	if err := m.validateArtifacts(formats); err != nil {
    45  		res = append(res, err)
    46  	}
    47  
    48  	if err := m.validateBuildPlanID(formats); err != nil {
    49  		res = append(res, err)
    50  	}
    51  
    52  	if err := m.validateBuildState(formats); err != nil {
    53  		res = append(res, err)
    54  	}
    55  
    56  	if len(res) > 0 {
    57  		return errors.CompositeValidationError(res...)
    58  	}
    59  	return nil
    60  }
    61  
    62  func (m *V2BuildStatusResponse) validateArtifacts(formats strfmt.Registry) error {
    63  
    64  	if err := validate.Required("artifacts", "body", m.Artifacts); err != nil {
    65  		return err
    66  	}
    67  
    68  	for i := 0; i < len(m.Artifacts); i++ {
    69  		if swag.IsZero(m.Artifacts[i]) { // not required
    70  			continue
    71  		}
    72  
    73  		if m.Artifacts[i] != nil {
    74  			if err := m.Artifacts[i].Validate(formats); err != nil {
    75  				if ve, ok := err.(*errors.Validation); ok {
    76  					return ve.ValidateName("artifacts" + "." + strconv.Itoa(i))
    77  				}
    78  				return err
    79  			}
    80  		}
    81  
    82  	}
    83  
    84  	return nil
    85  }
    86  
    87  func (m *V2BuildStatusResponse) validateBuildPlanID(formats strfmt.Registry) error {
    88  
    89  	if err := validate.Required("build_plan_id", "body", m.BuildPlanID); err != nil {
    90  		return err
    91  	}
    92  
    93  	if err := validate.FormatOf("build_plan_id", "body", "uuid", m.BuildPlanID.String(), formats); err != nil {
    94  		return err
    95  	}
    96  
    97  	return nil
    98  }
    99  
   100  var v2BuildStatusResponseTypeBuildStatePropEnum []interface{}
   101  
   102  func init() {
   103  	var res []string
   104  	if err := json.Unmarshal([]byte(`["build_failed","build_running","build_succeeded"]`), &res); err != nil {
   105  		panic(err)
   106  	}
   107  	for _, v := range res {
   108  		v2BuildStatusResponseTypeBuildStatePropEnum = append(v2BuildStatusResponseTypeBuildStatePropEnum, v)
   109  	}
   110  }
   111  
   112  const (
   113  
   114  	// V2BuildStatusResponseBuildStateBuildFailed captures enum value "build_failed"
   115  	V2BuildStatusResponseBuildStateBuildFailed string = "build_failed"
   116  
   117  	// V2BuildStatusResponseBuildStateBuildRunning captures enum value "build_running"
   118  	V2BuildStatusResponseBuildStateBuildRunning string = "build_running"
   119  
   120  	// V2BuildStatusResponseBuildStateBuildSucceeded captures enum value "build_succeeded"
   121  	V2BuildStatusResponseBuildStateBuildSucceeded string = "build_succeeded"
   122  )
   123  
   124  // prop value enum
   125  func (m *V2BuildStatusResponse) validateBuildStateEnum(path, location string, value string) error {
   126  	if err := validate.Enum(path, location, value, v2BuildStatusResponseTypeBuildStatePropEnum); err != nil {
   127  		return err
   128  	}
   129  	return nil
   130  }
   131  
   132  func (m *V2BuildStatusResponse) validateBuildState(formats strfmt.Registry) error {
   133  
   134  	if err := validate.Required("build_state", "body", m.BuildState); err != nil {
   135  		return err
   136  	}
   137  
   138  	// value enum
   139  	if err := m.validateBuildStateEnum("build_state", "body", *m.BuildState); err != nil {
   140  		return err
   141  	}
   142  
   143  	return nil
   144  }
   145  
   146  // MarshalBinary interface implementation
   147  func (m *V2BuildStatusResponse) MarshalBinary() ([]byte, error) {
   148  	if m == nil {
   149  		return nil, nil
   150  	}
   151  	return swag.WriteJSON(m)
   152  }
   153  
   154  // UnmarshalBinary interface implementation
   155  func (m *V2BuildStatusResponse) UnmarshalBinary(b []byte) error {
   156  	var res V2BuildStatusResponse
   157  	if err := swag.ReadJSON(b, &res); err != nil {
   158  		return err
   159  	}
   160  	*m = res
   161  	return nil
   162  }