// Code generated by "enumer -type=DefaultDirectoryPolicyType"; DO NOT EDIT.

package pki

import (
	"fmt"
)

const _DefaultDirectoryPolicyTypeName = "ForbidSignVerbatimRoleExternalPolicy"

var _DefaultDirectoryPolicyTypeIndex = [...]uint8{0, 6, 18, 22, 36}

func (i DefaultDirectoryPolicyType) String() string {
	if i < 0 || i >= DefaultDirectoryPolicyType(len(_DefaultDirectoryPolicyTypeIndex)-1) {
		return fmt.Sprintf("DefaultDirectoryPolicyType(%d)", i)
	}
	return _DefaultDirectoryPolicyTypeName[_DefaultDirectoryPolicyTypeIndex[i]:_DefaultDirectoryPolicyTypeIndex[i+1]]
}

var _DefaultDirectoryPolicyTypeValues = []DefaultDirectoryPolicyType{0, 1, 2, 3}

var _DefaultDirectoryPolicyTypeNameToValueMap = map[string]DefaultDirectoryPolicyType{
	_DefaultDirectoryPolicyTypeName[0:6]:   0,
	_DefaultDirectoryPolicyTypeName[6:18]:  1,
	_DefaultDirectoryPolicyTypeName[18:22]: 2,
	_DefaultDirectoryPolicyTypeName[22:36]: 3,
}

// DefaultDirectoryPolicyTypeString retrieves an enum value from the enum constants string name.
// Throws an error if the param is not part of the enum.
func DefaultDirectoryPolicyTypeString(s string) (DefaultDirectoryPolicyType, error) {
	if val, ok := _DefaultDirectoryPolicyTypeNameToValueMap[s]; ok {
		return val, nil
	}
	return 0, fmt.Errorf("%s does not belong to DefaultDirectoryPolicyType values", s)
}

// DefaultDirectoryPolicyTypeValues returns all values of the enum
func DefaultDirectoryPolicyTypeValues() []DefaultDirectoryPolicyType {
	return _DefaultDirectoryPolicyTypeValues
}

// IsADefaultDirectoryPolicyType returns "true" if the value is listed in the enum definition. "false" otherwise
func (i DefaultDirectoryPolicyType) IsADefaultDirectoryPolicyType() bool {
	for _, v := range _DefaultDirectoryPolicyTypeValues {
		if i == v {
			return true
		}
	}
	return false
}
