module Puppet.Language.NativeTypes (
baseNativeTypes
, defaulttype
, NativeTypeMethods
, NativeTypeName
, HasNativeTypeMethods(..)
) where
import qualified Data.HashMap.Strict as HM
import Puppet.Language.NativeTypes.Concat
import Puppet.Language.NativeTypes.Cron
import Puppet.Language.NativeTypes.Exec
import Puppet.Language.NativeTypes.File
import Puppet.Language.NativeTypes.Group
import Puppet.Language.NativeTypes.Helpers
import Puppet.Language.NativeTypes.Host
import Puppet.Language.NativeTypes.Mount
import Puppet.Language.NativeTypes.Notify
import Puppet.Language.NativeTypes.Package
import Puppet.Language.NativeTypes.SshSecure
import Puppet.Language.NativeTypes.User
import Puppet.Language.NativeTypes.ZoneRecord
fakeTypes :: [(NativeTypeName, NativeTypeMethods)]
fakeTypes = map faketype ["class"]
defaultTypes :: [(NativeTypeName, NativeTypeMethods)]
defaultTypes = map defaulttype ["augeas","computer","filebucket","interface","k5login","macauthorization","mailalias","maillist","mcx","nagios_command","nagios_contact","nagios_contactgroup","nagios_host","nagios_hostdependency","nagios_hostescalation","nagios_hostextinfo","nagios_hostgroup","nagios_service","nagios_servicedependency","nagios_serviceescalation","nagios_serviceextinfo","nagios_servicegroup","nagios_timeperiod","resources","router","schedule","scheduledtask","selboolean","selmodule","service","ssh_authorized_key","sshkey","stage","tidy","vlan","yumrepo","zfs","zone","zpool"]
baseNativeTypes :: Container NativeTypeMethods
baseNativeTypes = HM.fromList
( nativeConcat
: nativeConcatFragment
: nativeCron
: nativeExec
: nativeFile
: nativeGroup
: nativeHost
: nativeMount
: nativeNotify
: nativePackage
: nativeSshSecure
: nativeUser
: nativeZoneRecord
: fakeTypes ++ defaultTypes)