func ToPolicy()

in admission/api/helpers.go [29:79]


func ToPolicy(defaults PodSecurityDefaults) (policyapi.Policy, error) {
	var (
		err  error
		errs []error
		p    policyapi.Policy
	)

	if len(defaults.Enforce) == 0 {
		errs = appendErr(errs, requiredErr, "enforce")
	} else {
		p.Enforce.Level, err = policyapi.ParseLevel(defaults.Enforce)
		errs = appendErr(errs, err, "enforce")
	}

	if len(defaults.EnforceVersion) == 0 {
		errs = appendErr(errs, requiredErr, "enforce-version")
	} else {
		p.Enforce.Version, err = policyapi.ParseVersion(defaults.EnforceVersion)
		errs = appendErr(errs, err, "enforce-version")
	}

	if len(defaults.Audit) == 0 {
		errs = appendErr(errs, requiredErr, "audit")
	} else {
		p.Audit.Level, err = policyapi.ParseLevel(defaults.Audit)
		errs = appendErr(errs, err, "audit")
	}

	if len(defaults.AuditVersion) == 0 {
		errs = appendErr(errs, requiredErr, "audit-version")
	} else {
		p.Audit.Version, err = policyapi.ParseVersion(defaults.AuditVersion)
		errs = appendErr(errs, err, "audit-version")
	}

	if len(defaults.Warn) == 0 {
		errs = appendErr(errs, requiredErr, "warn")
	} else {
		p.Warn.Level, err = policyapi.ParseLevel(defaults.Warn)
		errs = appendErr(errs, err, "warn")
	}

	if len(defaults.WarnVersion) == 0 {
		errs = appendErr(errs, requiredErr, "warn-version")
	} else {
		p.Warn.Version, err = policyapi.ParseVersion(defaults.WarnVersion)
		errs = appendErr(errs, err, "warn-version")
	}

	return p, errors.NewAggregate(errs)
}