package enum

// MemberOrigin identifies how the member was provisioned.
type MemberOrigin string

const (
	MemberOriginPlatformNative MemberOrigin = "platform_native"
	MemberOriginOIDC           MemberOrigin = "oidc"
	MemberOriginLDAP           MemberOrigin = "ldap"
	MemberOriginSCIM           MemberOrigin = "scim"
)

func (o MemberOrigin) String() string {
	return string(o)
}

// IsValid reports whether the origin is a known enum value.
func (o MemberOrigin) IsValid() bool {
	switch o {
	case MemberOriginPlatformNative, MemberOriginOIDC, MemberOriginLDAP, MemberOriginSCIM:
		return true
	default:
		return false
	}
}
