-- | This exposed module holds the /native/ Puppet resource types. 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"] -- | The map of native types. baseNativeTypes :: Container NativeTypeMethods baseNativeTypes = HM.fromList ( nativeConcat : nativeConcatFragment : nativeCron : nativeExec : nativeFile : nativeGroup : nativeHost : nativeMount : nativeNotify : nativePackage : nativeSshSecure : nativeUser : nativeZoneRecord : fakeTypes ++ defaultTypes)