/*
 * Pipeline API
 *
 * Pipeline is a feature rich application platform, built for containers on top of Kubernetes to automate the DevOps experience, continuous application development and the lifecycle of deployments. 
 *
 * API version: latest
 * Contact: info@banzaicloud.com
 * Generated by: OpenAPI Generator (https://openapi-generator.tech)
 */

package pipeline

type HelmChartsListResponseInnerChartsInnerInner struct {

	Name string `json:"name,omitempty"`

	Home string `json:"home,omitempty"`

	Sources []string `json:"sources,omitempty"`

	Version string `json:"version,omitempty"`

	Description string `json:"description,omitempty"`

	Keywords []string `json:"keywords,omitempty"`

	Maintainers []HelmChartsListResponseInnerChartsInnerInnerMaintainersInner `json:"maintainers,omitempty"`

	Engine string `json:"engine,omitempty"`

	Icon string `json:"icon,omitempty"`

	AppVersion string `json:"appVersion,omitempty"`

	ApiVersion string `json:"apiVersion,omitempty"`

	Deprecated bool `json:"deprecated,omitempty"`

	Urls []string `json:"urls,omitempty"`

	Created string `json:"created,omitempty"`

	Digest string `json:"digest,omitempty"`
}

// AssertHelmChartsListResponseInnerChartsInnerInnerRequired checks if the required fields are not zero-ed
func AssertHelmChartsListResponseInnerChartsInnerInnerRequired(obj HelmChartsListResponseInnerChartsInnerInner) error {
	for _, el := range obj.Maintainers {
		if err := AssertHelmChartsListResponseInnerChartsInnerInnerMaintainersInnerRequired(el); err != nil {
			return err
		}
	}
	return nil
}

// AssertRecurseHelmChartsListResponseInnerChartsInnerInnerRequired recursively checks if required fields are not zero-ed in a nested slice.
// Accepts only nested slice of HelmChartsListResponseInnerChartsInnerInner (e.g. [][]HelmChartsListResponseInnerChartsInnerInner), otherwise ErrTypeAssertionError is thrown.
func AssertRecurseHelmChartsListResponseInnerChartsInnerInnerRequired(objSlice interface{}) error {
	return AssertRecurseInterfaceRequired(objSlice, func(obj interface{}) error {
		aHelmChartsListResponseInnerChartsInnerInner, ok := obj.(HelmChartsListResponseInnerChartsInnerInner)
		if !ok {
			return ErrTypeAssertionError
		}
		return AssertHelmChartsListResponseInnerChartsInnerInnerRequired(aHelmChartsListResponseInnerChartsInnerInner)
	})
}
