packages feed

language-puppet-1.5.1: src/Puppet/Language/NativeTypes/User.hs

module Puppet.Language.NativeTypes.User (nativeUser) where

import Puppet.Language.NativeTypes.Helpers

nativeUser :: (NativeTypeName, NativeTypeMethods)
nativeUser = ("user", nativetypemethods parameterfunctions return)

-- Autorequires: If Puppet is managing the user or user that owns a file, the file resource will autorequire them.
-- If Puppet is managing any parent directories of a file, the file resource will autorequire them.
parameterfunctions :: [(Text, [Text -> NativeTypeValidate])]
parameterfunctions =
  [ ("allowdupe", [string, defaultvalue "false", values ["true", "false"]]),
    ("attribute_membership", [string, defaultvalue "minimum", values ["inclusive", "minimum"]]),
    ("attributes", [rarray, strings]),
    ("auth_membership", [defaultvalue "minimum", string, values ["inclusive", "minimum"]]),
    ("auths", [rarray, strings]),
    ("comment", [string]),
    ("ensure", [defaultvalue "present", string, values ["present", "absent", "role"]]),
    ("expiry", [string]),
    ("gid", [string]),
    ("groups", [rarray, strings]),
    ("home", [string, fullyQualified, noTrailingSlash]),
    ("ia_load_module", [string]),
    ("iterations", [integer]),
    ("key_membership", [string, defaultvalue "minimum", values ["inclusive", "minimum"]]),
    ("keys", []),
    ("managehome", [string, defaultvalue "false", values ["true", "false"]]),
    ("membership", [string, defaultvalue "minimum", values ["inclusive", "minimum"]]),
    ("name", [nameval]),
    ("password", [string]),
    ("password_max_age", [integer]),
    ("password_min_age", [integer]),
    ("profile_membership", [string, defaultvalue "minimum", values ["inclusive", "minimum"]]),
    ("profiles", [rarray, strings]),
    ("project", [string]),
    ("provider", [string, values ["aix", "directoryservice", "hpuxuseradd", "useradd", "ldap", "pw", "user_role_add", "window_adsi"]]),
    ("role_membership", [string, defaultvalue "minimum", values ["inclusive", "minimum"]]),
    ("roles", [rarray, strings]),
    ("salt", [string]),
    ("shell", [string, fullyQualified, noTrailingSlash]),
    ("system", [string, defaultvalue "false", values ["true", "false"]]),
    ("uid", [integer])
  ]