/
type.json
1 lines (1 loc) · 248 KB
/
type.json
1
{"augeas":{"description":"Apply a change or an array of changes to the filesystem\nusing the augeas tool.\n\nRequires:\n\n- [Augeas](http://www.augeas.net)\n- The ruby-augeas bindings\n\nSample usage with a string:\n\n augeas{\"test1\" :\n context => \"/files/etc/sysconfig/firstboot\",\n changes => \"set RUN_FIRSTBOOT YES\",\n onlyif => \"match other_value size > 0\",\n }\n\nSample usage with an array and custom lenses:\n\n augeas{\"jboss_conf\":\n context => \"/files\",\n changes => [\n \"set etc/jbossas/jbossas.conf/JBOSS_IP $ipaddress\",\n \"set etc/jbossas/jbossas.conf/JAVA_HOME /usr\",\n ],\n load_path => \"$/usr/share/jbossas/lenses\",\n }","attributes":{"returns":{"description":"The expected return code from the augeas command. Should not be set.","kind":"property","namevar":false},"name":{"description":"The name of this task. Used for uniqueness.","kind":"parameter","namevar":true},"context":{"description":"Optional context path. This value is prepended to the paths of all\nchanges if the path is relative. If the `incl` parameter is set,\ndefaults to `/files + incl`; otherwise, defaults to the empty string.","kind":"parameter","namevar":false},"onlyif":{"description":"Optional augeas command and comparisons to control the execution of this type.\nSupported onlyif syntax:\n\n* `get <AUGEAS_PATH> <COMPARATOR> <STRING>`\n* `match <MATCH_PATH> size <COMPARATOR> <INT>`\n* `match <MATCH_PATH> include <STRING>`\n* `match <MATCH_PATH> not_include <STRING>`\n* `match <MATCH_PATH> == <AN_ARRAY>`\n* `match <MATCH_PATH> != <AN_ARRAY>`\n\nwhere:\n\n* `AUGEAS_PATH` is a valid path scoped by the context\n* `MATCH_PATH` is a valid match syntax scoped by the context\n* `COMPARATOR` is one of `>, >=, !=, ==, <=,` or `<`\n* `STRING` is a string\n* `INT` is a number\n* `AN_ARRAY` is in the form `['a string', 'another']`","kind":"parameter","namevar":false},"changes":{"description":"The changes which should be applied to the filesystem. This\ncan be a command or an array of commands. The following commands are supported:\n\n* `set <PATH> <VALUE>` --- Sets the value `VALUE` at loction `PATH`\n* `setm <PATH> <SUB> <VALUE>` --- Sets multiple nodes (matching `SUB` relative to `PATH`) to `VALUE`\n* `rm <PATH>` --- Removes the node at location `PATH`\n* `remove <PATH>` --- Synonym for `rm`\n* `clear <PATH>` --- Sets the node at `PATH` to `NULL`, creating it if needed\n* `clearm <PATH> <SUB>` --- Sets multiple nodes (matching `SUB` relative to `PATH`) to `NULL`\n* `touch <PATH>` --- Creates `PATH` with the value `NULL` if it does not exist\n* `ins <LABEL> (before|after) <PATH>` --- Inserts an empty node `LABEL` either before or after `PATH`.\n* `insert <LABEL> <WHERE> <PATH>` --- Synonym for `ins`\n* `mv <PATH> <OTHER PATH>` --- Moves a node at `PATH` to the new location `OTHER PATH`\n* `move <PATH> <OTHER PATH>` --- Synonym for `mv`\n* `rename <PATH> <LABEL>` --- Rename a node at `PATH` to a new `LABEL`\n* `defvar <NAME> <PATH>` --- Sets Augeas variable `$NAME` to `PATH`\n* `defnode <NAME> <PATH> <VALUE>` --- Sets Augeas variable `$NAME` to `PATH`, creating it with `VALUE` if needed\n\nIf the `context` parameter is set, that value is prepended to any relative `PATH`s.","kind":"parameter","namevar":false},"root":{"description":"A file system path; all files loaded by Augeas are loaded underneath `root`.","kind":"parameter","namevar":false},"load_path":{"description":"Optional colon-separated list or array of directories; these directories are searched for schema definitions. The agent's `$libdir/augeas/lenses` path will always be added to support pluginsync.","kind":"parameter","namevar":false},"force":{"description":"Optional command to force the augeas type to execute even if it thinks changes\nwill not be made. This does not overide the `onlyif` parameter.","kind":"parameter","namevar":false},"type_check":{"description":"Whether augeas should perform typechecking. Defaults to false.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"lens":{"description":"Use a specific lens, e.g. `Hosts.lns`. When this parameter is set, you\nmust also set the `incl` parameter to indicate which file to load.\nThe Augeas documentation includes [a list of available lenses](http://augeas.net/stock_lenses.html).","kind":"parameter","namevar":false},"incl":{"description":"Load only a specific file, e.g. `/etc/hosts`. This can greatly speed\nup the execution the resource. When this parameter is set, you must also\nset the `lens` parameter to indicate which lens to use.","kind":"parameter","namevar":false},"show_diff":{"description":"Whether to display differences when the file changes, defaulting to\ntrue. This parameter is useful for files that may contain passwords or\nother secret data, which might otherwise be included in Puppet reports or\nother insecure outputs. If the global `show_diff` setting\nis false, then no diffs will be shown even if this parameter is true.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `augeas`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{"parse_commands":"Parse the command string","need_to_run?":"If the command should run","execute_changes":"Actually make the changes"},"providers":{"augeas":{"description":"* Supported features: `execute_changes`, `need_to_run?`, `parse_commands`.","features":["execute_changes","need_to_run?","parse_commands"]}}},"computer":{"description":"Computer object management using DirectoryService\non OS X.\n\nNote that these are distinctly different kinds of objects to 'hosts',\nas they require a MAC address and can have all sorts of policy attached to\nthem.\n\nThis provider only manages Computer objects in the local directory service\ndomain, not in remote directories.\n\nIf you wish to manage `/etc/hosts` file on Mac OS X, then simply use the host\ntype as per other platforms.\n\nThis type primarily exists to create localhost Computer objects that MCX\npolicy can then be attached to.\n\n**Autorequires:** If Puppet is managing the plist file representing a\nComputer object (located at `/var/db/dslocal/nodes/Default/computers/{name}.plist`),\nthe Computer resource will autorequire it.","attributes":{"ensure":{"description":"Control the existences of this computer record. Set this attribute to\n`present` to ensure the computer record exists. Set it to `absent`\nto delete any computer records with this name\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"en_address":{"description":"The MAC address of the primary network interface. Must match en0.","kind":"property","namevar":false},"ip_address":{"description":"The IP Address of the Computer object.","kind":"property","namevar":false},"name":{"description":"The authoritative 'short' name of the computer record.","kind":"parameter","namevar":true},"realname":{"description":"The 'long' name of the computer record.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `computer`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"directoryservice":{"description":"Computer object management using DirectoryService on OS X.\nNote that these are distinctly different kinds of objects to 'hosts',\nas they require a MAC address and can have all sorts of policy attached to\nthem.\n\nThis provider only manages Computer objects in the local directory service\ndomain, not in remote directories.\n\nIf you wish to manage /etc/hosts on Mac OS X, then simply use the host\ntype as per other platforms.\n\n* Default for `operatingsystem` == `darwin`.","features":[]}}},"cron":{"description":"Installs and manages cron jobs. Every cron resource created by Puppet\nrequires a command and at least one periodic attribute (hour, minute,\nmonth, monthday, weekday, or special). While the name of the cron job is\nnot part of the actual job, the name is stored in a comment beginning with\n`# Puppet Name: `. These comments are used to match crontab entries created\nby Puppet with cron resources.\n\nIf an existing crontab entry happens to match the scheduling and command of a\ncron resource that has never been synched, Puppet will defer to the existing\ncrontab entry and will not create a new entry tagged with the `# Puppet Name: `\ncomment.\n\nExample:\n\n cron { logrotate:\n command => \"/usr/sbin/logrotate\",\n user => root,\n hour => 2,\n minute => 0\n }\n\nNote that all periodic attributes can be specified as an array of values:\n\n cron { logrotate:\n command => \"/usr/sbin/logrotate\",\n user => root,\n hour => [2, 4]\n }\n\n...or using ranges or the step syntax `*/2` (although there's no guarantee\nthat your `cron` daemon supports these):\n\n cron { logrotate:\n command => \"/usr/sbin/logrotate\",\n user => root,\n hour => ['2-4'],\n minute => '*/10'\n }\n\nAn important note: _the Cron type will not reset parameters that are\nremoved from a manifest_. For example, removing a `minute => 10` parameter\nwill not reset the minute component of the associated cronjob to `*`.\nThese changes must be expressed by setting the parameter to\n`minute => absent` because Puppet only manages parameters that are out of\nsync with manifest entries.\n\n**Autorequires:** If Puppet is managing the user account specified by the\n`user` property of a cron resource, then the cron resource will autorequire\nthat user.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"command":{"description":"The command to execute in the cron job. The environment\nprovided to the command varies by local system rules, and it is\nbest to always provide a fully qualified command. The user's\nprofile is not sourced when the command is run, so if the\nuser's environment is desired it should be sourced manually.\n\nAll cron parameters support `absent` as a value; this will\nremove any existing values for that field.","kind":"property","namevar":false},"special":{"description":"A special value such as 'reboot' or 'annually'.\nOnly available on supported systems such as Vixie Cron.\nOverrides more specific time of day/week settings.\nSet to 'absent' to make puppet revert to a plain numeric schedule.","kind":"property","namevar":false},"minute":{"description":"The minute at which to run the cron job.\nOptional; if specified, must be between 0 and 59, inclusive.","kind":"property","namevar":false},"hour":{"description":"The hour at which to run the cron job. Optional;\nif specified, must be between 0 and 23, inclusive.","kind":"property","namevar":false},"weekday":{"description":"The weekday on which to run the command.\nOptional; if specified, must be between 0 and 7, inclusive, with\n0 (or 7) being Sunday, or must be the name of the day (e.g., Tuesday).","kind":"property","namevar":false},"month":{"description":"The month of the year. Optional; if specified\nmust be between 1 and 12 or the month name (e.g., December).","kind":"property","namevar":false},"monthday":{"description":"The day of the month on which to run the\ncommand. Optional; if specified, must be between 1 and 31.","kind":"property","namevar":false},"environment":{"description":"Any environment settings associated with this cron job. They\nwill be stored between the header and the job in the crontab. There\ncan be no guarantees that other, earlier settings will not also\naffect a given cron job.\n\n\nAlso, Puppet cannot automatically determine whether an existing,\nunmanaged environment setting is associated with a given cron\njob. If you already have cron jobs with environment settings,\nthen Puppet will keep those settings in the same place in the file,\nbut will not associate them with a specific job.\n\nSettings should be specified exactly as they should appear in\nthe crontab, e.g., `PATH=/bin:/usr/bin:/usr/sbin`.","kind":"property","namevar":false},"user":{"description":"The user who owns the cron job. This user must\nbe allowed to run cron jobs, which is not currently checked by\nPuppet.\n\nThis property defaults to the user running Puppet or `root`.\n\nThe default crontab provider executes the system `crontab` using\nthe user account specified by this property.","kind":"property","namevar":false},"target":{"description":"The name of the crontab file in which the cron job should be stored.\n\nThis property defaults to the value of the `user` property if set, the\nuser running Puppet or `root`.\n\nFor the default crontab provider, this property is functionally\nequivalent to the `user` property and should be avoided. In particular,\nsetting both `user` and `target` to different values will result in\nundefined behavior.","kind":"property","namevar":false},"name":{"description":"The symbolic name of the cron job. This name\nis used for human reference only and is generated automatically\nfor cron jobs found on the system. This generally won't\nmatter, as Puppet will do its best to match existing cron jobs\nagainst specified jobs (and Puppet adds a comment to cron jobs it adds),\nbut it is at least possible that converting from unmanaged jobs to\nmanaged jobs might require manual intervention.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `cron`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"crontab":{"description":"* Required binaries: `crontab`.","features":[]}}},"exec":{"description":"Executes external commands.\n\nAny command in an `exec` resource **must** be able to run multiple times\nwithout causing harm --- that is, it must be *idempotent*. There are three\nmain ways for an exec to be idempotent:\n\n* The command itself is already idempotent. (For example, `apt-get update`.)\n* The exec has an `onlyif`, `unless`, or `creates` attribute, which prevents\n Puppet from running the command unless some condition is met.\n* The exec has `refreshonly => true`, which only allows Puppet to run the\n command when some other resource is changed. (See the notes on refreshing\n below.)\n\nA caution: There's a widespread tendency to use collections of execs to\nmanage resources that aren't covered by an existing resource type. This\nworks fine for simple tasks, but once your exec pile gets complex enough\nthat you really have to think to understand what's happening, you should\nconsider developing a custom resource type instead, as it will be much\nmore predictable and maintainable.\n\n**Refresh:** `exec` resources can respond to refresh events (via\n`notify`, `subscribe`, or the `~>` arrow). The refresh behavior of execs\nis non-standard, and can be affected by the `refresh` and\n`refreshonly` attributes:\n\n* If `refreshonly` is set to true, the exec will _only_ run when it receives an\n event. This is the most reliable way to use refresh with execs.\n* If the exec already would have run and receives an event, it will run its\n command **up to two times.** (If an `onlyif`, `unless`, or `creates` condition\n is no longer met after the first run, the second run will not occur.)\n* If the exec already would have run, has a `refresh` command, and receives an\n event, it will run its normal command, then run its `refresh` command\n (as long as any `onlyif`, `unless`, or `creates` conditions are still met\n after the normal command finishes).\n* If the exec would **not** have run (due to an `onlyif`, `unless`, or `creates`\n attribute) and receives an event, it still will not run.\n* If the exec has `noop => true`, would otherwise have run, and receives\n an event from a non-noop resource, it will run once (or run its `refresh`\n command instead, if it has one).\n\nIn short: If there's a possibility of your exec receiving refresh events,\nit becomes doubly important to make sure the run conditions are restricted.\n\n**Autorequires:** If Puppet is managing an exec's cwd or the executable\nfile used in an exec's command, the exec resource will autorequire those\nfiles. If Puppet is managing the user that an exec should run as, the\nexec resource will autorequire that user.","attributes":{"returns":{"description":"The expected exit code(s). An error will be returned if the\nexecuted command has some other exit code. Defaults to 0. Can be\nspecified as an array of acceptable exit codes or a single value.\n\nOn POSIX systems, exit codes are always integers between 0 and 255.\n\nOn Windows, **most** exit codes should be integers between 0\nand 2147483647.\n\nLarger exit codes on Windows can behave inconsistently across different\ntools. The Win32 APIs define exit codes as 32-bit unsigned integers, but\nboth the cmd.exe shell and the .NET runtime cast them to signed\nintegers. This means some tools will report negative numbers for exit\ncodes above 2147483647. (For example, cmd.exe reports 4294967295 as -1.)\nSince Puppet uses the plain Win32 APIs, it will report the very large\nnumber instead of the negative number, which might not be what you\nexpect if you got the exit code from a cmd.exe session.\n\nMicrosoft recommends against using negative/very large exit codes, and\nyou should avoid them when possible. To convert a negative exit code to\nthe positive one Puppet will use, add it to 4294967296.","kind":"property","namevar":false},"command":{"description":"The actual command to execute. Must either be fully qualified\nor a search path for the command must be provided. If the command\nsucceeds, any output produced will be logged at the instance's\nnormal log level (usually `notice`), but if the command fails\n(meaning its return code does not match the specified code) then\nany output is logged at the `err` log level.","kind":"parameter","namevar":true},"path":{"description":"The search path used for command execution.\nCommands must be fully qualified if no path is specified. Paths\ncan be specified as an array or as a ':' separated list.","kind":"parameter","namevar":false},"user":{"description":"The user to run the command as. Note that if you\nuse this then any error output is not currently captured. This\nis because of a bug within Ruby. If you are using Puppet to\ncreate this user, the exec will automatically require the user,\nas long as it is specified by name.\n\nPlease note that the $HOME environment variable is not automatically set\nwhen using this attribute.","kind":"parameter","namevar":false},"group":{"description":"The group to run the command as. This seems to work quite\nhaphazardly on different platforms -- it is a platform issue\nnot a Ruby or Puppet one, since the same variety exists when\nrunning commands as different users in the shell.","kind":"parameter","namevar":false},"cwd":{"description":"The directory from which to run the command. If\nthis directory does not exist, the command will fail.","kind":"parameter","namevar":false},"logoutput":{"description":"Whether to log command output in addition to logging the\nexit code. Defaults to `on_failure`, which only logs the output\nwhen the command has an exit code that does not match any value\nspecified by the `returns` attribute. As with any resource type,\nthe log level can be controlled with the `loglevel` metaparameter.\n\nValid values are `true`, `false`, `on_failure`.","kind":"parameter","namevar":false},"refresh":{"description":"How to refresh this command. By default, the exec is just\ncalled again when it receives an event from another resource,\nbut this parameter allows you to define a different command\nfor refreshing.","kind":"parameter","namevar":false},"environment":{"description":"Any additional environment variables you want to set for a\ncommand. Note that if you use this to set PATH, it will override\nthe `path` attribute. Multiple environment variables should be\nspecified as an array.","kind":"parameter","namevar":false},"umask":{"description":"Sets the umask to be used while executing this command","kind":"parameter","namevar":false},"timeout":{"description":"The maximum time the command should take. If the command takes\nlonger than the timeout, the command is considered to have failed\nand will be stopped. The timeout is specified in seconds. The default\ntimeout is 300 seconds and you can set it to 0 to disable the timeout.","kind":"parameter","namevar":false},"tries":{"description":"The number of times execution of the command should be tried.\nDefaults to '1'. This many attempts will be made to execute\nthe command until an acceptable return code is returned.\nNote that the timeout parameter applies to each try rather than\nto the complete set of tries.","kind":"parameter","namevar":false},"try_sleep":{"description":"The time to sleep in seconds between 'tries'.","kind":"parameter","namevar":false},"refreshonly":{"description":"The command should only be run as a\nrefresh mechanism for when a dependent object is changed. It only\nmakes sense to use this option when this command depends on some\nother object; it is useful for triggering an action:\n\n # Pull down the main aliases file\n file { \"/etc/aliases\":\n source => \"puppet://server/module/aliases\"\n }\n\n # Rebuild the database, but only when the file changes\n exec { newaliases:\n path => [\"/usr/bin\", \"/usr/sbin\"],\n subscribe => File[\"/etc/aliases\"],\n refreshonly => true\n }\n\nNote that only `subscribe` and `notify` can trigger actions, not `require`,\nso it only makes sense to use `refreshonly` with `subscribe` or `notify`.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"creates":{"description":"A file to look for before running the command. The command will\nonly run if the file **doesn't exist.**\n\nThis parameter doesn't cause Puppet to create a file; it is only\nuseful if **the command itself** creates a file.\n\n exec { \"tar -xf /Volumes/nfs02/important.tar\":\n cwd => \"/var/tmp\",\n creates => \"/var/tmp/myfile\",\n path => [\"/usr/bin\", \"/usr/sbin\"]\n }\n\nIn this example, `myfile` is assumed to be a file inside\n`important.tar`. If it is ever deleted, the exec will bring it\nback by re-extracting the tarball. If `important.tar` does **not**\nactually contain `myfile`, the exec will keep running every time\nPuppet runs.","kind":"parameter","namevar":false},"unless":{"description":"If this parameter is set, then this `exec` will run unless\nthe command has an exit code of 0. For example:\n\n exec { \"/bin/echo root >> /usr/lib/cron/cron.allow\":\n path => \"/usr/bin:/usr/sbin:/bin\",\n unless => \"grep root /usr/lib/cron/cron.allow 2>/dev/null\"\n }\n\nThis would add `root` to the cron.allow file (on Solaris) unless\n`grep` determines it's already there.\n\nNote that this command follows the same rules as the main command,\nsuch as which user and group it's run as.\nThis also means it must be fully qualified if the path is not set.\nIt also uses the same provider as the main command, so any behavior\nthat differs by provider will match.\n\nAlso note that unless can take an array as its value, e.g.:\n\n unless => [\"test -f /tmp/file1\", \"test -f /tmp/file2\"]\n\nThis will only run the exec if _all_ conditions in the array return false.","kind":"parameter","namevar":false},"onlyif":{"description":"If this parameter is set, then this `exec` will only run if\nthe command has an exit code of 0. For example:\n\n exec { \"logrotate\":\n path => \"/usr/bin:/usr/sbin:/bin\",\n onlyif => \"test `du /var/log/messages | cut -f1` -gt 100000\"\n }\n\nThis would run `logrotate` only if that test returned true.\n\nNote that this command follows the same rules as the main command,\nsuch as which user and group it's run as.\nThis also means it must be fully qualified if the path is not set.\n\nIt also uses the same provider as the main command, so any behavior\nthat differs by provider will match.\n\nAlso note that onlyif can take an array as its value, e.g.:\n\n onlyif => [\"test -f /tmp/file1\", \"test -f /tmp/file2\"]\n\nThis will only run the exec if _all_ conditions in the array return true.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `exec`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"posix":{"description":"Executes external binaries directly, without passing through a shell or\nperforming any interpolation. This is a safer and more predictable way\nto execute most commands, but prevents the use of globbing and shell\nbuilt-ins (including control logic like \"for\" and \"if\" statements).\n\n* Default for `feature` == `posix`.","features":[]},"shell":{"description":"Passes the provided command through `/bin/sh`; only available on\nPOSIX systems. This allows the use of shell globbing and built-ins, and\ndoes not require that the path to a command be fully-qualified. Although\nthis can be more convenient than the `posix` provider, it also means that\nyou need to be more careful with escaping; as ever, with great power comes\netc. etc.\n\nThis provider closely resembles the behavior of the `exec` type\nin Puppet 0.25.x.","features":[]},"windows":{"description":"Execute external binaries on Windows systems. As with the `posix`\nprovider, this provider directly calls the command with the arguments\ngiven, without passing it through a shell or performing any interpolation.\nTo use shell built-ins --- that is, to emulate the `shell` provider on\nWindows --- a command must explicitly invoke the shell:\n\n exec {'echo foo':\n command => 'cmd.exe /c echo \"foo\"',\n }\n\nIf no extension is specified for a command, Windows will use the `PATHEXT`\nenvironment variable to locate the executable.\n\n**Note on PowerShell scripts:** PowerShell's default `restricted`\nexecution policy doesn't allow it to run saved scripts. To run PowerShell\nscripts, specify the `remotesigned` execution policy as part of the\ncommand:\n\n exec { 'test':\n path => 'C:/Windows/System32/WindowsPowerShell/v1.0',\n command => 'powershell -executionpolicy remotesigned -file C:/test.ps1',\n }\n\n* Default for `operatingsystem` == `windows`.","features":[]}}},"file":{"description":"Manages files, including their content, ownership, and permissions.\n\nThe `file` type can manage normal files, directories, and symlinks; the\ntype should be specified in the `ensure` attribute.\n\nFile contents can be managed directly with the `content` attribute, or\ndownloaded from a remote source using the `source` attribute; the latter\ncan also be used to recursively serve directories (when the `recurse`\nattribute is set to `true` or `local`). On Windows, note that file\ncontents are managed in binary mode; Puppet never automatically translates\nline endings.\n\n**Autorequires:** If Puppet is managing the user or group that owns a\nfile, the file resource will autorequire them. If Puppet is managing any\nparent directories of a file, the file resource will autorequire them.","attributes":{"content":{"description":"The desired contents of a file, as a string. This attribute is mutually\nexclusive with `source` and `target`.\n\nNewlines and tabs can be specified in double-quoted strings using\nstandard escaped syntax --- \\n for a newline, and \\t for a tab.\n\nWith very small files, you can construct content strings directly in\nthe manifest...\n\n define resolve(nameserver1, nameserver2, domain, search) {\n $str = \"search $search\n domain $domain\n nameserver $nameserver1\n nameserver $nameserver2\n \"\n\n file { \"/etc/resolv.conf\":\n content => \"$str\",\n }\n }\n\n...but for larger files, this attribute is more useful when combined with the\n[template](http://docs.puppetlabs.com/references/latest/function.html#template)\nor [file](http://docs.puppetlabs.com/references/latest/function.html#file)\nfunction.","kind":"property","namevar":false},"target":{"description":"The target for creating a link. Currently, symlinks are the\nonly type supported. This attribute is mutually exclusive with `source`\nand `content`.\n\nSymlink targets can be relative, as well as absolute:\n\n # (Useful on Solaris)\n file { \"/etc/inetd.conf\":\n ensure => link,\n target => \"inet/inetd.conf\",\n }\n\nDirectories of symlinks can be served recursively by instead using the\n`source` attribute, setting `ensure` to `directory`, and setting the\n`links` attribute to `manage`.\n\nValid values are `notlink`. Values can match `/./`.","kind":"property","namevar":false},"ensure":{"description":"Whether the file should exist, and if so what kind of file it should be.\nPossible values are `present`, `absent`, `file`, `directory`, and `link`.\n\n* `present` will accept any form of file existence, and will create a\n normal file if the file is missing. (The file will have no content\n unless the `content` or `source` attribute is used.)\n* `absent` will make sure the file doesn't exist, deleting it\n if necessary.\n* `file` will make sure it's a normal file, and enables use of the\n `content` or `source` attribute.\n* `directory` will make sure it's a directory, and enables use of the\n `source`, `recurse`, `recurselimit`, `ignore`, and `purge` attributes.\n* `link` will make sure the file is a symlink, and **requires** that you\n also set the `target` attribute. Symlinks are supported on all Posix\n systems and on Windows Vista / 2008 and higher. On Windows, managing\n symlinks requires puppet agent's user account to have the \"Create\n Symbolic Links\" privilege; this can be configured in the \"User Rights\n Assignment\" section in the Windows policy editor. By default, puppet\n agent runs as the Administrator account, which does have this privilege.\n\nPuppet avoids destroying directories unless the `force` attribute is set\nto `true`. This means that if a file is currently a directory, setting\n`ensure` to anything but `directory` or `present` will cause Puppet to\nskip managing the resource and log either a notice or an error.\n\nThere is one other non-standard value for `ensure`. If you specify the\npath to another file as the ensure value, it is equivalent to specifying\n`link` and using that path as the `target`:\n\n # Equivalent resources:\n\n file { \"/etc/inetd.conf\":\n ensure => \"/etc/inet/inetd.conf\",\n }\n\n file { \"/etc/inetd.conf\":\n ensure => link,\n target => \"/etc/inet/inetd.conf\",\n }\n\nHowever, we recommend using `link` and `target` explicitly, since this\nbehavior can be harder to read.\n\nValid values are `absent` (also called `false`), `file`, `present`, `directory`, `link`. Values can match `/./`.","kind":"property","namevar":false},"owner":{"description":"The user to whom the file should belong. Argument can be a user name or a\nuser ID.\n\nOn Windows, a group (such as \"Administrators\") can be set as a file's owner\nand a user (such as \"Administrator\") can be set as a file's group; however,\na file's owner and group shouldn't be the same. (If the owner is also\nthe group, files with modes like `0640` will cause log churn, as they\nwill always appear out of sync.)","kind":"property","namevar":false},"group":{"description":"Which group should own the file. Argument can be either a group\nname or a group ID.\n\nOn Windows, a user (such as \"Administrator\") can be set as a file's group\nand a group (such as \"Administrators\") can be set as a file's owner;\nhowever, a file's owner and group shouldn't be the same. (If the owner\nis also the group, files with modes like `0640` will cause log churn, as\nthey will always appear out of sync.)","kind":"property","namevar":false},"mode":{"description":"The desired permissions mode for the file, in symbolic or numeric\nnotation. This value **must** be specified as a string; do not use\nun-quoted numbers to represent file modes.\n\nThe `file` type uses traditional Unix permission schemes and translates\nthem to equivalent permissions for systems which represent permissions\ndifferently, including Windows. For detailed ACL controls on Windows,\nyou can leave `mode` unmanaged and use\n[the puppetlabs/acl module.](https://forge.puppetlabs.com/puppetlabs/acl)\n\nNumeric modes should use the standard octal notation of\n`<SETUID/SETGID/STICKY><OWNER><GROUP><OTHER>` (e.g. '0644').\n\n* Each of the \"owner,\" \"group,\" and \"other\" digits should be a sum of the\n permissions for that class of users, where read = 4, write = 2, and\n execute/search = 1.\n* The setuid/setgid/sticky digit is also a sum, where setuid = 4, setgid = 2,\n and sticky = 1.\n* The setuid/setgid/sticky digit is optional. If it is absent, Puppet will\n clear any existing setuid/setgid/sticky permissions. (So to make your intent\n clear, you should use at least four digits for numeric modes.)\n* When specifying numeric permissions for directories, Puppet sets the search\n permission wherever the read permission is set.\n\nSymbolic modes should be represented as a string of comma-separated\npermission clauses, in the form `<WHO><OP><PERM>`:\n\n* \"Who\" should be u (user), g (group), o (other), and/or a (all)\n* \"Op\" should be = (set exact permissions), + (add select permissions),\n or - (remove select permissions)\n* \"Perm\" should be one or more of:\n * r (read)\n * w (write)\n * x (execute/search)\n * t (sticky)\n * s (setuid/setgid)\n * X (execute/search if directory or if any one user can execute)\n * u (user's current permissions)\n * g (group's current permissions)\n * o (other's current permissions)\n\nThus, mode `0664` could be represented symbolically as either `a=r,ug+w`\nor `ug=rw,o=r`. However, symbolic modes are more expressive than numeric\nmodes: a mode only affects the specified bits, so `mode => 'ug+w'` will\nset the user and group write bits, without affecting any other bits.\n\nSee the manual page for GNU or BSD `chmod` for more details\non numeric and symbolic modes.\n\nOn Windows, permissions are translated as follows:\n\n* Owner and group names are mapped to Windows SIDs\n* The \"other\" class of users maps to the \"Everyone\" SID\n* The read/write/execute permissions map to the `FILE_GENERIC_READ`,\n `FILE_GENERIC_WRITE`, and `FILE_GENERIC_EXECUTE` access rights; a\n file's owner always has the `FULL_CONTROL` right\n* \"Other\" users can't have any permissions a file's group lacks,\n and its group can't have any permissions its owner lacks; that is, 0644\n is an acceptable mode, but 0464 is not.","kind":"property","namevar":false},"type":{"description":"A read-only state to check the file type.","kind":"property","namevar":false},"seluser":{"description":"What the SELinux user component of the context of the file should be.\nAny valid SELinux user component is accepted. For example `user_u`.\nIf not specified it defaults to the value returned by matchpathcon for\nthe file, if any exists. Only valid on systems with SELinux support\nenabled.","kind":"property","namevar":false},"selrole":{"description":"What the SELinux role component of the context of the file should be.\nAny valid SELinux role component is accepted. For example `role_r`.\nIf not specified it defaults to the value returned by matchpathcon for\nthe file, if any exists. Only valid on systems with SELinux support\nenabled.","kind":"property","namevar":false},"seltype":{"description":"What the SELinux type component of the context of the file should be.\nAny valid SELinux type component is accepted. For example `tmp_t`.\nIf not specified it defaults to the value returned by matchpathcon for\nthe file, if any exists. Only valid on systems with SELinux support\nenabled.","kind":"property","namevar":false},"selrange":{"description":"What the SELinux range component of the context of the file should be.\nAny valid SELinux range component is accepted. For example `s0` or\n`SystemHigh`. If not specified it defaults to the value returned by\nmatchpathcon for the file, if any exists. Only valid on systems with\nSELinux support enabled and that have support for MCS (Multi-Category\nSecurity).","kind":"property","namevar":false},"ctime":{"description":"A read-only state to check the file ctime. On most modern \\*nix-like\nsystems, this is the time of the most recent change to the owner, group,\npermissions, or content of the file.","kind":"property","namevar":false},"mtime":{"description":"A read-only state to check the file mtime. On \\*nix-like systems, this\nis the time of the most recent change to the content of the file.","kind":"property","namevar":false},"path":{"description":"The path to the file to manage. Must be fully qualified.\n\nOn Windows, the path should include the drive letter and should use `/` as\nthe separator character (rather than `\\\\`).","kind":"parameter","namevar":true},"backup":{"description":"Whether (and how) file content should be backed up before being replaced.\nThis attribute works best as a resource default in the site manifest\n(`File { backup => main }`), so it can affect all file resources.\n\n* If set to `false`, file content won't be backed up.\n* If set to a string beginning with `.` (e.g., `.puppet-bak`), Puppet will\n use copy the file in the same directory with that value as the extension\n of the backup. (A value of `true` is a synonym for `.puppet-bak`.)\n* If set to any other string, Puppet will try to back up to a filebucket\n with that title. See the `filebucket` resource type for more details.\n (This is the preferred method for backup, since it can be centralized\n and queried.)\n\nDefault value: `puppet`, which backs up to a filebucket of the same name.\n(Puppet automatically creates a **local** filebucket named `puppet` if one\ndoesn't already exist.)\n\nBacking up to a local filebucket isn't particularly useful. If you want\nto make organized use of backups, you will generally want to use the\npuppet master server's filebucket service. This requires declaring a\nfilebucket resource and a resource default for the `backup` attribute\nin site.pp:\n\n # /etc/puppetlabs/puppet/manifests/site.pp\n filebucket { 'main':\n path => false, # This is required for remote filebuckets.\n server => 'puppet.example.com', # Optional; defaults to the configured puppet master.\n }\n\n File { backup => main, }\n\nIf you are using multiple puppet master servers, you will want to\ncentralize the contents of the filebucket. Either configure your load\nbalancer to direct all filebucket traffic to a single master, or use\nsomething like an out-of-band rsync task to synchronize the content on all\nmasters.","kind":"parameter","namevar":false},"recurse":{"description":"Whether to recursively manage the _contents_ of a directory. This attribute\nis only used when `ensure => directory` is set. The allowed values are:\n\n* `false` --- The default behavior. The contents of the directory will not be\n automatically managed.\n* `remote` --- If the `source` attribute is set, Puppet will automatically\n manage the contents of the source directory (or directories), ensuring\n that equivalent files and directories exist on the target system and\n that their contents match.\n\n Using `remote` will disable the `purge` attribute, but results in faster\n catalog application than `recurse => true`.\n\n The `source` attribute is mandatory when `recurse => remote`.\n* `true` --- If the `source` attribute is set, this behaves similarly to\n `recurse => remote`, automatically managing files from the source directory.\n\n This also enables the `purge` attribute, which can delete unmanaged\n files from a directory. See the description of `purge` for more details.\n\n The `source` attribute is not mandatory when using `recurse => true`, so you\n can enable purging in directories where all files are managed individually.\n\nBy default, setting recurse to `remote` or `true` will manage _all_\nsubdirectories. You can use the `recurselimit` attribute to limit the\nrecursion depth.\n\nValid values are `true`, `false`, `remote`.","kind":"parameter","namevar":false},"recurselimit":{"description":"How far Puppet should descend into subdirectories, when using\n`ensure => directory` and either `recurse => true` or `recurse => remote`.\nThe recursion limit affects which files will be copied from the `source`\ndirectory, as well as which files can be purged when `purge => true`.\n\nSetting `recurselimit => 0` is the same as setting `recurse => false` ---\nPuppet will manage the directory, but all of its contents will be treated\nas unmanaged.\n\nSetting `recurselimit => 1` will manage files and directories that are\ndirectly inside the directory, but will not manage the contents of any\nsubdirectories.\n\nSetting `recurselimit => 2` will manage the direct contents of the\ndirectory, as well as the contents of the _first_ level of subdirectories.\n\nAnd so on --- 3 will manage the contents of the second level of\nsubdirectories, etc.\n\nValues can match `/^[0-9]+$/`.","kind":"parameter","namevar":false},"replace":{"description":"Whether to replace a file or symlink that already exists on the local system but\nwhose content doesn't match what the `source` or `content` attribute\nspecifies. Setting this to false allows file resources to initialize files\nwithout overwriting future changes. Note that this only affects content;\nPuppet will still manage ownership and permissions. Defaults to `true`.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"force":{"description":"Perform the file operation even if it will destroy one or more directories.\nYou must use `force` in order to:\n\n* `purge` subdirectories\n* Replace directories with files or links\n* Remove a directory when `ensure => absent`\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"ignore":{"description":"A parameter which omits action on files matching\nspecified patterns during recursion. Uses Ruby's builtin globbing\nengine, so shell metacharacters are fully supported, e.g. `[a-z]*`.\nMatches that would descend into the directory structure are ignored,\ne.g., `*/*`.","kind":"parameter","namevar":false},"links":{"description":"How to handle links during file actions. During file copying,\n`follow` will copy the target file instead of the link, `manage`\nwill copy the link itself, and `ignore` will just pass it by.\nWhen not copying, `manage` and `ignore` behave equivalently\n(because you cannot really ignore links entirely during local\nrecursion), and `follow` will manage the file to which the link points.\n\nValid values are `follow`, `manage`.","kind":"parameter","namevar":false},"purge":{"description":"Whether unmanaged files should be purged. This option only makes\nsense when `ensure => directory` and `recurse => true`.\n\n* When recursively duplicating an entire directory with the `source`\n attribute, `purge => true` will automatically purge any files\n that are not in the source directory.\n* When managing files in a directory as individual resources,\n setting `purge => true` will purge any files that aren't being\n specifically managed.\n\nIf you have a filebucket configured, the purged files will be uploaded,\nbut if you do not, this will destroy data.\n\nUnless `force => true` is set, purging will **not** delete directories,\nalthough it will delete the files they contain.\n\nIf `recurselimit` is set and you aren't using `force => true`, purging\nwill obey the recursion limit; files in any subdirectories deeper than the\nlimit will be treated as unmanaged and left alone.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"sourceselect":{"description":"Whether to copy all valid sources, or just the first one. This parameter\nonly affects recursive directory copies; by default, the first valid\nsource is the only one used, but if this parameter is set to `all`, then\nall valid sources will have all of their contents copied to the local\nsystem. If a given file exists in more than one source, the version from\nthe earliest source in the list will be used.\n\nValid values are `first`, `all`.","kind":"parameter","namevar":false},"show_diff":{"description":"Whether to display differences when the file changes, defaulting to\ntrue. This parameter is useful for files that may contain passwords or\nother secret data, which might otherwise be included in Puppet reports or\nother insecure outputs. If the global `show_diff` setting\nis false, then no diffs will be shown even if this parameter is true.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"validate_cmd":{"description":"A command for validating the file's syntax before replacing it. If\nPuppet would need to rewrite a file due to new `source` or `content`, it\nwill check the new content's validity first. If validation fails, the file\nresource will fail.\n\nThis command must have a fully qualified path, and should contain a\npercent (`%`) token where it would expect an input file. It must exit `0`\nif the syntax is correct, and non-zero otherwise. The command will be\nrun on the target system while applying the catalog, not on the puppet master.\n\nExample:\n\n file { '/etc/apache2/apache2.conf':\n content => 'example',\n validate_cmd => '/usr/sbin/apache2 -t -f %',\n }\n\nThis would replace apache2.conf only if the test returned true.\n\nNote that if a validation command requires a `%` as part of its text,\nyou can specify a different placeholder token with the\n`validate_replacement` attribute.","kind":"parameter","namevar":false},"validate_replacement":{"description":"The replacement string in a `validate_cmd` that will be replaced\nwith an input file name. Defaults to: `%`","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `file`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false},"checksum":{"description":"The checksum type to use when determining whether to replace a file's contents.\n\nThe default checksum type is md5.\n\nValid values are `md5`, `md5lite`, `sha256`, `sha256lite`, `mtime`, `ctime`, `none`.","kind":"parameter","namevar":false},"source":{"description":"A source file, which will be copied into place on the local system.\nValues can be URIs pointing to remote files, or fully qualified paths to\nfiles available on the local system (including files on NFS shares or\nWindows mapped drives). This attribute is mutually exclusive with\n`content` and `target`.\n\nThe available URI schemes are *puppet* and *file*. *Puppet*\nURIs will retrieve files from Puppet's built-in file server, and are\nusually formatted as:\n\n`puppet:///modules/name_of_module/filename`\n\nThis will fetch a file from a module on the puppet master (or from a\nlocal module when using puppet apply). Given a `modulepath` of\n`/etc/puppetlabs/code/modules`, the example above would resolve to\n`/etc/puppetlabs/code/modules/name_of_module/files/filename`.\n\nUnlike `content`, the `source` attribute can be used to recursively copy\ndirectories if the `recurse` attribute is set to `true` or `remote`. If\na source directory contains symlinks, use the `links` attribute to\nspecify whether to recreate links or follow them.\n\nMultiple `source` values can be specified as an array, and Puppet will\nuse the first source that exists. This can be used to serve different\nfiles to different system types:\n\n file { \"/etc/nfs.conf\":\n source => [\n \"puppet:///modules/nfs/conf.$host\",\n \"puppet:///modules/nfs/conf.$operatingsystem\",\n \"puppet:///modules/nfs/conf\"\n ]\n }\n\nAlternately, when serving directories recursively, multiple sources can\nbe combined by setting the `sourceselect` attribute to `all`.","kind":"parameter","namevar":false},"source_permissions":{"description":"Whether (and how) Puppet should copy owner, group, and mode permissions from\nthe `source` to `file` resources when the permissions are not explicitly\nspecified. (In all cases, explicit permissions will take precedence.)\nValid values are `use`, `use_when_creating`, and `ignore`:\n\n* `ignore` (the default) will never apply the owner, group, or mode from\n the `source` when managing a file. When creating new files without explicit\n permissions, the permissions they receive will depend on platform-specific\n behavior. On POSIX, Puppet will use the umask of the user it is running as.\n On Windows, Puppet will use the default DACL associated with the user it is\n running as.\n* `use` will cause Puppet to apply the owner, group,\n and mode from the `source` to any files it is managing.\n* `use_when_creating` will only apply the owner, group, and mode from the\n `source` when creating a file; existing files will not have their permissions\n overwritten.\n\nValid values are `use`, `use_when_creating`, `ignore`.","kind":"parameter","namevar":false},"selinux_ignore_defaults":{"description":"If this is set then Puppet will not ask SELinux (via matchpathcon) to\nsupply defaults for the SELinux attributes (seluser, selrole,\nseltype, and selrange). In general, you should leave this set at its\ndefault and only set it to true when you need Puppet to not try to fix\nSELinux labels automatically.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false}},"features":{"manages_symlinks":"The provider can manage symbolic links."},"providers":{"posix":{"description":"Uses POSIX functionality to manage file ownership and permissions.\n\n* Supported features: `manages_symlinks`.","features":["manages_symlinks"]},"windows":{"description":"Uses Microsoft Windows functionality to manage file ownership and permissions.\n\n* Supported features: `manages_symlinks`.","features":["manages_symlinks"]}}},"filebucket":{"description":"A repository for storing and retrieving file content by MD5 checksum. Can\nbe local to each agent node, or centralized on a puppet master server. All\npuppet masters provide a filebucket service that agent nodes can access\nvia HTTP, but you must declare a filebucket resource before any agents\nwill do so.\n\nFilebuckets are used for the following features:\n\n- **Content backups.** If the `file` type's `backup` attribute is set to\n the name of a filebucket, Puppet will back up the _old_ content whenever\n it rewrites a file; see the documentation for the `file` type for more\n details. These backups can be used for manual recovery of content, but\n are more commonly used to display changes and differences in a tool like\n Puppet Dashboard.\n- **Content distribution.** The optional static compiler populates the\n puppet master's filebucket with the _desired_ content for each file,\n then instructs the agent to retrieve the content for a specific\n checksum. For more details,\n [see the `static_compiler` section in the catalog indirection docs](http://docs.puppetlabs.com/references/latest/indirection.html#catalog).\n\nTo use a central filebucket for backups, you will usually want to declare\na filebucket resource and a resource default for the `backup` attribute\nin site.pp:\n\n # /etc/puppetlabs/puppet/manifests/site.pp\n filebucket { 'main':\n path => false, # This is required for remote filebuckets.\n server => 'puppet.example.com', # Optional; defaults to the configured puppet master.\n }\n\n File { backup => main, }\n\nPuppet master servers automatically provide the filebucket service, so\nthis will work in a default configuration. If you have a heavily\nrestricted `auth.conf` file, you may need to allow access to the\n`file_bucket_file` endpoint.","attributes":{"name":{"description":"The name of the filebucket.","kind":"parameter","namevar":true},"server":{"description":"The server providing the remote filebucket service. Defaults to the\nvalue of the `server` setting (that is, the currently configured\npuppet master server).\n\nThis setting is _only_ consulted if the `path` attribute is set to `false`.","kind":"parameter","namevar":false},"port":{"description":"The port on which the remote server is listening. Defaults to the\nvalue of the `masterport` setting, which is usually 8140.","kind":"parameter","namevar":false},"path":{"description":"The path to the _local_ filebucket; defaults to the value of the\n`clientbucketdir` setting. To use a remote filebucket, you _must_ set\nthis attribute to `false`.","kind":"parameter","namevar":false}},"features":{},"providers":{}},"group":{"description":"Manage groups. On most platforms this can only create groups.\nGroup membership must be managed on individual users.\n\nOn some platforms such as OS X, group membership is managed as an\nattribute of the group, not the user record. Providers must have\nthe feature 'manages_members' to manage the 'members' property of\na group record.","attributes":{"ensure":{"description":"Create or remove the group.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"gid":{"description":"The group ID. Must be specified numerically. If no group ID is\nspecified when creating a new group, then one will be chosen\nautomatically according to local system standards. This will likely\nresult in the same group having different GIDs on different systems,\nwhich is not recommended.\n\nOn Windows, this property is read-only and will return the group's security\nidentifier (SID).","kind":"property","namevar":false},"members":{"description":"The members of the group. For directory services where group\nmembership is stored in the group objects, not the users.\n\n\n\nRequires features manages_members.","kind":"property","namevar":false},"attributes":{"description":"Specify group AIX attributes in an array of `key=value` pairs.\n\n\n\nRequires features manages_aix_lam.","kind":"property","namevar":false},"auth_membership":{"description":"whether the provider is authoritative for group membership.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"name":{"description":"The group name. While naming limitations vary by operating system,\nit is advisable to restrict names to the lowest common denominator,\nwhich is a maximum of 8 characters beginning with a letter.\n\nNote that Puppet considers group names to be case-sensitive, regardless\nof the platform's own rules; be sure to always use the same case when\nreferring to a given group.","kind":"parameter","namevar":true},"allowdupe":{"description":"Whether to allow duplicate GIDs. Defaults to `false`.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"ia_load_module":{"description":"The name of the I&A module to use to manage this user\n\n\n\nRequires features manages_aix_lam.","kind":"parameter","namevar":false},"attribute_membership":{"description":"Whether specified attribute value pairs should be treated as the only attributes\nof the user or whether they should merely\nbe treated as the minimum list.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"system":{"description":"Whether the group is a system group with lower GID.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"forcelocal":{"description":"Forces the management of local accounts when accounts are also\nbeing managed by some other NSS\n\nValid values are `true`, `false`, `yes`, `no`.\n\nRequires features libuser.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `group`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{"manages_members":"For directories where membership is an attribute of groups not users.","manages_aix_lam":"The provider can manage AIX Loadable Authentication Module (LAM) system.","system_groups":"The provider allows you to create system groups with lower GIDs.","libuser":"Allows local groups to be managed on systems that also use some other\nremote NSS method of managing accounts."},"providers":{"aix":{"description":"Group management for AIX.\n\n* Required binaries: `/usr/bin/chgroup`, `/usr/bin/mkgroup`, `/usr/sbin/lsgroup`, `/usr/sbin/rmgroup`.\n* Default for `operatingsystem` == `aix`.\n* Supported features: `manages_aix_lam`, `manages_members`.","features":["manages_aix_lam","manages_members"]},"directoryservice":{"description":"Group management using DirectoryService on OS X.\n\n* Required binaries: `/usr/bin/dscl`.\n* Default for `operatingsystem` == `darwin`.\n* Supported features: `manages_members`.","features":["manages_members"]},"groupadd":{"description":"Group management via `groupadd` and its ilk. The default for most platforms.\n\n* Required binaries: `groupadd`, `groupdel`, `groupmod`, `lgroupadd`.\n* Supported features: `system_groups`.","features":["system_groups","libuser"]},"ldap":{"description":"Group management via LDAP.\n\nThis provider requires that you have valid values for all of the\nLDAP-related settings in `puppet.conf`, including `ldapbase`. You will\nalmost definitely need settings for `ldapuser` and `ldappassword` in order\nfor your clients to write to LDAP.\n\nNote that this provider will automatically generate a GID for you if you do\nnot specify one, but it is a potentially expensive operation, as it\niterates across all existing groups to pick the appropriate next one.","features":[]},"pw":{"description":"Group management via `pw` on FreeBSD and DragonFly BSD.\n\n* Required binaries: `pw`.\n* Default for `operatingsystem` == `freebsd, dragonfly`.\n* Supported features: `manages_members`.","features":["manages_members"]},"windows_adsi":{"description":"Local group management for Windows. Group members can be both users and groups.\nAdditionally, local groups can contain domain users.\n\n* Default for `operatingsystem` == `windows`.\n* Supported features: `manages_members`.","features":["manages_members"]}}},"host":{"description":"Installs and manages host entries. For most systems, these\nentries will just be in `/etc/hosts`, but some systems (notably OS X)\nwill have different solutions.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"ip":{"description":"The host's IP address, IPv4 or IPv6.","kind":"property","namevar":false},"host_aliases":{"description":"Any aliases the host might have. Multiple values must be\nspecified as an array.","kind":"property","namevar":false},"comment":{"description":"A comment that will be attached to the line with a # character.","kind":"property","namevar":false},"target":{"description":"The file in which to store service information. Only used by\nthose providers that write to disk. On most systems this defaults to `/etc/hosts`.","kind":"property","namevar":false},"name":{"description":"The host name.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `host`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"parsed":{"description":"","features":[]}}},"interface":{"description":"This represents a router or switch interface. It is possible to manage\ninterface mode (access or trunking, native vlan and encapsulation) and\nswitchport characteristics (speed, duplex).","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present` (also called `no_shutdown`), `absent` (also called `shutdown`).","kind":"property","namevar":false},"description":{"description":"Interface description.","kind":"property","namevar":false},"speed":{"description":"Interface speed.\n\nValid values are `auto`. Values can match `/^\\d+/`.","kind":"property","namevar":false},"duplex":{"description":"Interface duplex.\n\nValid values are `auto`, `full`, `half`.","kind":"property","namevar":false},"native_vlan":{"description":"Interface native vlan (for access mode only).\n\nValues can match `/^\\d+/`.","kind":"property","namevar":false},"encapsulation":{"description":"Interface switchport encapsulation.\n\nValid values are `none`, `dot1q`, `isl`.","kind":"property","namevar":false},"mode":{"description":"Interface switchport mode.\n\nValid values are `access`, `trunk`.","kind":"property","namevar":false},"allowed_trunk_vlans":{"description":"Allowed list of Vlans that this trunk can forward.\n\nValid values are `all`. Values can match `/./`.","kind":"property","namevar":false},"etherchannel":{"description":"Channel group this interface is part of.\n\nValues can match `/^\\d+/`.","kind":"property","namevar":false},"ipaddress":{"description":"IP Address of this interface. Note that it might not be possible to set\nan interface IP address; it depends on the interface type and device type.\n\nValid format of ip addresses are:\n\n* IPV4, like 127.0.0.1\n* IPV4/prefixlength like 127.0.1.1/24\n* IPV6/prefixlength like FE80::21A:2FFF:FE30:ECF0/128\n* an optional suffix for IPV6 addresses from this list: `eui-64`, `link-local`\n\nIt is also possible to supply an array of values.","kind":"property","namevar":false},"name":{"description":"The interface's name.","kind":"parameter","namevar":true},"device_url":{"description":"The URL at which the router or switch can be reached.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `interface`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"cisco":{"description":"Cisco switch/router provider for interface.","features":[]}}},"k5login":{"description":"Manage the `.k5login` file for a user. Specify the full path to\nthe `.k5login` file as the name, and an array of principals as the\n`principals` attribute.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"principals":{"description":"The principals present in the `.k5login` file. This should be specified as an array.","kind":"property","namevar":false},"mode":{"description":"The desired permissions mode of the `.k5login` file. Defaults to `644`.","kind":"property","namevar":false},"path":{"description":"The path to the `.k5login` file to manage. Must be fully qualified.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `k5login`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"k5login":{"description":"The k5login provider is the only provider for the k5login\ntype.","features":[]}}},"macauthorization":{"description":"Manage the Mac OS X authorization database. See the\n[Apple developer site](http://developer.apple.com/documentation/Security/Conceptual/Security_Overview/Security_Services/chapter_4_section_5.html)\nfor more information.\n\nNote that authorization store directives with hyphens in their names have\nbeen renamed to use underscores, as Puppet does not react well to hyphens\nin identifiers.\n\n**Autorequires:** If Puppet is managing the `/etc/authorization` file, each\nmacauthorization resource will autorequire it.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"auth_type":{"description":"Type --- this can be a `right` or a `rule`. The `comment` type has\nnot yet been implemented.\n\nValid values are `right`, `rule`.","kind":"property","namevar":false},"allow_root":{"description":"Corresponds to `allow-root` in the authorization store. Specifies\nwhether a right should be allowed automatically if the requesting process\nis running with `uid == 0`. AuthorizationServices defaults this attribute\nto false if not specified.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"authenticate_user":{"description":"Corresponds to `authenticate-user` in the authorization store.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"auth_class":{"description":"Corresponds to `class` in the authorization store; renamed due\nto 'class' being a reserved word in Puppet.\n\nValid values are `user`, `evaluate-mechanisms`, `allow`, `deny`, `rule`.","kind":"property","namevar":false},"comment":{"description":"The `comment` attribute for authorization resources.","kind":"property","namevar":false},"group":{"description":"A group which the user must authenticate as a member of. This\nmust be a single group.","kind":"property","namevar":false},"k_of_n":{"description":"How large a subset of rule mechanisms must succeed for successful\nauthentication. If there are 'n' mechanisms, then 'k' (the integer value\nof this parameter) mechanisms must succeed. The most common setting for\nthis parameter is `1`. If `k-of-n` is not set, then every mechanism ---\nthat is, 'n-of-n' --- must succeed.","kind":"property","namevar":false},"mechanisms":{"description":"An array of suitable mechanisms.","kind":"property","namevar":false},"rule":{"description":"The rule(s) that this right refers to.","kind":"property","namevar":false},"session_owner":{"description":"Whether the session owner automatically matches this rule or right.\nCorresponds to `session-owner` in the authorization store.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"shared":{"description":"Whether the Security Server should mark the credentials used to gain\nthis right as shared. The Security Server may use any shared credentials\nto authorize this right. For maximum security, set sharing to false so\ncredentials stored by the Security Server for one application may not be\nused by another application.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"timeout":{"description":"The number of seconds in which the credential used by this rule will\nexpire. For maximum security where the user must authenticate every time,\nset the timeout to 0. For minimum security, remove the timeout attribute\nso the user authenticates only once per session.","kind":"property","namevar":false},"tries":{"description":"The number of tries allowed.","kind":"property","namevar":false},"name":{"description":"The name of the right or rule to be managed.\nCorresponds to `key` in Authorization Services. The key is the name\nof a rule. A key uses the same naming conventions as a right. The\nSecurity Server uses a rule's key to match the rule with a right.\nWildcard keys end with a '.'. The generic rule has an empty key value.\nAny rights that do not match a specific rule use the generic rule.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `macauthorization`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"macauthorization":{"description":"Manage Mac OS X authorization database rules and rights.\n\n* Required binaries: `/usr/bin/security`.\n* Default for `operatingsystem` == `darwin`.","features":[]}}},"mailalias":{"description":"Creates an email alias in the local alias database.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"recipient":{"description":"Where email should be sent. Multiple values\nshould be specified as an array. The file and the\nrecipient entries are mutually exclusive.","kind":"property","namevar":false},"file":{"description":"A file containing the alias's contents. The file and the\nrecipient entries are mutually exclusive.","kind":"property","namevar":false},"target":{"description":"The file in which to store the aliases. Only used by\nthose providers that write to disk.","kind":"property","namevar":false},"name":{"description":"The alias name.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `mailalias`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"aliases":{"description":"","features":[]}}},"maillist":{"description":"Manage email lists. This resource type can only create\nand remove lists; it cannot currently reconfigure them.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`, `purged`.","kind":"property","namevar":false},"name":{"description":"The name of the email list.","kind":"parameter","namevar":true},"description":{"description":"The description of the mailing list.","kind":"parameter","namevar":false},"password":{"description":"The admin password.","kind":"parameter","namevar":false},"webserver":{"description":"The name of the host providing web archives and the administrative interface.","kind":"parameter","namevar":false},"mailserver":{"description":"The name of the host handling email for the list.","kind":"parameter","namevar":false},"admin":{"description":"The email address of the administrator.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `maillist`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"mailman":{"description":"* Required binaries: `/var/lib/mailman/mail/mailman`, `list_lists`, `newlist`, `rmlist`.","features":[]}}},"mcx":{"description":"MCX object management using DirectoryService on OS X.\n\nThe default provider of this type merely manages the XML plist as\nreported by the `dscl -mcxexport` command. This is similar to the\ncontent property of the file type in Puppet.\n\nThe recommended method of using this type is to use Work Group Manager\nto manage users and groups on the local computer, record the resulting\npuppet manifest using the command `puppet resource mcx`, then deploy it\nto other machines.\n\n**Autorequires:** If Puppet is managing the user, group, or computer that these\nMCX settings refer to, the MCX resource will autorequire that user, group, or computer.","attributes":{"ensure":{"description":"Create or remove the MCX setting.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"content":{"description":"The XML Plist used as the value of MCXSettings in DirectoryService.\nThis is the standard output from the system command:\n\n dscl localhost -mcxexport /Local/Default/<ds_type>/ds_name\n\nNote that `ds_type` is capitalized and plural in the dscl command.\n\n\n\nRequires features manages_content.","kind":"property","namevar":false},"name":{"description":"The name of the resource being managed.\nThe default naming convention follows Directory Service paths:\n\n /Computers/localhost\n /Groups/admin\n /Users/localadmin\n\nThe `ds_type` and `ds_name` type parameters are not necessary if the\ndefault naming convention is followed.","kind":"parameter","namevar":true},"ds_type":{"description":"The DirectoryService type this MCX setting attaches to.\n\nValid values are `user`, `group`, `computer`, `computerlist`.","kind":"parameter","namevar":false},"ds_name":{"description":"The name to attach the MCX Setting to. (For example, `localhost`\nwhen `ds_type => computer`.) This setting is not required, as it can be\nautomatically discovered when the resource name is parseable. (For\nexample, in `/Groups/admin`, `group` will be used as the dstype.)","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `mcx`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{"manages_content":"The provider can manage MCXSettings as a string."},"providers":{"mcxcontent":{"description":"MCX Settings management using DirectoryService on OS X.\n\nThis provider manages the entire MCXSettings attribute available\nto some directory services nodes. This management is 'all or nothing'\nin that discrete application domain key value pairs are not managed\nby this provider.\n\nIt is recommended to use WorkGroup Manager to configure Users, Groups,\nComputers, or ComputerLists, then use 'ralsh mcx' to generate a puppet\nmanifest from the resulting configuration.\n\nOriginal Author: Jeff McCune (mccune.jeff@gmail.com)\n\n* Required binaries: `/usr/bin/dscl`.\n* Default for `operatingsystem` == `darwin`.\n* Supported features: `manages_content`.","features":["manages_content"]}}},"mount":{"description":"Manages mounted filesystems, including putting mount\ninformation into the mount table. The actual behavior depends\non the value of the 'ensure' parameter.\n\n**Refresh:** `mount` resources can respond to refresh events (via\n`notify`, `subscribe`, or the `~>` arrow). If a `mount` receives an event\nfrom another resource **and** its `ensure` attribute is set to `mounted`,\nPuppet will try to unmount then remount that filesystem.\n\n**Autorequires:** If Puppet is managing any parents of a mount resource ---\nthat is, other mount points higher up in the filesystem --- the child\nmount will autorequire them.","attributes":{"ensure":{"description":"Control what to do with this mount. Set this attribute to\n`unmounted` to make sure the filesystem is in the filesystem table\nbut not mounted (if the filesystem is currently mounted, it will be\nunmounted). Set it to `absent` to unmount (if necessary) and remove\nthe filesystem from the fstab. Set to `mounted` to add it to the\nfstab and mount it. Set to `present` to add to fstab but not change\nmount/unmount status.\n\nValid values are `defined` (also called `present`), `unmounted`, `absent`, `mounted`.","kind":"property","namevar":false},"device":{"description":"The device providing the mount. This can be whatever\ndevice is supporting by the mount, including network\ndevices or devices specified by UUID rather than device\npath, depending on the operating system.","kind":"property","namevar":false},"blockdevice":{"description":"The device to fsck. This is property is only valid\non Solaris, and in most cases will default to the correct\nvalue.","kind":"property","namevar":false},"fstype":{"description":"The mount type. Valid values depend on the\noperating system. This is a required option.","kind":"property","namevar":false},"options":{"description":"A single string containing options for the mount, as they would\nappear in fstab. For many platforms this is a comma delimited string.\nConsult the fstab(5) man page for system-specific details.","kind":"property","namevar":false},"pass":{"description":"The pass in which the mount is checked.","kind":"property","namevar":false},"atboot":{"description":"Whether to mount the mount at boot. Not all platforms\nsupport this.","kind":"property","namevar":false},"dump":{"description":"Whether to dump the mount. Not all platform support this.\nValid values are `1` or `0` (or `2` on FreeBSD). Default is `0`.\n\nValues can match `/(0|1)/`.","kind":"property","namevar":false},"target":{"description":"The file in which to store the mount table. Only used by\nthose providers that write to disk.","kind":"property","namevar":false},"name":{"description":"The mount path for the mount.","kind":"parameter","namevar":true},"remounts":{"description":"Whether the mount can be remounted `mount -o remount`. If\nthis is false, then the filesystem will be unmounted and remounted\nmanually, which is prone to failure.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `mount`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{"refreshable":"The provider can remount the filesystem."},"providers":{"parsed":{"description":"* Required binaries: `mount`, `umount`.\n* Supported features: `refreshable`.","features":["refreshable"]}}},"nagios_command":{"description":"The Nagios type command. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_command.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"command_line":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"poller_tag":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"command_name":{"description":"The name of this nagios_command resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_command resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_command resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_command resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_command`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_contact":{"description":"The Nagios type contact. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_contact.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"alias":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contactgroups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_notifications_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_notifications_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_notification_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_notification_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_notification_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_notification_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_notification_commands":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_notification_commands":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"email":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"pager":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address1":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address2":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address3":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address4":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address5":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address6":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"can_submit_commands":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retain_status_information":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retain_nonstatus_information":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"contact_name":{"description":"The name of this nagios_contact resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_contact resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_contact resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_contact resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_contact`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_contactgroup":{"description":"The Nagios type contactgroup. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_contactgroup.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"alias":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"members":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contactgroup_members":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"contactgroup_name":{"description":"The name of this nagios_contactgroup resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_contactgroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_contactgroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_contactgroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_contactgroup`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_host":{"description":"The Nagios type host. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_host.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"alias":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"display_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"address":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"parents":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_command":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"initial_state":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"max_check_attempts":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retry_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"active_checks_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"passive_checks_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"obsess_over_host":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_freshness":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"freshness_threshold":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"event_handler":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"event_handler_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"low_flap_threshold":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"high_flap_threshold":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"flap_detection_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"flap_detection_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"failure_prediction_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"process_perf_data":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retain_status_information":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retain_nonstatus_information":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contacts":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contact_groups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"first_notification_delay":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notifications_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"stalking_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"action_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image_alt":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"vrml_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"statusmap_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"realm":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"poller_tag":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"business_impact":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"host_name":{"description":"The name of this nagios_host resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_host resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_host resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_host resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_host`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_hostdependency":{"description":"The Nagios type hostdependency. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_hostdependency.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependent_host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependent_hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"inherits_parent":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"execution_failure_criteria":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_failure_criteria":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependency_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"_naginator_name":{"description":"The name of this nagios_hostdependency resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_hostdependency resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_hostdependency resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_hostdependency resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_hostdependency`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_hostescalation":{"description":"The Nagios type hostescalation. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_hostescalation.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contacts":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contact_groups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"first_notification":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"last_notification":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"escalation_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"escalation_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"_naginator_name":{"description":"The name of this nagios_hostescalation resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_hostescalation resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_hostescalation resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_hostescalation resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_hostescalation`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_hostextinfo":{"description":"The Nagios type hostextinfo. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_hostextinfo.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image_alt":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"vrml_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"statusmap_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"host_name":{"description":"The name of this nagios_hostextinfo resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_hostextinfo resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_hostextinfo resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_hostextinfo resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_hostextinfo`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_hostgroup":{"description":"The Nagios type hostgroup. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_hostgroup.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"alias":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"members":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroup_members":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"action_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"realm":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"hostgroup_name":{"description":"The name of this nagios_hostgroup resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_hostgroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_hostgroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_hostgroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_hostgroup`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_service":{"description":"The Nagios type service. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_service.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_description":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"display_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"servicegroups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"is_volatile":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_command":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"initial_state":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"max_check_attempts":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retry_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"normal_check_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retry_check_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"active_checks_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"passive_checks_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"parallelize_check":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"obsess_over_service":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"check_freshness":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"freshness_threshold":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"event_handler":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"event_handler_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"low_flap_threshold":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"high_flap_threshold":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"flap_detection_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"flap_detection_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"process_perf_data":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"failure_prediction_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retain_status_information":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"retain_nonstatus_information":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"first_notification_delay":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notifications_enabled":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contacts":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contact_groups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"stalking_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"action_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image_alt":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"poller_tag":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"business_impact":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"_naginator_name":{"description":"The name of this nagios_service resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_service resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_service resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_service resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_service`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_servicedependency":{"description":"The Nagios type servicedependency. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_servicedependency.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependent_host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependent_hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependent_service_description":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_description":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"inherits_parent":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"execution_failure_criteria":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_failure_criteria":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"dependency_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"_naginator_name":{"description":"The name of this nagios_servicedependency resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_servicedependency resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_servicedependency resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_servicedependency resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_servicedependency`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_serviceescalation":{"description":"The Nagios type serviceescalation. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_serviceescalation.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"hostgroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"servicegroup_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_description":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contacts":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"contact_groups":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"first_notification":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"last_notification":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notification_interval":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"escalation_period":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"escalation_options":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"_naginator_name":{"description":"The name of this nagios_serviceescalation resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_serviceescalation resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_serviceescalation resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_serviceescalation resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_serviceescalation`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_serviceextinfo":{"description":"The Nagios type serviceextinfo. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_serviceextinfo.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"host_name":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"service_description":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"action_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"icon_image_alt":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"_naginator_name":{"description":"The name of this nagios_serviceextinfo resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_serviceextinfo resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_serviceextinfo resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_serviceextinfo resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_serviceextinfo`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_servicegroup":{"description":"The Nagios type servicegroup. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_servicegroup.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"alias":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"members":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"servicegroup_members":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"notes_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"action_url":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"servicegroup_name":{"description":"The name of this nagios_servicegroup resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_servicegroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_servicegroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_servicegroup resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_servicegroup`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"nagios_timeperiod":{"description":"The Nagios type timeperiod. This resource type is autogenerated using the\nmodel developed in Naginator, and all of the Nagios types are generated using the\nsame code and the same library.\n\nThis type generates Nagios configuration statements in Nagios-parseable configuration\nfiles. By default, the statements will be added to `/etc/nagios/nagios_timeperiod.cfg`, but\nyou can send them to a different file by setting their `target` attribute.\n\nYou can purge Nagios resources using the `resources` type, but *only*\nin the default file locations. This is an architectural limitation.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"use":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"alias":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"sunday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"monday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"tuesday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"wednesday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"thursday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"friday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"saturday":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"exclude":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"register":{"description":"Nagios configuration file parameter.","kind":"property","namevar":false},"target":{"description":"The target.","kind":"property","namevar":false},"timeperiod_name":{"description":"The name of this nagios_timeperiod resource.","kind":"parameter","namevar":true},"owner":{"description":"The desired owner of the config file for this nagios_timeperiod resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"group":{"description":"The desired group of the config file for this nagios_timeperiod resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"mode":{"description":"The desired mode of the config file for this nagios_timeperiod resource.\n\nNOTE: If the target file is explicitly managed by a file resource in your manifest,\nthis parameter has no effect. If a parent directory of the target is managed by\na recursive file resource, this limitation does not apply (i.e., this parameter\ntakes precedence, and if purge is used, the target file is exempt).","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `nagios_timeperiod`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"naginator":{"description":"","features":[]}}},"notify":{"description":"Sends an arbitrary message to the agent run-time log.","attributes":{"message":{"description":"The message to be sent to the log.","kind":"property","namevar":false},"withpath":{"description":"Whether to show the full object path. Defaults to false.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"name":{"description":"An arbitrary tag for your own reference; the name of the message.","kind":"parameter","namevar":true}},"features":{},"providers":{}},"package":{"description":"Manage packages. There is a basic dichotomy in package\nsupport right now: Some package types (e.g., yum and apt) can\nretrieve their own package files, while others (e.g., rpm and sun)\ncannot. For those package formats that cannot retrieve their own files,\nyou can use the `source` parameter to point to the correct file.\n\nPuppet will automatically guess the packaging format that you are\nusing based on the platform you are on, but you can override it\nusing the `provider` parameter; each provider defines what it\nrequires in order to function, and you must meet those requirements\nto use a given provider.\n\nYou can declare multiple package resources with the same `name`, as long\nas they specify different providers and have unique titles.\n\nNote that you must use the _title_ to make a reference to a package\nresource; `Package[<NAME>]` is not a synonym for `Package[<TITLE>]` like\nit is for many other resource types.\n\n**Autorequires:** If Puppet is managing the files specified as a\npackage's `adminfile`, `responsefile`, or `source`, the package\nresource will autorequire those files.","attributes":{"ensure":{"description":"What state the package should be in. On packaging systems that can\nretrieve new packages on their own, you can choose which package to\nretrieve by specifying a version number or `latest` as the ensure\nvalue. On packaging systems that manage configuration files separately\nfrom \"normal\" system files, you can uninstall config files by\nspecifying `purged` as the ensure value. This defaults to `installed`.\n\nValid values are `present` (also called `installed`), `absent`, `purged`, `held`, `latest`. Values can match `/./`.","kind":"property","namevar":false},"package_settings":{"description":"Settings that can change the contents or configuration of a package.\n\nThe formatting and effects of package_settings are provider-specific; any\nprovider that implements them must explain how to use them in its\ndocumentation. (Our general expectation is that if a package is\ninstalled but its settings are out of sync, the provider should\nre-install that package with the desired settings.)\n\nAn example of how package_settings could be used is FreeBSD's port build\noptions --- a future version of the provider could accept a hash of options,\nand would reinstall the port if the installed version lacked the correct\nsettings.\n\n package { 'www/apache22':\n package_settings => { 'SUEXEC' => false }\n }\n\nAgain, check the documentation of your platform's package provider to see\nthe actual usage.\n\n\n\nRequires features package_settings.","kind":"property","namevar":false},"name":{"description":"The package name. This is the name that the packaging\nsystem uses internally, which is sometimes (especially on Solaris)\na name that is basically useless to humans. If a package goes by\nseveral names, you can use a single title and then set the name\nconditionally:\n\n # In the 'openssl' class\n $ssl = $operatingsystem ? {\n solaris => SMCossl,\n default => openssl\n }\n\n package { 'openssl':\n name => $ssl,\n ensure => installed\n }\n\n . etc. .\n\n $ssh = $operatingsystem ? {\n solaris => SMCossh,\n default => openssh\n }\n\n package { 'openssh':\n name => $ssh\n ensure => installed,\n require => Package['openssl']\n }","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `package`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":true},"source":{"description":"Where to find the package file. This is only used by providers that don't\nautomatically download packages from a central repository. (For example:\nthe `yum` and `apt` providers ignore this attribute, but the `rpm` and\n`dpkg` providers require it.)\n\nDifferent providers accept different values for `source`. Most providers\naccept paths to local files stored on the target system. Some providers\nmay also accept URLs or network drive paths. Puppet will not\nautomatically retrieve source files for you, and usually just passes the\nvalue of `source` to the package installation command.\n\nYou can use a `file` resource if you need to manually copy package files\nto the target system.","kind":"parameter","namevar":false},"instance":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"status":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"adminfile":{"description":"A file containing package defaults for installing packages.\n\nThis attribute is only used on Solaris. Its value should be a path to a\nlocal file stored on the target system. Solaris's package tools expect\neither an absolute file path or a relative path to a file in\n`/var/sadm/install/admin`.\n\nThe value of `adminfile` will be passed directly to the `pkgadd` or\n`pkgrm` command with the `-a <ADMINFILE>` option.","kind":"parameter","namevar":false},"responsefile":{"description":"A file containing any necessary answers to questions asked by\nthe package. This is currently used on Solaris and Debian. The\nvalue will be validated according to system rules, but it should\ngenerally be a fully qualified path.","kind":"parameter","namevar":false},"configfiles":{"description":"Whether to keep or replace modified config files when installing or\nupgrading a package. This only affects the `apt` and `dpkg` providers.\nDefaults to `keep`.\n\nValid values are `keep`, `replace`.","kind":"parameter","namevar":false},"category":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"platform":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"root":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"vendor":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"description":{"description":"A read-only parameter set by the package.","kind":"parameter","namevar":false},"allowcdrom":{"description":"Tells apt to allow cdrom sources in the sources.list file.\nNormally apt will bail if you try this.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"flavor":{"description":"OpenBSD supports 'flavors', which are further specifications for\nwhich type of package you want.","kind":"parameter","namevar":false},"install_options":{"description":"An array of additional options to pass when installing a package. These\noptions are package-specific, and should be documented by the software\nvendor. One commonly implemented option is `INSTALLDIR`:\n\n package { 'mysql':\n ensure => installed,\n source => 'N:/packages/mysql-5.5.16-winx64.msi',\n install_options => [ '/S', { 'INSTALLDIR' => 'C:\\mysql-5.5' } ],\n }\n\nEach option in the array can either be a string or a hash, where each\nkey and value pair are interpreted in a provider specific way. Each\noption will automatically be quoted when passed to the install command.\n\nWith Windows packages, note that file paths in an install option must\nuse backslashes. (Since install options are passed directly to the\ninstallation command, forward slashes won't be automatically converted\nlike they are in `file` resources.) Note also that backslashes in\ndouble-quoted strings _must_ be escaped and backslashes in single-quoted\nstrings _can_ be escaped.\n\n\n\nRequires features install_options.","kind":"parameter","namevar":false},"uninstall_options":{"description":"An array of additional options to pass when uninstalling a package. These\noptions are package-specific, and should be documented by the software\nvendor. For example:\n\n package { 'VMware Tools':\n ensure => absent,\n uninstall_options => [ { 'REMOVE' => 'Sync,VSS' } ],\n }\n\nEach option in the array can either be a string or a hash, where each\nkey and value pair are interpreted in a provider specific way. Each\noption will automatically be quoted when passed to the uninstall\ncommand.\n\nOn Windows, this is the **only** place in Puppet where backslash\nseparators should be used. Note that backslashes in double-quoted\nstrings _must_ be double-escaped and backslashes in single-quoted\nstrings _may_ be double-escaped.\n\n\n\nRequires features uninstall_options.","kind":"parameter","namevar":false},"allow_virtual":{"description":"Specifies if virtual package names are allowed for install and uninstall.\n\nValid values are `true`, `false`, `yes`, `no`.\n\nRequires features virtual_packages.","kind":"parameter","namevar":false},"reinstall_on_refresh":{"description":"Whether this resource should respond to refresh events (via `subscribe`,\n`notify`, or the `~>` arrow) by reinstalling the package. Only works for\nproviders that support the `reinstallable` feature.\n\nThis is useful for source-based distributions, where you may want to\nrecompile a package if the build options change.\n\nIf you use this, be careful of notifying classes when you want to restart\nservices. If the class also contains a refreshable package, doing so could\ncause unnecessary re-installs.\n\nDefaults to `false`.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false}},"features":{"reinstallable":"The provider can reinstall packages.","installable":"The provider can install packages.","uninstallable":"The provider can uninstall packages.","upgradeable":"The provider can upgrade to the latest version of a\npackage. This feature is used by specifying `latest` as the\ndesired value for the package.","purgeable":"The provider can purge packages. This generally means\nthat all traces of the package are removed, including\nexisting configuration files. This feature is thus destructive\nand should be used with the utmost care.","versionable":"The provider is capable of interrogating the\npackage database for installed version(s), and can select\nwhich out of a set of available versions of a package to\ninstall if asked.","holdable":"The provider is capable of placing packages on hold\nsuch that they are not automatically upgraded as a result of\nother package dependencies unless explicit action is taken by\na user or another package. Held is considered a superset of\ninstalled.","install_options":"The provider accepts options to be\npassed to the installer command.","uninstall_options":"The provider accepts options to be\npassed to the uninstaller command.","package_settings":"The provider accepts package_settings to be\nensured for the given package. The meaning and format of these settings is\nprovider-specific.","virtual_packages":"The provider accepts virtual package names for install and uninstall."},"providers":{"aix":{"description":"Installation from an AIX software directory, using the AIX `installp`\ncommand. The `source` parameter is required for this provider, and should\nbe set to the absolute path (on the puppet agent machine) of a directory\ncontaining one or more BFF package files.\n\nThe `installp` command will generate a table of contents file (named `.toc`)\nin this directory, and the `name` parameter (or resource title) that you\nspecify for your `package` resource must match a package name that exists\nin the `.toc` file.\n\nNote that package downgrades are *not* supported; if your resource specifies\na specific version number and there is already a newer version of the package\ninstalled on the machine, the resource will fail with an error message.\n\n* Required binaries: `/usr/bin/lslpp`, `/usr/sbin/installp`.\n* Default for `operatingsystem` == `aix`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","uninstallable","upgradeable","versionable"]},"appdmg":{"description":"Package management which copies application bundles to a target.\n\n* Required binaries: `/usr/bin/curl`, `/usr/bin/ditto`, `/usr/bin/hdiutil`.\n* Supported features: `installable`.","features":["installable"]},"apple":{"description":"Package management based on OS X's builtin packaging system. This is\nessentially the simplest and least functional package system in existence --\nit only supports installation; no deletion or upgrades. The provider will\nautomatically add the `.pkg` extension, so leave that off when specifying\nthe package name.\n\n* Required binaries: `/usr/sbin/installer`.\n* Supported features: `installable`.","features":["installable"]},"dpkg":{"description":"Package management via `dpkg`. Because this only uses `dpkg`\nand not `apt`, you must specify the source of any packages you want\nto manage.\n\n* Required binaries: `/usr/bin/dpkg-deb`, `/usr/bin/dpkg-query`, `/usr/bin/dpkg`.\n* Supported features: `holdable`, `installable`, `purgeable`, `uninstallable`, `upgradeable`.","features":["holdable","installable","purgeable","uninstallable","upgradeable"]},"apt":{"description":"Package management via `apt-get`.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to apt-get.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `/usr/bin/apt-cache`, `/usr/bin/apt-get`, `/usr/bin/debconf-set-selections`.\n* Default for `osfamily` == `debian`.\n* Supported features: `holdable`, `install_options`, `installable`, `purgeable`, `uninstallable`, `upgradeable`, `versionable`.","features":["holdable","install_options","installable","purgeable","uninstallable","upgradeable","versionable"]},"aptitude":{"description":"Package management via `aptitude`.\n\n* Required binaries: `/usr/bin/apt-cache`, `/usr/bin/aptitude`.\n* Supported features: `holdable`, `installable`, `purgeable`, `uninstallable`, `upgradeable`, `versionable`.","features":["holdable","installable","purgeable","uninstallable","upgradeable","versionable"]},"rpm":{"description":"RPM packaging support; should work anywhere with a working `rpm`\nbinary.\n\nThis provider supports the `install_options` and `uninstall_options`\nattributes, which allow command-line flags to be passed to rpm.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `rpm`.\n* Supported features: `install_options`, `installable`, `uninstall_options`, `uninstallable`, `upgradeable`, `versionable`, `virtual_packages`.","features":["install_options","installable","uninstall_options","uninstallable","upgradeable","versionable","virtual_packages"]},"aptrpm":{"description":"Package management via `apt-get` ported to `rpm`.\n\n* Required binaries: `apt-cache`, `apt-get`, `rpm`.\n* Supported features: `installable`, `purgeable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","purgeable","uninstallable","upgradeable","versionable"]},"sun":{"description":"Sun's packaging system. Requires that you specify the source for\nthe packages you're managing.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to pkgadd.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `/usr/bin/pkginfo`, `/usr/sbin/pkgadd`, `/usr/sbin/pkgrm`.\n* Default for `osfamily` == `solaris`.\n* Supported features: `install_options`, `installable`, `uninstallable`, `upgradeable`.","features":["install_options","installable","uninstallable","upgradeable"]},"blastwave":{"description":"Package management using Blastwave.org's `pkg-get` command on Solaris.\n\n* Required binaries: `pkg-get`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"fink":{"description":"Package management via `fink`.\n\n* Required binaries: `/sw/bin/apt-cache`, `/sw/bin/apt-get`, `/sw/bin/dpkg-query`, `/sw/bin/fink`.\n* Supported features: `holdable`, `installable`, `purgeable`, `uninstallable`, `upgradeable`, `versionable`.","features":["holdable","installable","purgeable","uninstallable","upgradeable","versionable"]},"openbsd":{"description":"OpenBSD's form of `pkg_add` support.\n\nThis provider supports the `install_options` and `uninstall_options`\nattributes, which allow command-line flags to be passed to pkg_add and pkg_delete.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `pkg_add`, `pkg_delete`, `pkg_info`.\n* Default for `operatingsystem` == `openbsd`.\n* Supported features: `install_options`, `installable`, `purgeable`, `uninstall_options`, `uninstallable`, `upgradeable`, `versionable`.","features":["install_options","installable","purgeable","uninstall_options","uninstallable","upgradeable","versionable"]},"freebsd":{"description":"The specific form of package management on FreeBSD. This is an\nextremely quirky packaging system, in that it freely mixes between\nports and packages. Apparently all of the tools are written in Ruby,\nso there are plans to rewrite this support to directly use those\nlibraries.\n\n* Required binaries: `/usr/sbin/pkg_add`, `/usr/sbin/pkg_delete`, `/usr/sbin/pkg_info`.\n* Supported features: `installable`, `purgeable`, `uninstallable`, `upgradeable`.","features":["installable","purgeable","uninstallable","upgradeable"]},"gem":{"description":"Ruby Gem support. If a URL is passed via `source`, then that URL is used as the\nremote gem repository; if a source is present but is not a valid URL, it will be\ninterpreted as the path to a local gem file. If source is not present at all,\nthe gem will be installed from the default gem repositories.\n\nThis provider supports the `install_options` and `uninstall_options` attributes,\nwhich allow command-line flags to be passed to the gem command.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `gem`.\n* Supported features: `install_options`, `installable`, `uninstall_options`, `uninstallable`, `upgradeable`, `versionable`.","features":["install_options","installable","uninstall_options","uninstallable","upgradeable","versionable"]},"hpux":{"description":"HP-UX's packaging system.\n\n* Required binaries: `/usr/sbin/swinstall`, `/usr/sbin/swlist`, `/usr/sbin/swremove`.\n* Default for `operatingsystem` == `hp-ux`.\n* Supported features: `installable`, `uninstallable`.","features":["installable","uninstallable"]},"macports":{"description":"Package management using MacPorts on OS X.\n\nSupports MacPorts versions and revisions, but not variants.\nVariant preferences may be specified using\n[the MacPorts variants.conf file](http://guide.macports.org/chunked/internals.configuration-files.html#internals.configuration-files.variants-conf).\n\nWhen specifying a version in the Puppet DSL, only specify the version, not the revision.\nRevisions are only used internally for ensuring the latest version/revision of a port.\n\n* Required binaries: `/opt/local/bin/port`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","uninstallable","upgradeable","versionable"]},"nim":{"description":"Installation from an AIX NIM LPP source. The `source` parameter is required\nfor this provider, and should specify the name of a NIM `lpp_source` resource\nthat is visible to the puppet agent machine. This provider supports the\nmanagement of both BFF/installp and RPM packages.\n\nNote that package downgrades are *not* supported; if your resource specifies\na specific version number and there is already a newer version of the package\ninstalled on the machine, the resource will fail with an error message.\n\n* Required binaries: `/usr/bin/lslpp`, `/usr/sbin/nimclient`, `rpm`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","uninstallable","upgradeable","versionable"]},"opkg":{"description":"Opkg packaging support. Common on OpenWrt and OpenEmbedded platforms\n\n* Required binaries: `opkg`.\n* Default for `operatingsystem` == `openwrt`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"pacman":{"description":"Support for the Package Manager Utility (pacman) used in Archlinux.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to pacman.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `/usr/bin/pacman`.\n* Default for `operatingsystem` == `archlinux, manjarolinux`.\n* Supported features: `install_options`, `installable`, `uninstall_options`, `uninstallable`, `upgradeable`, `virtual_packages`.","features":["install_options","installable","uninstall_options","uninstallable","upgradeable","virtual_packages"]},"pip":{"description":"Python packages via `pip`.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to pip.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Supported features: `install_options`, `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["install_options","installable","uninstallable","upgradeable","versionable"]},"pip3":{"description":"Python packages via `pip3`.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to pip3.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"pkg":{"description":"OpenSolaris image packaging system. See pkg(5) for more information\n\n* Required binaries: `/usr/bin/pkg`.\n* Default for `kernelrelease` == `5.11` and `osfamily` == `solaris`.\n* Supported features: `holdable`, `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["holdable","installable","uninstallable","upgradeable","versionable"]},"pkgdmg":{"description":"Package management based on Apple's Installer.app and DiskUtility.app.\n\nThis provider works by checking the contents of a DMG image for Apple pkg or\nmpkg files. Any number of pkg or mpkg files may exist in the root directory\nof the DMG file system, and Puppet will install all of them. Subdirectories\nare not checked for packages.\n\nThis provider can also accept plain .pkg (but not .mpkg) files in addition\nto .dmg files.\n\nNotes:\n\n* The `source` attribute is mandatory. It must be either a local disk path\n or an HTTP, HTTPS, or FTP URL to the package.\n* The `name` of the resource must be the filename (without path) of the DMG file.\n* When installing the packages from a DMG, this provider writes a file to\n disk at `/var/db/.puppet_pkgdmg_installed_NAME`. If that file is present,\n Puppet assumes all packages from that DMG are already installed.\n* This provider is not versionable and uses DMG filenames to determine\n whether a package has been installed. Thus, to install new a version of a\n package, you must create a new DMG with a different filename.\n\n* Required binaries: `/usr/bin/curl`, `/usr/bin/hdiutil`, `/usr/sbin/installer`.\n* Default for `operatingsystem` == `darwin`.\n* Supported features: `installable`.","features":["installable"]},"pkgin":{"description":"Package management using pkgin, a binary package manager for pkgsrc.\n\n* Required binaries: `pkgin`.\n* Default for `operatingsystem` == `dragonfly, smartos, netbsd`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","uninstallable","upgradeable","versionable"]},"pkgng":{"description":"A PkgNG provider for FreeBSD and DragonFly.\n\n* Required binaries: `/usr/local/sbin/pkg`.\n* Default for `operatingsystem` == `freebsd`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","uninstallable","upgradeable","versionable"]},"pkgutil":{"description":"Package management using Peter Bonivart's ``pkgutil`` command on Solaris.\n\n* Required binaries: `pkgutil`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"portage":{"description":"Provides packaging support for Gentoo's portage system.\n\n* Required binaries: `/usr/bin/eix-update`, `/usr/bin/eix`, `/usr/bin/emerge`.\n* Default for `operatingsystem` == `gentoo`.\n* Supported features: `installable`, `reinstallable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","reinstallable","uninstallable","upgradeable","versionable"]},"ports":{"description":"Support for FreeBSD's ports. Note that this, too, mixes packages and ports.\n\n* Required binaries: `/usr/local/sbin/pkg_deinstall`, `/usr/local/sbin/portupgrade`, `/usr/local/sbin/portversion`, `/usr/sbin/pkg_info`.\n* Supported features: `installable`, `purgeable`, `uninstallable`, `upgradeable`.","features":["installable","purgeable","uninstallable","upgradeable"]},"portupgrade":{"description":"Support for FreeBSD's ports using the portupgrade ports management software.\nUse the port's full origin as the resource name. eg (ports-mgmt/portupgrade)\nfor the portupgrade port.\n\n* Required binaries: `/usr/local/sbin/pkg_deinstall`, `/usr/local/sbin/portinstall`, `/usr/local/sbin/portupgrade`, `/usr/local/sbin/portversion`, `/usr/sbin/pkg_info`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"puppet_gem":{"description":"Puppet Ruby Gem support. This provider is useful for managing\ngems needed by the ruby provided in the puppet-agent package.\n\n* Required binaries: `/opt/puppetlabs/puppet/bin/gem`.\n* Supported features: `install_options`, `installable`, `uninstall_options`, `uninstallable`, `upgradeable`, `versionable`.","features":["install_options","installable","uninstall_options","uninstallable","upgradeable","versionable"]},"rug":{"description":"Support for suse `rug` package manager.\n\n* Required binaries: `/usr/bin/rug`, `rpm`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","uninstallable","upgradeable","versionable"]},"sunfreeware":{"description":"Package management using sunfreeware.com's `pkg-get` command on Solaris.\nAt this point, support is exactly the same as `blastwave` support and\nhas not actually been tested.\n\n* Required binaries: `pkg-get`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"up2date":{"description":"Support for Red Hat's proprietary `up2date` package update\nmechanism.\n\n* Required binaries: `/usr/sbin/up2date-nox`.\n* Default for `lsbdistrelease` == `2.1, 3, 4` and `osfamily` == `redhat`.\n* Supported features: `installable`, `uninstallable`, `upgradeable`.","features":["installable","uninstallable","upgradeable"]},"urpmi":{"description":"Support via `urpmi`.\n\n* Required binaries: `rpm`, `urpme`, `urpmi`, `urpmq`.\n* Default for `operatingsystem` == `mandriva, mandrake`.\n* Supported features: `installable`, `purgeable`, `uninstallable`, `upgradeable`, `versionable`.","features":["installable","purgeable","uninstallable","upgradeable","versionable"]},"windows":{"description":"Windows package management.\n\nThis provider supports either MSI or self-extracting executable installers.\n\nThis provider requires a `source` attribute when installing the package.\nIt accepts paths to local files, mapped drives, or UNC paths.\n\nThis provider supports the `install_options` and `uninstall_options`\nattributes, which allow command-line flags to be passed to the installer.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\nIf the executable requires special arguments to perform a silent install or\nuninstall, then the appropriate arguments should be specified using the\n`install_options` or `uninstall_options` attributes, respectively. Puppet\nwill automatically quote any option that contains spaces.\n\n* Default for `operatingsystem` == `windows`.\n* Supported features: `install_options`, `installable`, `uninstall_options`, `uninstallable`, `versionable`.","features":["install_options","installable","uninstall_options","uninstallable","versionable"]},"yum":{"description":"Support via `yum`.\n\nUsing this provider's `uninstallable` feature will not remove dependent packages. To\nremove dependent packages with this provider use the `purgeable` feature, but note this\nfeature is destructive and should be used with the utmost care.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to yum.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `rpm`, `yum`.\n* Default for `osfamily` == `redhat`.\n* Supported features: `install_options`, `installable`, `purgeable`, `uninstallable`, `upgradeable`, `versionable`, `virtual_packages`.","features":["install_options","installable","purgeable","uninstallable","upgradeable","versionable","virtual_packages"]},"zypper":{"description":"Support for SuSE `zypper` package manager. Found in SLES10sp2+ and SLES11.\n\nThis provider supports the `install_options` attribute, which allows command-line flags to be passed to zypper.\nThese options should be specified as a string (e.g. '--flag'), a hash (e.g. {'--flag' => 'value'}),\nor an array where each element is either a string or a hash.\n\n* Required binaries: `/usr/bin/zypper`.\n* Default for `operatingsystem` == `suse, sles, sled, opensuse`.\n* Supported features: `install_options`, `installable`, `uninstallable`, `upgradeable`, `versionable`, `virtual_packages`.","features":["install_options","installable","uninstallable","upgradeable","versionable","virtual_packages"]}}},"resources":{"description":"This is a metatype that can manage other resource types. Any\nmetaparams specified here will be passed on to any generated resources,\nso you can purge umanaged resources but set `noop` to true so the\npurging is only logged and does not actually happen.","attributes":{"name":{"description":"The name of the type to be managed.","kind":"parameter","namevar":true},"purge":{"description":"Whether to purge unmanaged resources. When set to `true`, this will\ndelete any resource that is not specified in your configuration and is not\nautorequired by any managed resources. **Note:** The `ssh_authorized_key`\nresource type can't be purged this way; instead, see the `purge_ssh_keys`\nattribute of the `user` type.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"unless_system_user":{"description":"This keeps system users from being purged. By default, it\ndoes not purge users whose UIDs are less than the minimum UID for the system (typically 500 or 1000), but you can specify\na different UID as the inclusive limit.\n\nValid values are `true`, `false`. Values can match `/^\\d+$/`.","kind":"parameter","namevar":false},"unless_uid":{"description":"This keeps specific uids or ranges of uids from being purged when purge is true.\nAccepts integers, integer strings, and arrays of integers or integer strings.\nTo specify a range of uids, consider using the range() function from stdlib.","kind":"parameter","namevar":false}},"features":{},"providers":{}},"router":{"description":"Manages connected router.","attributes":{"url":{"description":"An SSH or telnet URL at which to access the router, in the form\n`ssh://user:pass:enable@host/` or `telnet://user:pass:enable@host/`.","kind":"parameter","namevar":true}},"features":{},"providers":{}},"schedule":{"description":"Define schedules for Puppet. Resources can be limited to a schedule by using the\n[`schedule`](http://docs.puppetlabs.com/references/latest/metaparameter.html#schedule)\nmetaparameter.\n\nCurrently, **schedules can only be used to stop a resource from being\napplied;** they cannot cause a resource to be applied when it otherwise\nwouldn't be, and they cannot accurately specify a time when a resource\nshould run.\n\nEvery time Puppet applies its configuration, it will apply the\nset of resources whose schedule does not eliminate them from\nrunning right then, but there is currently no system in place to\nguarantee that a given resource runs at a given time. If you\nspecify a very restrictive schedule and Puppet happens to run at a\ntime within that schedule, then the resources will get applied;\notherwise, that work may never get done.\n\nThus, it is advisable to use wider scheduling (e.g., over a couple of\nhours) combined with periods and repetitions. For instance, if you\nwanted to restrict certain resources to only running once, between\nthe hours of two and 4 AM, then you would use this schedule:\n\n schedule { 'maint':\n range => \"2 - 4\",\n period => daily,\n repeat => 1,\n }\n\nWith this schedule, the first time that Puppet runs between 2 and 4 AM,\nall resources with this schedule will get applied, but they won't\nget applied again between 2 and 4 because they will have already\nrun once that day, and they won't get applied outside that schedule\nbecause they will be outside the scheduled range.\n\nPuppet automatically creates a schedule for each of the valid periods\nwith the same name as that period (e.g., hourly and daily).\nAdditionally, a schedule named `puppet` is created and used as the\ndefault, with the following attributes:\n\n schedule { 'puppet':\n period => hourly,\n repeat => 2,\n }\n\nThis will cause resources to be applied every 30 minutes by default.","attributes":{"name":{"description":"The name of the schedule. This name is used when assigning the schedule\nto a resource with the `schedule` metaparameter:\n\n schedule { 'everyday':\n period => daily,\n range => \"2 - 4\",\n }\n\n exec { \"/usr/bin/apt-get update\":\n schedule => 'everyday',\n }","kind":"parameter","namevar":true},"range":{"description":"The earliest and latest that a resource can be applied. This is\nalways a hyphen-separated range within a 24 hour period, and hours\nmust be specified in numbers between 0 and 23, inclusive. Minutes and\nseconds can optionally be provided, using the normal colon as a\nseparator. For instance:\n\n schedule { 'maintenance':\n range => \"1:30 - 4:30\",\n }\n\nThis is mostly useful for restricting certain resources to being\napplied in maintenance windows or during off-peak hours. Multiple\nranges can be applied in array context. As a convenience when specifying\nranges, you may cross midnight (e.g.: range => \"22:00 - 04:00\").","kind":"parameter","namevar":false},"periodmatch":{"description":"Whether periods should be matched by number (e.g., the two times\nare in the same hour) or by distance (e.g., the two times are\n60 minutes apart).\n\nValid values are `number`, `distance`.","kind":"parameter","namevar":false},"period":{"description":"The period of repetition for resources on this schedule. The default is\nfor resources to get applied every time Puppet runs.\n\nNote that the period defines how often a given resource will get\napplied but not when; if you would like to restrict the hours\nthat a given resource can be applied (e.g., only at night during\na maintenance window), then use the `range` attribute.\n\nIf the provided periods are not sufficient, you can provide a\nvalue to the *repeat* attribute, which will cause Puppet to\nschedule the affected resources evenly in the period the\nspecified number of times. Take this schedule:\n\n schedule { 'veryoften':\n period => hourly,\n repeat => 6,\n }\n\nThis can cause Puppet to apply that resource up to every 10 minutes.\n\nAt the moment, Puppet cannot guarantee that level of repetition; that\nis, the resource can applied _up to_ every 10 minutes, but internal\nfactors might prevent it from actually running that often (e.g. if a\nPuppet run is still in progress when the next run is scheduled to start,\nthat next run will be suppressed).\n\nSee the `periodmatch` attribute for tuning whether to match\ntimes by their distance apart or by their specific value.\n\nValid values are `hourly`, `daily`, `weekly`, `monthly`, `never`.","kind":"parameter","namevar":false},"repeat":{"description":"How often a given resource may be applied in this schedule's `period`.\nDefaults to 1; must be an integer.","kind":"parameter","namevar":false},"weekday":{"description":"The days of the week in which the schedule should be valid.\nYou may specify the full day name (Tuesday), the three character\nabbreviation (Tue), or a number corresponding to the day of the\nweek where 0 is Sunday, 1 is Monday, etc. Multiple days can be specified\nas an array. If not specified, the day of the week will not be\nconsidered in the schedule.\n\nIf you are also using a range match that spans across midnight\nthen this parameter will match the day that it was at the start\nof the range, not necessarily the day that it is when it matches.\nFor example, consider this schedule:\n\n schedule { 'maintenance_window':\n range => '22:00 - 04:00',\n weekday => 'Saturday',\n }\n\nThis will match at 11 PM on Saturday and 2 AM on Sunday, but not\nat 2 AM on Saturday.","kind":"parameter","namevar":false}},"features":{},"providers":{}},"scheduled_task":{"description":"Installs and manages Windows Scheduled Tasks. All attributes\nexcept `name`, `command`, and `trigger` are optional; see the description\nof the `trigger` attribute for details on setting schedules.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"enabled":{"description":"Whether the triggers for this task should be enabled. This attribute\naffects every trigger for the task; triggers cannot be enabled or\ndisabled individually.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"command":{"description":"The full path to the application to run, without any arguments.","kind":"property","namevar":false},"working_dir":{"description":"The full path of the directory in which to start the command.","kind":"property","namevar":false},"arguments":{"description":"Any arguments or flags that should be passed to the command. Multiple arguments\nshould be specified as a space-separated string.","kind":"property","namevar":false},"user":{"description":"The user to run the scheduled task as. Please note that not\nall security configurations will allow running a scheduled task\nas 'SYSTEM', and saving the scheduled task under these\nconditions will fail with a reported error of 'The operation\ncompleted successfully'. It is recommended that you either\nchoose another user to run the scheduled task, or alter the\nsecurity policy to allow v1 scheduled tasks to run as the\n'SYSTEM' account. Defaults to 'SYSTEM'.\n\nPlease also note that Puppet must be running as a privileged user\nin order to manage `scheduled_task` resources. Running as an\nunprivileged user will result in 'access denied' errors.","kind":"property","namevar":false},"trigger":{"description":"One or more triggers defining when the task should run. A single trigger is\nrepresented as a hash, and multiple triggers can be specified with an array of\nhashes.\n\nA trigger can contain the following keys:\n\n* For all triggers:\n * `schedule` **(Required)** --- What kind of trigger this is.\n Valid values are `daily`, `weekly`, `monthly`, or `once`. Each kind\n of trigger is configured with a different set of keys; see the\n sections below. (`once` triggers only need a start time/date.)\n * `start_time` **(Required)** --- The time of day when the trigger should\n first become active. Several time formats will work, but we\n suggest 24-hour time formatted as HH:MM.\n * `start_date` --- The date when the trigger should first become active.\n Defaults to the current date. You should format dates as YYYY-MM-DD,\n although other date formats may work. (Under the hood, this uses `Date.parse`.)\n * `minutes_interval` --- The repeat interval in minutes.\n * `minutes_duration` --- The duration in minutes, needs to be greater than the\n minutes_interval.\n* For `daily` triggers:\n * `every` --- How often the task should run, as a number of days. Defaults\n to 1. (\"2\" means every other day, \"3\" means every three days, etc.)\n* For `weekly` triggers:\n * `every` --- How often the task should run, as a number of weeks. Defaults\n to 1. (\"2\" means every other week, \"3\" means every three weeks, etc.)\n * `day_of_week` --- Which days of the week the task should run, as an array.\n Defaults to all days. Each day must be one of `mon`, `tues`,\n `wed`, `thurs`, `fri`, `sat`, `sun`, or `all`.\n* For `monthly` (by date) triggers:\n * `months` --- Which months the task should run, as an array. Defaults to\n all months. Each month must be an integer between 1 and 12.\n * `on` **(Required)** --- Which days of the month the task should run,\n as an array. Each day must beeither an integer between 1 and 31,\n or the special value `last,` which is always the last day of the month.\n* For `monthly` (by weekday) triggers:\n * `months` --- Which months the task should run, as an array. Defaults to\n all months. Each month must be an integer between 1 and 12.\n * `day_of_week` **(Required)** --- Which day of the week the task should\n run, as an array with only one element. Each day must be one of `mon`,\n `tues`, `wed`, `thurs`, `fri`, `sat`, `sun`, or `all`.\n * `which_occurrence` **(Required)** --- The occurrence of the chosen weekday\n when the task should run. Must be one of `first`, `second`, `third`,\n `fourth`, `fifth`, or `last`.\n\n\nExamples:\n\n # Run at 8am on the 1st, 15th, and last day of the month in January, March,\n # May, July, September, and November, starting after August 31st, 2011.\n trigger => {\n schedule => monthly,\n start_date => '2011-08-31', # Defaults to current date\n start_time => '08:00', # Must be specified\n months => [1,3,5,7,9,11], # Defaults to all\n on => [1, 15, last], # Must be specified\n }\n\n # Run at 8am on the first Monday of the month for January, March, and May,\n # starting after August 31st, 2011.\n trigger => {\n schedule => monthly,\n start_date => '2011-08-31', # Defaults to current date\n start_time => '08:00', # Must be specified\n months => [1,3,5], # Defaults to all\n which_occurrence => first, # Must be specified\n day_of_week => [mon], # Must be specified\n }\n\n # Run daily repeating every 30 minutes between 9am and 5pm (480 minutes) starting after August 31st, 2011.\n trigger => {\n schedule => daily,\n start_date => '2011-08-31', # Defaults to current date\n start_time => '8:00', # Must be specified\n minutes_interval => 30,\n minutes_duration => 480,\n }","kind":"property","namevar":false},"name":{"description":"The name assigned to the scheduled task. This will uniquely\nidentify the task on the system.","kind":"parameter","namevar":true},"password":{"description":"The password for the user specified in the 'user' attribute.\nThis is only used if specifying a user other than 'SYSTEM'.\nSince there is no way to retrieve the password used to set the\naccount information for a task, this parameter will not be used\nto determine if a scheduled task is in sync or not.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `scheduled_task`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"win32_taskscheduler":{"description":"This provider manages scheduled tasks on Windows.\n\n* Default for `operatingsystem` == `windows`.","features":[]}}},"selboolean":{"description":"Manages SELinux booleans on systems with SELinux support. The supported booleans\nare any of the ones found in `/selinux/booleans/`.","attributes":{"value":{"description":"Whether the SELinux boolean should be enabled or disabled.\n\nValid values are `on`, `off`.","kind":"property","namevar":false},"name":{"description":"The name of the SELinux boolean to be managed.","kind":"parameter","namevar":true},"persistent":{"description":"If set true, SELinux booleans will be written to disk and persist across reboots.\nThe default is `false`.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `selboolean`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"getsetsebool":{"description":"Manage SELinux booleans using the getsebool and setsebool binaries.\n\n* Required binaries: `/usr/sbin/getsebool`, `/usr/sbin/setsebool`.","features":[]}}},"selmodule":{"description":"Manages loading and unloading of SELinux policy modules\non the system. Requires SELinux support. See man semodule(8)\nfor more information on SELinux policy modules.\n\n**Autorequires:** If Puppet is managing the file containing this SELinux\npolicy module (which is either explicitly specified in the `selmodulepath`\nattribute or will be found at {`selmoduledir`}/{`name`}.pp), the selmodule\nresource will autorequire that file.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"syncversion":{"description":"If set to `true`, the policy will be reloaded if the\nversion found in the on-disk file differs from the loaded\nversion. If set to `false` (the default) the only check\nthat will be made is if the policy is loaded at all or not.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"name":{"description":"The name of the SELinux policy to be managed. You should not\ninclude the customary trailing .pp extension.","kind":"parameter","namevar":true},"selmoduledir":{"description":"The directory to look for the compiled pp module file in.\nCurrently defaults to `/usr/share/selinux/targeted`. If the\n`selmodulepath` attribute is not specified, Puppet will expect to find\nthe module in `<selmoduledir>/<name>.pp`, where `name` is the value of the\n`name` parameter.","kind":"parameter","namevar":false},"selmodulepath":{"description":"The full path to the compiled .pp policy module. You only need to use\nthis if the module file is not in the `selmoduledir` directory.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `selmodule`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"semodule":{"description":"Manage SELinux policy modules using the semodule binary.\n\n* Required binaries: `/usr/sbin/semodule`.","features":[]}}},"service":{"description":"Manage running services. Service support unfortunately varies\nwidely by platform --- some platforms have very little if any concept of a\nrunning service, and some have a very codified and powerful concept.\nPuppet's service support is usually capable of doing the right thing, but\nthe more information you can provide, the better behaviour you will get.\n\nPuppet 2.7 and newer expect init scripts to have a working status command.\nIf this isn't the case for any of your services' init scripts, you will\nneed to set `hasstatus` to false and possibly specify a custom status\ncommand in the `status` attribute. As a last resort, Puppet will attempt to\nsearch the process table by calling whatever command is listed in the `ps`\nfact. The default search pattern is the name of the service, but you can\nspecify it with the `pattern` attribute.\n\n**Refresh:** `service` resources can respond to refresh events (via\n`notify`, `subscribe`, or the `~>` arrow). If a `service` receives an\nevent from another resource, Puppet will restart the service it manages.\nThe actual command used to restart the service depends on the platform and\ncan be configured:\n\n* If you set `hasrestart` to true, Puppet will use the init script's restart command.\n* You can provide an explicit command for restarting with the `restart` attribute.\n* If you do neither, the service's stop and start commands will be used.","attributes":{"enable":{"description":"Whether a service should be enabled to start at boot.\nThis property behaves quite differently depending on the platform;\nwherever possible, it relies on local tools to enable or disable\na given service.\n\nValid values are `true`, `false`, `manual`, `mask`.\n\nRequires features enableable.","kind":"property","namevar":false},"ensure":{"description":"Whether a service should be running.\n\nValid values are `stopped` (also called `false`), `running` (also called `true`).","kind":"property","namevar":false},"flags":{"description":"Specify a string of flags to pass to the startup script.\n\n\n\nRequires features flaggable.","kind":"property","namevar":false},"binary":{"description":"The path to the daemon. This is only used for\nsystems that do not support init scripts. This binary will be\nused to start the service if no `start` parameter is\nprovided.","kind":"parameter","namevar":false},"hasstatus":{"description":"Declare whether the service's init script has a functional status\ncommand; defaults to `true`. This attribute's default value changed in\nPuppet 2.7.0.\n\nThe init script's status command must return 0 if the service is\nrunning and a nonzero value otherwise. Ideally, these exit codes\nshould conform to [the LSB's specification][lsb-exit-codes] for init\nscript status actions, but Puppet only considers the difference\nbetween 0 and nonzero to be relevant.\n\nIf a service's init script does not support any kind of status command,\nyou should set `hasstatus` to false and either provide a specific\ncommand using the `status` attribute or expect that Puppet will look for\nthe service name in the process table. Be aware that 'virtual' init\nscripts (like 'network' under Red Hat systems) will respond poorly to\nrefresh events from other resources if you override the default behavior\nwithout providing a status command.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"name":{"description":"The name of the service to run.\n\nThis name is used to find the service; on platforms where services\nhave short system names and long display names, this should be the\nshort name. (To take an example from Windows, you would use \"wuauserv\"\nrather than \"Automatic Updates.\")","kind":"parameter","namevar":true},"path":{"description":"The search path for finding init scripts. Multiple values should\nbe separated by colons or provided as an array.","kind":"parameter","namevar":false},"pattern":{"description":"The pattern to search for in the process table.\nThis is used for stopping services on platforms that do not\nsupport init scripts, and is also used for determining service\nstatus on those service whose init scripts do not include a status\ncommand.\n\nDefaults to the name of the service. The pattern can be a simple string\nor any legal Ruby pattern, including regular expressions (which should\nbe quoted without enclosing slashes).","kind":"parameter","namevar":false},"restart":{"description":"Specify a *restart* command manually. If left\nunspecified, the service will be stopped and then started.","kind":"parameter","namevar":false},"start":{"description":"Specify a *start* command manually. Most service subsystems\nsupport a `start` command, so this will not need to be\nspecified.","kind":"parameter","namevar":false},"status":{"description":"Specify a *status* command manually. This command must\nreturn 0 if the service is running and a nonzero value otherwise.\nIdeally, these exit codes should conform to [the LSB's\nspecification][lsb-exit-codes] for init script status actions, but\nPuppet only considers the difference between 0 and nonzero to be\nrelevant.\n\nIf left unspecified, the status of the service will be determined\nautomatically, usually by looking for the service in the process\ntable.\n\n[lsb-exit-codes]: http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html","kind":"parameter","namevar":false},"stop":{"description":"Specify a *stop* command manually.","kind":"parameter","namevar":false},"control":{"description":"The control variable used to manage services (originally for HP-UX).\nDefaults to the upcased service name plus `START` replacing dots with\nunderscores, for those providers that support the `controllable` feature.","kind":"parameter","namevar":false},"hasrestart":{"description":"Specify that an init script has a `restart` command. If this is\nfalse and you do not specify a command in the `restart` attribute,\nthe init script's `stop` and `start` commands will be used.\n\nDefaults to false.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"manifest":{"description":"Specify a command to config a service, or a path to a manifest to do so.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `service`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{"refreshable":"The provider can restart the service.","enableable":"The provider can enable and disable the service","controllable":"The provider uses a control variable.","flaggable":"The provider can pass flags to the service.","maskable":"The provider can 'mask' the service."},"providers":{"service":{"description":"The simplest form of service support.\n\n* Supported features: `refreshable`.","features":["refreshable"]},"base":{"description":"The simplest form of Unix service support.\n\nYou have to specify enough about your service for this to work; the\nminimum you can specify is a binary for starting the process, and this\nsame binary will be searched for in the process table to stop the\nservice. As with `init`-style services, it is preferable to specify start,\nstop, and status commands.\n\n* Required binaries: `kill`.\n* Supported features: `refreshable`.","features":["refreshable"]},"init":{"description":"Standard `init`-style service management.\n\n* Supported features: `refreshable`.","features":["refreshable"]},"bsd":{"description":"Generic BSD form of `init`-style service management with `rc.d`.\n\nUses `rc.conf.d` for service enabling and disabling.\n\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"daemontools":{"description":"Daemontools service management.\n\nThis provider manages daemons supervised by D.J. Bernstein daemontools.\nWhen detecting the service directory it will check, in order of preference:\n\n* `/service`\n* `/etc/service`\n* `/var/lib/svscan`\n\nThe daemon directory should be in one of the following locations:\n\n* `/var/lib/service`\n* `/etc`\n\n...or this can be overriden in the resource's attributes:\n\n service { \"myservice\":\n provider => \"daemontools\",\n path => \"/path/to/daemons\",\n }\n\nThis provider supports out of the box:\n\n* start/stop (mapped to enable/disable)\n* enable/disable\n* restart\n* status\n\nIf a service has `ensure => \"running\"`, it will link /path/to/daemon to\n/path/to/service, which will automatically enable the service.\n\nIf a service has `ensure => \"stopped\"`, it will only shut down the service, not\nremove the `/path/to/service` link.\n\n* Required binaries: `/usr/bin/svc`, `/usr/bin/svstat`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"debian":{"description":"Debian's form of `init`-style management.\n\nThe only differences from `init` are support for enabling and disabling\nservices via `update-rc.d` and the ability to determine enabled status via\n`invoke-rc.d`.\n\n* Required binaries: `/usr/sbin/invoke-rc.d`, `/usr/sbin/update-rc.d`.\n* Default for `operatingsystem` == `cumuluslinux`. Default for `operatingsystem` == `debian` and `operatingsystemmajrelease` == `5, 6, 7`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"freebsd":{"description":"Provider for FreeBSD and DragonFly BSD. Uses the `rcvar` argument of init scripts and parses/edits rc files.\n\n* Default for `operatingsystem` == `freebsd, dragonfly`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"gentoo":{"description":"Gentoo's form of `init`-style service management.\n\nUses `rc-update` for service enabling and disabling.\n\n* Required binaries: `/sbin/rc-update`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"launchd":{"description":"This provider manages jobs with `launchd`, which is the default service\nframework for Mac OS X (and may be available for use on other platforms).\n\nFor `launchd` documentation, see:\n\n* <http://developer.apple.com/macosx/launchd.html>\n* <http://launchd.macosforge.org/>\n\nThis provider reads plists out of the following directories:\n\n* `/System/Library/LaunchDaemons`\n* `/System/Library/LaunchAgents`\n* `/Library/LaunchDaemons`\n* `/Library/LaunchAgents`\n\n...and builds up a list of services based upon each plist's \"Label\" entry.\n\nThis provider supports:\n\n* ensure => running/stopped,\n* enable => true/false\n* status\n* restart\n\nHere is how the Puppet states correspond to `launchd` states:\n\n* stopped --- job unloaded\n* started --- job loaded\n* enabled --- 'Disable' removed from job plist file\n* disabled --- 'Disable' added to job plist file\n\nNote that this allows you to do something `launchctl` can't do, which is to\nbe in a state of \"stopped/enabled\" or \"running/disabled\".\n\nNote that this provider does not support overriding 'restart' or 'status'.\n\n* Required binaries: `/bin/launchctl`, `/usr/bin/plutil`.\n* Default for `operatingsystem` == `darwin`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"openbsd":{"description":"Provider for OpenBSD's rc.d daemon control scripts\n\n* Required binaries: `/usr/sbin/rcctl`.\n* Default for `operatingsystem` == `openbsd`.\n* Supported features: `enableable`, `flaggable`, `refreshable`.","features":["enableable","flaggable","refreshable"]},"openrc":{"description":"Support for Gentoo's OpenRC initskripts\n\nUses rc-update, rc-status and rc-service to manage services.\n\n* Required binaries: `/bin/rc-status`, `/sbin/rc-service`, `/sbin/rc-update`.\n* Default for `operatingsystem` == `gentoo`. Default for `operatingsystem` == `funtoo`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"openwrt":{"description":"Support for OpenWrt flavored init scripts.\n\nUses /etc/init.d/service_name enable, disable, and enabled.\n\n* Default for `operatingsystem` == `openwrt`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"redhat":{"description":"Red Hat's (and probably many others') form of `init`-style service\nmanagement. Uses `chkconfig` for service enabling and disabling.\n\n* Required binaries: `/sbin/chkconfig`, `/sbin/service`.\n* Default for `osfamily` == `redhat, suse`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"runit":{"description":"Runit service management.\n\nThis provider manages daemons running supervised by Runit.\nWhen detecting the service directory it will check, in order of preference:\n\n* `/service`\n* `/etc/service`\n* `/var/service`\n\nThe daemon directory should be in one of the following locations:\n\n* `/etc/sv`\n* `/var/lib/service`\n\nor this can be overriden in the service resource parameters::\n\n service { \"myservice\":\n provider => \"runit\",\n path => \"/path/to/daemons\",\n }\n\nThis provider supports out of the box:\n\n* start/stop\n* enable/disable\n* restart\n* status\n\n* Required binaries: `/usr/bin/sv`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"smf":{"description":"Support for Sun's new Service Management Framework.\n\nStarting a service is effectively equivalent to enabling it, so there is\nonly support for starting and stopping services, which also enables and\ndisables them, respectively.\n\nBy specifying `manifest => \"/path/to/service.xml\"`, the SMF manifest will\nbe imported if it does not exist.\n\n* Required binaries: `/usr/bin/svcs`, `/usr/sbin/svcadm`, `/usr/sbin/svccfg`.\n* Default for `osfamily` == `solaris`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"src":{"description":"Support for AIX's System Resource controller.\n\nServices are started/stopped based on the `stopsrc` and `startsrc`\ncommands, and some services can be refreshed with `refresh` command.\n\nEnabling and disabling services is not supported, as it requires\nmodifications to `/etc/inittab`. Starting and stopping groups of subsystems\nis not yet supported.\n\n* Required binaries: `/usr/bin/lssrc`, `/usr/bin/refresh`, `/usr/bin/startsrc`, `/usr/bin/stopsrc`, `/usr/sbin/chitab`, `/usr/sbin/lsitab`, `/usr/sbin/mkitab`, `/usr/sbin/rmitab`.\n* Default for `operatingsystem` == `aix`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"systemd":{"description":"Manages `systemd` services using `systemctl`.\n\n* Required binaries: `systemctl`.\n* Default for `osfamily` == `archlinux`. Default for `operatingsystemmajrelease` == `7` and `osfamily` == `redhat`. Default for `operatingsystem` == `fedora` and `osfamily` == `redhat`. Default for `operatingsystemmajrelease` == `12, 13` and `osfamily` == `suse`. Default for `operatingsystem` == `debian` and `operatingsystemmajrelease` == `8`. Default for `operatingsystem` == `ubuntu` and `operatingsystemmajrelease` == `15.04`.\n* Supported features: `enableable`, `maskable`, `refreshable`.","features":["enableable","maskable","refreshable"]},"upstart":{"description":"Ubuntu service management with `upstart`.\n\nThis provider manages `upstart` jobs on Ubuntu. For `upstart` documentation,\nsee <http://upstart.ubuntu.com/>.\n\n* Required binaries: `/sbin/initctl`, `/sbin/restart`, `/sbin/start`, `/sbin/status`, `/sbin/stop`.\n* Default for `operatingsystem` == `ubuntu` and `operatingsystemmajrelease` == `10.04, 12.04, 14.04, 14.10`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]},"windows":{"description":"Support for Windows Service Control Manager (SCM). This provider can\nstart, stop, enable, and disable services, and the SCM provides working\nstatus methods for all services.\n\nControl of service groups (dependencies) is not yet supported, nor is running\nservices as a specific user.\n\n* Required binaries: `net.exe`.\n* Default for `operatingsystem` == `windows`.\n* Supported features: `enableable`, `refreshable`.","features":["enableable","refreshable"]}}},"ssh_authorized_key":{"description":"Manages SSH authorized keys. Currently only type 2 keys are supported.\n\nIn their native habitat, SSH keys usually appear as a single long line. This\nresource type requires you to split that line into several attributes. Thus, a\nkey that appears in your `~/.ssh/id_rsa.pub` file like this...\n\n ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAy5mtOAMHwA2ZAIfW6Ap70r+I4EclYHEec5xIN59ROUjss23Skb1OtjzYpVPaPH8mSdSmsN0JHaBLiRcu7stl4O8D8zA4mz/vw32yyQ/Kqaxw8l0K76k6t2hKOGqLTY4aFbFISV6GDh7MYLn8KU7cGp96J+caO5R5TqtsStytsUhSyqH+iIDh4e4+BrwTc6V4Y0hgFxaZV5d18mLA4EPYKeG5+zyBCVu+jueYwFqM55E0tHbfiaIN9IzdLV+7NEEfdLkp6w2baLKPqWUBmuvPF1Mn3FwaFLjVsMT3GQeMue6b3FtUdTDeyAYoTxrsRo/WnDkS6Pa3YhrFwjtUqXfdaQ== nick@magpie.puppetlabs.lan\n\n...would translate to the following resource:\n\n ssh_authorized_key { 'nick@magpie.puppetlabs.lan':\n user => 'nick',\n type => 'ssh-rsa',\n key => 'AAAAB3NzaC1yc2EAAAABIwAAAQEAy5mtOAMHwA2ZAIfW6Ap70r+I4EclYHEec5xIN59ROUjss23Skb1OtjzYpVPaPH8mSdSmsN0JHaBLiRcu7stl4O8D8zA4mz/vw32yyQ/Kqaxw8l0K76k6t2hKOGqLTY4aFbFISV6GDh7MYLn8KU7cGp96J+caO5R5TqtsStytsUhSyqH+iIDh4e4+BrwTc6V4Y0hgFxaZV5d18mLA4EPYKeG5+zyBCVu+jueYwFqM55E0tHbfiaIN9IzdLV+7NEEfdLkp6w2baLKPqWUBmuvPF1Mn3FwaFLjVsMT3GQeMue6b3FtUdTDeyAYoTxrsRo/WnDkS6Pa3YhrFwjtUqXfdaQ==',\n }\n\nTo ensure that only the currently approved keys are present, you can purge\nunmanaged SSH keys on a per-user basis. Do this with the `user` resource\ntype's `purge_ssh_keys` attribute:\n\n user { 'nick':\n ensure => present,\n purge_ssh_keys => true,\n }\n\nThis will remove any keys in `~/.ssh/authorized_keys` that aren't being\nmanaged with `ssh_authorized_key` resources. See the documentation of the\n`user` type for more details.\n\n**Autorequires:** If Puppet is managing the user account in which this\nSSH key should be installed, the `ssh_authorized_key` resource will autorequire\nthat user.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"type":{"description":"The encryption type used.\n\nValid values are `ssh-dss` (also called `dsa`), `ssh-rsa` (also called `rsa`), `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `ssh-ed25519` (also called `ed25519`).","kind":"property","namevar":false},"key":{"description":"The public key itself; generally a long string of hex characters. The `key`\nattribute may not contain whitespace.\n\nMake sure to omit the following in this attribute (and specify them in\nother attributes):\n\n* Key headers (e.g. 'ssh-rsa') --- put these in the `type` attribute.\n* Key identifiers / comments (e.g. 'joe@joescomputer.local') --- put these in\n the `name` attribute/resource title.","kind":"property","namevar":false},"user":{"description":"The user account in which the SSH key should be installed. The resource\nwill autorequire this user if it is being managed as a `user` resource.","kind":"property","namevar":false},"target":{"description":"The absolute filename in which to store the SSH key. This\nproperty is optional and should only be used in cases where keys\nare stored in a non-standard location (i.e.` not in\n`~user/.ssh/authorized_keys`).","kind":"property","namevar":false},"options":{"description":"Key options; see sshd(8) for possible values. Multiple values\nshould be specified as an array.","kind":"property","namevar":false},"name":{"description":"The SSH key comment. This attribute is currently used as a\nsystem-wide primary key and therefore has to be unique.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `ssh_authorized_key`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"parsed":{"description":"Parse and generate authorized_keys files for SSH.","features":[]}}},"sshkey":{"description":"Installs and manages ssh host keys. At this point, this type\nonly knows how to install keys into `/etc/ssh/ssh_known_hosts`. See\nthe `ssh_authorized_key` type to manage authorized keys.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"type":{"description":"The encryption type used. Probably ssh-dss or ssh-rsa.\n\nValid values are `ssh-dss` (also called `dsa`), `ssh-ed25519` (also called `ed25519`), `ssh-rsa` (also called `rsa`), `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`.","kind":"property","namevar":false},"key":{"description":"The key itself; generally a long string of uuencoded characters.","kind":"property","namevar":false},"host_aliases":{"description":"Any aliases the host might have. Multiple values must be\nspecified as an array.","kind":"property","namevar":false},"target":{"description":"The file in which to store the ssh key. Only used by\nthe `parsed` provider.","kind":"property","namevar":false},"name":{"description":"The host name that the key is associated with.","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `sshkey`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"parsed":{"description":"Parse and generate host-wide known hosts files for SSH.","features":[]}}},"stage":{"description":"A resource type for creating new run stages. Once a stage is available,\nclasses can be assigned to it by declaring them with the resource-like syntax\nand using\n[the `stage` metaparameter](http://docs.puppetlabs.com/references/latest/metaparameter.html#stage).\n\nNote that new stages are not useful unless you also declare their order\nin relation to the default `main` stage.\n\nA complete run stage example:\n\n stage { 'pre':\n before => Stage['main'],\n }\n\n class { 'apt-updates':\n stage => 'pre',\n }\n\nIndividual resources cannot be assigned to run stages; you can only set stages\nfor classes.","attributes":{"name":{"description":"The name of the stage. Use this as the value for the `stage` metaparameter\nwhen assigning classes to this stage.","kind":"parameter","namevar":true}},"features":{},"providers":{}},"tidy":{"description":"Remove unwanted files based on specific criteria. Multiple\ncriteria are OR'd together, so a file that is too large but is not\nold enough will still get tidied.\n\nIf you don't specify either `age` or `size`, then all files will\nbe removed.\n\nThis resource type works by generating a file resource for every file\nthat should be deleted and then letting that resource perform the\nactual deletion.","attributes":{"path":{"description":"The path to the file or directory to manage. Must be fully\nqualified.","kind":"parameter","namevar":true},"recurse":{"description":"If target is a directory, recursively descend\ninto the directory looking for files to tidy.\n\nValid values are `true`, `false`, `inf`. Values can match `/^[0-9]+$/`.","kind":"parameter","namevar":false},"matches":{"description":"One or more (shell type) file glob patterns, which restrict\nthe list of files to be tidied to those whose basenames match\nat least one of the patterns specified. Multiple patterns can\nbe specified using an array.\n\nExample:\n\n tidy { \"/tmp\":\n age => \"1w\",\n recurse => 1,\n matches => [ \"[0-9]pub*.tmp\", \"*.temp\", \"tmpfile?\" ]\n }\n\nThis removes files from `/tmp` if they are one week old or older,\nare not in a subdirectory and match one of the shell globs given.\n\nNote that the patterns are matched against the basename of each\nfile -- that is, your glob patterns should not have any '/'\ncharacters in them, since you are only specifying against the last\nbit of the file.\n\nFinally, note that you must now specify a non-zero/non-false value\nfor recurse if matches is used, as matches only apply to files found\nby recursion (there's no reason to use static patterns match against\na statically determined path). Requiering explicit recursion clears\nup a common source of confusion.","kind":"parameter","namevar":false},"backup":{"description":"Whether tidied files should be backed up. Any values are passed\ndirectly to the file resources used for actual file deletion, so consult\nthe `file` type's backup documentation to determine valid values.","kind":"parameter","namevar":false},"age":{"description":"Tidy files whose age is equal to or greater than\nthe specified time. You can choose seconds, minutes,\nhours, days, or weeks by specifying the first letter of any\nof those words (e.g., '1w').\n\nSpecifying 0 will remove all files.","kind":"parameter","namevar":false},"size":{"description":"Tidy files whose size is equal to or greater than\nthe specified size. Unqualified values are in kilobytes, but\n*b*, *k*, *m*, *g*, and *t* can be appended to specify *bytes*,\n*kilobytes*, *megabytes*, *gigabytes*, and *terabytes*, respectively.\nOnly the first character is significant, so the full word can also\nbe used.","kind":"parameter","namevar":false},"type":{"description":"Set the mechanism for determining age. Default: atime.\n\nValid values are `atime`, `mtime`, `ctime`.","kind":"parameter","namevar":false},"rmdirs":{"description":"Tidy directories in addition to files; that is, remove\ndirectories whose age is older than the specified criteria.\nThis will only remove empty directories, so all contained\nfiles must also be tidied before a directory gets removed.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false}},"features":{},"providers":{}},"user":{"description":"Manage users. This type is mostly built to manage system\nusers, so it is lacking some features useful for managing normal\nusers.\n\nThis resource type uses the prescribed native tools for creating\ngroups and generally uses POSIX APIs for retrieving information\nabout them. It does not directly modify `/etc/passwd` or anything.\n\n**Autorequires:** If Puppet is managing the user's primary group (as\nprovided in the `gid` attribute), the user resource will autorequire\nthat group. If Puppet is managing any role accounts corresponding to the\nuser's roles, the user resource will autorequire those role accounts.","attributes":{"ensure":{"description":"The basic state that the object should be in.\n\nValid values are `present`, `absent`, `role`.","kind":"property","namevar":false},"home":{"description":"The home directory of the user. The directory must be created\nseparately and is not currently checked for existence.","kind":"property","namevar":false},"uid":{"description":"The user ID; must be specified numerically. If no user ID is\nspecified when creating a new user, then one will be chosen\nautomatically. This will likely result in the same user having\ndifferent UIDs on different systems, which is not recommended. This is\nespecially noteworthy when managing the same user on both Darwin and\nother platforms, since Puppet does UID generation on Darwin, but\nthe underlying tools do so on other platforms.\n\nOn Windows, this property is read-only and will return the user's\nsecurity identifier (SID).","kind":"property","namevar":false},"gid":{"description":"The user's primary group. Can be specified numerically or by name.\n\nThis attribute is not supported on Windows systems; use the `groups`\nattribute instead. (On Windows, designating a primary group is only\nmeaningful for domain accounts, which Puppet does not currently manage.)","kind":"property","namevar":false},"comment":{"description":"A description of the user. Generally the user's full name.","kind":"property","namevar":false},"shell":{"description":"The user's login shell. The shell must exist and be\nexecutable.\n\nThis attribute cannot be managed on Windows systems.\n\n\n\nRequires features manages_shell.","kind":"property","namevar":false},"password":{"description":"The user's password, in whatever encrypted format the local\nsystem requires.\n\n* Most modern Unix-like systems use salted SHA1 password hashes. You can use\n Puppet's built-in `sha1` function to generate a hash from a password.\n* Mac OS X 10.5 and 10.6 also use salted SHA1 hashes.\n* Mac OS X 10.7 (Lion) uses salted SHA512 hashes. The Puppet Labs [stdlib][]\n module contains a `str2saltedsha512` function which can generate password\n hashes for Lion.\n* Mac OS X 10.8 and higher use salted SHA512 PBKDF2 hashes. When\n managing passwords on these systems the salt and iterations properties\n need to be specified as well as the password.\n* Windows passwords can only be managed in cleartext, as there is no Windows API\n for setting the password hash.\n\n[stdlib]: https://github.com/puppetlabs/puppetlabs-stdlib/\n\nBe sure to enclose any value that includes a dollar sign ($) in single\nquotes (') to avoid accidental variable interpolation.\n\n\n\nRequires features manages_passwords.","kind":"property","namevar":false},"password_min_age":{"description":"The minimum number of days a password must be used before it may be changed.\n\n\n\nRequires features manages_password_age.","kind":"property","namevar":false},"password_max_age":{"description":"The maximum number of days a password may be used before it must be changed.\n\n\n\nRequires features manages_password_age.","kind":"property","namevar":false},"groups":{"description":"The groups to which the user belongs. The primary group should\nnot be listed, and groups should be identified by name rather than by\nGID. Multiple groups should be specified as an array.","kind":"property","namevar":false},"expiry":{"description":"The expiry date for this user. Must be provided in\na zero-padded YYYY-MM-DD format --- e.g. 2010-02-19.\nIf you want to ensure the user account never expires,\nyou can pass the special value `absent`.\n\nValid values are `absent`. Values can match `/^\\d{4}-\\d{2}-\\d{2}$/`.\n\nRequires features manages_expiry.","kind":"property","namevar":false},"roles":{"description":"The roles the user has. Multiple roles should be\nspecified as an array.\n\n\n\nRequires features manages_solaris_rbac.","kind":"property","namevar":false},"auths":{"description":"The auths the user has. Multiple auths should be\nspecified as an array.\n\n\n\nRequires features manages_solaris_rbac.","kind":"property","namevar":false},"profiles":{"description":"The profiles the user has. Multiple profiles should be\nspecified as an array.\n\n\n\nRequires features manages_solaris_rbac.","kind":"property","namevar":false},"keys":{"description":"Specify user attributes in an array of key = value pairs.\n\n\n\nRequires features manages_solaris_rbac.","kind":"property","namevar":false},"project":{"description":"The name of the project associated with a user.\n\n\n\nRequires features manages_solaris_rbac.","kind":"property","namevar":false},"attributes":{"description":"Specify AIX attributes for the user in an array of attribute = value pairs.\n\n\n\nRequires features manages_aix_lam.","kind":"property","namevar":false},"salt":{"description":"This is the 32 byte salt used to generate the PBKDF2 password used in\nOS X. This field is required for managing passwords on OS X >= 10.8.\n\n\n\nRequires features manages_password_salt.","kind":"property","namevar":false},"iterations":{"description":"This is the number of iterations of a chained computation of the\npassword hash (http://en.wikipedia.org/wiki/PBKDF2). This parameter\nis used in OS X. This field is required for managing passwords on OS X >= 10.8.\n\n\n\nRequires features manages_password_salt.","kind":"property","namevar":false},"loginclass":{"description":"The name of login class to which the user belongs.\n\n\n\nRequires features manages_loginclass.","kind":"property","namevar":false},"name":{"description":"The user name. While naming limitations vary by operating system,\nit is advisable to restrict names to the lowest common denominator,\nwhich is a maximum of 8 characters beginning with a letter.\n\nNote that Puppet considers user names to be case-sensitive, regardless\nof the platform's own rules; be sure to always use the same case when\nreferring to a given user.","kind":"parameter","namevar":true},"membership":{"description":"Whether specified groups should be considered the **complete list**\n(`inclusive`) or the **minimum list** (`minimum`) of groups to which\nthe user belongs. Defaults to `minimum`.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"system":{"description":"Whether the user is a system user, according to the OS's criteria;\non most platforms, a UID less than or equal to 500 indicates a system\nuser. This parameter is only used when the resource is created and will\nnot affect the UID when the user is present. Defaults to `false`.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"allowdupe":{"description":"Whether to allow duplicate UIDs. Defaults to `false`.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"managehome":{"description":"Whether to manage the home directory when managing the user.\nThis will create the home directory when `ensure => present`, and\ndelete the home directory when `ensure => absent`. Defaults to `false`.\n\nValid values are `true`, `false`, `yes`, `no`.","kind":"parameter","namevar":false},"role_membership":{"description":"Whether specified roles should be considered the **complete list**\n(`inclusive`) or the **minimum list** (`minimum`) of roles the user\nhas. Defaults to `minimum`.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"auth_membership":{"description":"Whether specified auths should be considered the **complete list**\n(`inclusive`) or the **minimum list** (`minimum`) of auths the user\nhas. Defaults to `minimum`.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"profile_membership":{"description":"Whether specified roles should be treated as the **complete list**\n(`inclusive`) or the **minimum list** (`minimum`) of roles\nof which the user is a member. Defaults to `minimum`.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"key_membership":{"description":"Whether specified key/value pairs should be considered the\n**complete list** (`inclusive`) or the **minimum list** (`minimum`) of\nthe user's attributes. Defaults to `minimum`.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"ia_load_module":{"description":"The name of the I&A module to use to manage this user.\n\n\n\nRequires features manages_aix_lam.","kind":"parameter","namevar":false},"attribute_membership":{"description":"Whether specified attribute value pairs should be treated as the\n**complete list** (`inclusive`) or the **minimum list** (`minimum`) of\nattribute/value pairs for the user. Defaults to `minimum`.\n\nValid values are `inclusive`, `minimum`.","kind":"parameter","namevar":false},"forcelocal":{"description":"Forces the management of local accounts when accounts are also\nbeing managed by some other NSS\n\nValid values are `true`, `false`, `yes`, `no`.\n\nRequires features libuser.","kind":"parameter","namevar":false},"purge_ssh_keys":{"description":"Whether to purge authorized SSH keys for this user if they are not managed\nwith the `ssh_authorized_key` resource type. Allowed values are:\n\n* `false` (default) --- don't purge SSH keys for this user.\n* `true` --- look for keys in the `.ssh/authorized_keys` file in the user's\n home directory. Purge any keys that aren't managed as `ssh_authorized_key`\n resources.\n* An array of file paths --- look for keys in all of the files listed. Purge\n any keys that aren't managed as `ssh_authorized_key` resources. If any of\n these paths starts with `~` or `%h`, that token will be replaced with\n the user's home directory.\n\nValid values are `true`, `false`.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `user`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{"allows_duplicates":"The provider supports duplicate users with the same UID.","manages_homedir":"The provider can create and remove home directories.","manages_passwords":"The provider can modify user passwords, by accepting a password\nhash.","manages_password_age":"The provider can set age requirements and restrictions for\npasswords.","manages_password_salt":"The provider can set a password salt. This is for providers that\nimplement PBKDF2 passwords with salt properties.","manages_solaris_rbac":"The provider can manage roles and normal users","manages_expiry":"The provider can manage the expiry date for a user.","system_users":"The provider allows you to create system users with lower UIDs.","manages_aix_lam":"The provider can manage AIX Loadable Authentication Module (LAM) system.","libuser":"Allows local users to be managed on systems that also use some other\nremote NSS method of managing accounts.","manages_shell":"The provider allows for setting shell and validates if possible","manages_loginclass":"The provider can manage the login class for a user."},"providers":{"aix":{"description":"User management for AIX.\n\n* Required binaries: `/bin/chpasswd`, `/usr/bin/chuser`, `/usr/bin/mkuser`, `/usr/sbin/lsgroup`, `/usr/sbin/lsuser`, `/usr/sbin/rmuser`.\n* Default for `operatingsystem` == `aix`.\n* Supported features: `manages_aix_lam`, `manages_expiry`, `manages_homedir`, `manages_password_age`, `manages_passwords`, `manages_shell`.","features":["manages_aix_lam","manages_expiry","manages_homedir","manages_password_age","manages_passwords","manages_shell"]},"directoryservice":{"description":"User management on OS X.\n\n* Required binaries: `/usr/bin/dscacheutil`, `/usr/bin/dscl`, `/usr/bin/dsimport`, `/usr/bin/plutil`, `/usr/bin/uuidgen`.\n* Default for `operatingsystem` == `darwin`.\n* Supported features: `manages_password_salt`, `manages_passwords`, `manages_shell`.","features":["manages_password_salt","manages_passwords","manages_shell"]},"useradd":{"description":"User management via `useradd` and its ilk. Note that you will need to\ninstall Ruby's shadow password library (often known as `ruby-libshadow`)\nif you wish to manage user passwords.\n\n* Required binaries: `chage`, `luseradd`, `useradd`, `userdel`, `usermod`.\n* Supported features: `allows_duplicates`, `manages_expiry`, `manages_homedir`, `manages_shell`, `system_users`.","features":["allows_duplicates","manages_expiry","manages_homedir","manages_shell","system_users","manages_passwords","manages_password_age","libuser"]},"hpuxuseradd":{"description":"User management for HP-UX. This provider uses the undocumented `-F`\nswitch to HP-UX's special `usermod` binary to work around the fact that\nits standard `usermod` cannot make changes while the user is logged in.\nNew functionality provides for changing trusted computing passwords and\nresetting password expirations under trusted computing\n\n* Required binaries: `/usr/sam/lbin/useradd.sam`, `/usr/sam/lbin/userdel.sam`, `/usr/sam/lbin/usermod.sam`.\n* Default for `operatingsystem` == `hp-ux`.\n* Supported features: `allows_duplicates`, `manages_homedir`, `manages_passwords`.","features":["allows_duplicates","manages_homedir","manages_passwords"]},"ldap":{"description":"User management via LDAP.\n\nThis provider requires that you have valid values for all of the\nLDAP-related settings in `puppet.conf`, including `ldapbase`. You will\nalmost definitely need settings for `ldapuser` and `ldappassword` in order\nfor your clients to write to LDAP.\n\nNote that this provider will automatically generate a UID for you if\nyou do not specify one, but it is a potentially expensive operation,\nas it iterates across all existing users to pick the appropriate next one.\n\n* Supported features: `manages_passwords`, `manages_shell`.","features":["manages_passwords","manages_shell"]},"openbsd":{"description":"User management via `useradd` and its ilk for OpenBSD. Note that you\nwill need to install Ruby's shadow password library (package known as\n`ruby-shadow`) if you wish to manage user passwords.\n\n* Required binaries: `passwd`, `useradd`, `userdel`, `usermod`.\n* Default for `operatingsystem` == `openbsd`.\n* Supported features: `manages_expiry`, `manages_homedir`, `manages_shell`, `system_users`.","features":["manages_expiry","manages_homedir","manages_shell","system_users","manages_passwords","manages_loginclass"]},"pw":{"description":"User management via `pw` on FreeBSD and DragonFly BSD.\n\n* Required binaries: `pw`.\n* Default for `operatingsystem` == `freebsd, dragonfly`.\n* Supported features: `allows_duplicates`, `manages_expiry`, `manages_homedir`, `manages_passwords`, `manages_shell`.","features":["allows_duplicates","manages_expiry","manages_homedir","manages_passwords","manages_shell"]},"user_role_add":{"description":"User and role management on Solaris, via `useradd` and `roleadd`.\n\n* Required binaries: `passwd`, `roleadd`, `roledel`, `rolemod`, `useradd`, `userdel`, `usermod`.\n* Default for `osfamily` == `solaris`.\n* Supported features: `allows_duplicates`, `manages_homedir`, `manages_password_age`, `manages_passwords`, `manages_shell`, `manages_solaris_rbac`.","features":["allows_duplicates","manages_homedir","manages_password_age","manages_passwords","manages_shell","manages_solaris_rbac"]},"windows_adsi":{"description":"Local user management for Windows.\n\n* Default for `operatingsystem` == `windows`.\n* Supported features: `manages_homedir`, `manages_passwords`.","features":["manages_homedir","manages_passwords"]}}},"vlan":{"description":"Manages a VLAN on a router or switch.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"description":{"description":"The VLAN's name.","kind":"property","namevar":false},"name":{"description":"The numeric VLAN ID.\n\nValues can match `/^\\d+/`.","kind":"parameter","namevar":true},"device_url":{"description":"The URL of the router or switch maintaining this VLAN.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `vlan`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"cisco":{"description":"Cisco switch/router provider for vlans.","features":[]}}},"yumrepo":{"description":"The client-side description of a yum repository. Repository\nconfigurations are found by parsing `/etc/yum.conf` and\nthe files indicated by the `reposdir` option in that file\n(see `yum.conf(5)` for details).\n\nMost parameters are identical to the ones documented\nin the `yum.conf(5)` man page.\n\nContinuation lines that yum supports (for the `baseurl`, for example)\nare not supported. This type does not attempt to read or verify the\nexinstence of files listed in the `include` attribute.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"descr":{"description":"A human-readable description of the repository.\nThis corresponds to the name parameter in `yum.conf(5)`.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"mirrorlist":{"description":"The URL that holds the list of mirrors for this repository.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"baseurl":{"description":"The URL for this repository. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"enabled":{"description":"Whether this repository is enabled.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"gpgcheck":{"description":"Whether to check the GPG signature on packages installed\nfrom this repository.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"repo_gpgcheck":{"description":"Whether to check the GPG signature on repodata.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"gpgkey":{"description":"The URL for the GPG key with which packages from this\nrepository are signed. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"mirrorlist_expire":{"description":"Time (in seconds) after which the mirrorlist locally cached\n will expire.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^[0-9]+$/`.","kind":"property","namevar":false},"include":{"description":"The URL of a remote file containing additional yum configuration\nsettings. Puppet does not check for this file's existence or validity.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"exclude":{"description":"List of shell globs. Matching packages will never be\nconsidered in updates or installs for this repo.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"gpgcakey":{"description":"The URL for the GPG CA key for this repository. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"includepkgs":{"description":"List of shell globs. If this is set, only packages\nmatching one of the globs will be considered for\nupdate or install from this repository. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"enablegroups":{"description":"Whether yum will allow the use of package groups for this\nrepository.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"failovermethod":{"description":"The failover method for this repository; should be either\n`roundrobin` or `priority`. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^roundrobin|priority$/`.","kind":"property","namevar":false},"keepalive":{"description":"Whether HTTP/1.1 keepalive should be used with this repository.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"retries":{"description":"Set the number of times any attempt to retrieve a file should\n retry before returning an error. Setting this to `0` makes yum\n try forever.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^[0-9]+$/`.","kind":"property","namevar":false},"http_caching":{"description":"What to cache from this repository. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(packages|all|none)$/`.","kind":"property","namevar":false},"timeout":{"description":"Number of seconds to wait for a connection before timing\nout. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^\\d+$/`.","kind":"property","namevar":false},"metadata_expire":{"description":"Number of seconds after which the metadata will expire.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^([0-9]+[dhm]?|never)$/`.","kind":"property","namevar":false},"protect":{"description":"Enable or disable protection for this repository. Requires\nthat the `protectbase` plugin is installed and enabled.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"priority":{"description":"Priority of this repository from 1-99. Requires that\nthe `priorities` plugin is installed and enabled.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"throttle":{"description":"Enable bandwidth throttling for downloads. This option\n can be expressed as a absolute data rate in bytes/sec or a\n percentage `60%`. An SI prefix (k, M or G) may be appended\n to the data rate values.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^\\d+[kMG%]?$/`.","kind":"property","namevar":false},"bandwidth":{"description":"Use to specify the maximum available network bandwidth\n in bytes/second. Used with the `throttle` option. If `throttle`\n is a percentage and `bandwidth` is `0` then bandwidth throttling\n will be disabled. If `throttle` is expressed as a data rate then\n this option is ignored.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^\\d+[kMG]?$/`.","kind":"property","namevar":false},"cost":{"description":"Cost of this repository. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^\\d+$/`.","kind":"property","namevar":false},"proxy":{"description":"URL of a proxy server that Yum should use when accessing this repository.\nThis attribute can also be set to `'_none_'`, which will make Yum bypass any\nglobal proxy settings when accessing this repository.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"proxy_username":{"description":"Username for this proxy. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"proxy_password":{"description":"Password for this proxy. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"s3_enabled":{"description":"Access the repository via S3.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"sslcacert":{"description":"Path to the directory containing the databases of the\ncertificate authorities yum should use to verify SSL certificates.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"sslverify":{"description":"Should yum verify SSL certificates/hosts at all.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"sslclientcert":{"description":"Path to the SSL client certificate yum should use to connect\nto repositories/remote sites. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"sslclientkey":{"description":"Path to the SSL client key yum should use to connect\nto repositories/remote sites. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"metalink":{"description":"Metalink for mirrors. Set this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/.*/`.","kind":"property","namevar":false},"skip_if_unavailable":{"description":"Should yum skip this repository if unable to reach it.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"assumeyes":{"description":"Determines if yum prompts for confirmation of critical actions.\nValid values are: False/0/No or True/1/Yes.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^(True|False|0|1|No|Yes)$/i`.","kind":"property","namevar":false},"deltarpm_percentage":{"description":"Percentage value that determines when to use deltas for this repository.\nWhen the delta is larger than this percentage value of the package, the\ndelta is not used.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^\\d+$/`.","kind":"property","namevar":false},"deltarpm_metadata_percentage":{"description":"Percentage value that determines when to download deltarpm metadata.\nWhen the deltarpm metadata is larger than this percentage value of the\npackage, deltarpm metadata is not downloaded.\nSet this to `absent` to remove it from the file completely.\n\nValid values are `absent`. Values can match `/^\\d+$/`.","kind":"property","namevar":false},"name":{"description":"The name of the repository. This corresponds to the\n`repositoryid` parameter in `yum.conf(5)`.","kind":"parameter","namevar":true},"target":{"description":"The filename to write the yum repository to.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `yumrepo`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"inifile":{"description":"Manage yum repo configurations by parsing yum INI configuration files.\n\n## Fetching instances\n\nWhen fetching repo instances, directory entries in '/etc/yum/repos.d',\n'/etc/yum.repos.d', and the directory optionally specified by the reposdir\nkey in '/etc/yum.conf' will be checked. If a given directory does not exist it\nwill be ignored. In addition, all sections in '/etc/yum.conf' aside from\n'main' will be created as sections.\n\n## Storing instances\n\nWhen creating a new repository, a new section will be added in the first\nyum repo directory that exists. The custom directory specified by the\n'/etc/yum.conf' reposdir property is checked first, followed by\n'/etc/yum/repos.d', and then '/etc/yum.repos.d'. If none of these exist, the\nsection will be created in '/etc/yum.conf'.","features":[]}}},"zfs":{"description":"Manage zfs. Create destroy and set properties on zfs instances.\n\n**Autorequires:** If Puppet is managing the zpool at the root of this zfs\ninstance, the zfs resource will autorequire it. If Puppet is managing any\nparent zfs instances, the zfs resource will autorequire them.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"aclinherit":{"description":"The aclinherit property. Valid values are `discard`, `noallow`, `restricted`, `passthrough`, `passthrough-x`.","kind":"property","namevar":false},"aclmode":{"description":"The aclmode property. Valid values are `discard`, `groupmask`, `passthrough`.","kind":"property","namevar":false},"atime":{"description":"The atime property. Valid values are `on`, `off`.","kind":"property","namevar":false},"canmount":{"description":"The canmount property. Valid values are `on`, `off`, `noauto`.","kind":"property","namevar":false},"checksum":{"description":"The checksum property. Valid values are `on`, `off`, `fletcher2`, `fletcher4`, `sha256`.","kind":"property","namevar":false},"compression":{"description":"The compression property. Valid values are `on`, `off`, `lzjb`, `gzip`, `gzip-[1-9]`, `zle`.","kind":"property","namevar":false},"copies":{"description":"The copies property. Valid values are `1`, `2`, `3`.","kind":"property","namevar":false},"dedup":{"description":"The dedup property. Valid values are `on`, `off`.","kind":"property","namevar":false},"devices":{"description":"The devices property. Valid values are `on`, `off`.","kind":"property","namevar":false},"exec":{"description":"The exec property. Valid values are `on`, `off`.","kind":"property","namevar":false},"logbias":{"description":"The logbias property. Valid values are `latency`, `throughput`.","kind":"property","namevar":false},"mountpoint":{"description":"The mountpoint property. Valid values are `<path>`, `legacy`, `none`.","kind":"property","namevar":false},"nbmand":{"description":"The nbmand property. Valid values are `on`, `off`.","kind":"property","namevar":false},"primarycache":{"description":"The primarycache property. Valid values are `all`, `none`, `metadata`.","kind":"property","namevar":false},"quota":{"description":"The quota property. Valid values are `<size>`, `none`.","kind":"property","namevar":false},"readonly":{"description":"The readonly property. Valid values are `on`, `off`.","kind":"property","namevar":false},"recordsize":{"description":"The recordsize property. Valid values are powers of two between 512 and 128k.","kind":"property","namevar":false},"refquota":{"description":"The refquota property. Valid values are `<size>`, `none`.","kind":"property","namevar":false},"refreservation":{"description":"The refreservation property. Valid values are `<size>`, `none`.","kind":"property","namevar":false},"reservation":{"description":"The reservation property. Valid values are `<size>`, `none`.","kind":"property","namevar":false},"secondarycache":{"description":"The secondarycache property. Valid values are `all`, `none`, `metadata`.","kind":"property","namevar":false},"setuid":{"description":"The setuid property. Valid values are `on`, `off`.","kind":"property","namevar":false},"shareiscsi":{"description":"The shareiscsi property. Valid values are `on`, `off`, `type=<type>`.","kind":"property","namevar":false},"sharenfs":{"description":"The sharenfs property. Valid values are `on`, `off`, share(1M) options","kind":"property","namevar":false},"sharesmb":{"description":"The sharesmb property. Valid values are `on`, `off`, sharemgr(1M) options","kind":"property","namevar":false},"snapdir":{"description":"The snapdir property. Valid values are `hidden`, `visible`.","kind":"property","namevar":false},"version":{"description":"The version property. Valid values are `1`, `2`, `3`, `4`, `current`.","kind":"property","namevar":false},"volsize":{"description":"The volsize property. Valid values are `<size>`","kind":"property","namevar":false},"vscan":{"description":"The vscan property. Valid values are `on`, `off`.","kind":"property","namevar":false},"xattr":{"description":"The xattr property. Valid values are `on`, `off`.","kind":"property","namevar":false},"zoned":{"description":"The zoned property. Valid values are `on`, `off`.","kind":"property","namevar":false},"name":{"description":"The full name for this filesystem (including the zpool).","kind":"parameter","namevar":true},"provider":{"description":"The specific backend to use for this `zfs`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"zfs":{"description":"Provider for zfs.\n\n* Required binaries: `zfs`.","features":[]}}},"zone":{"description":"Manages Solaris zones.\n\n**Autorequires:** If Puppet is managing the directory specified as the root of\nthe zone's filesystem (with the `path` attribute), the zone resource will\nautorequire that directory.","attributes":{"ensure":{"description":"The running state of the zone. The valid states directly reflect\nthe states that `zoneadm` provides. The states are linear,\nin that a zone must be `configured`, then `installed`, and\nonly then can be `running`. Note also that `halt` is currently\nused to stop zones.\n\nValid values are `absent`, `configured`, `installed`, `running`.","kind":"property","namevar":false},"ip":{"description":"The IP address of the zone. IP addresses **must** be specified\nwith an interface, and may optionally be specified with a default router\n(sometimes called a defrouter). The interface, IP address, and default\nrouter should be separated by colons to form a complete IP address string.\nFor example: `bge0:192.168.178.200` would be a valid IP address string\nwithout a default router, and `bge0:192.168.178.200:192.168.178.1` adds a\ndefault router to it.\n\nFor zones with multiple interfaces, the value of this attribute should be\nan array of IP address strings (each of which must include an interface\nand may include a default router).","kind":"property","namevar":false},"iptype":{"description":"The IP stack type of the zone.\n\nValid values are `shared`, `exclusive`.","kind":"property","namevar":false},"autoboot":{"description":"Whether the zone should automatically boot.\n\nValid values are `true`, `false`.","kind":"property","namevar":false},"path":{"description":"The root of the zone's filesystem. Must be a fully qualified\nfile name. If you include `%s` in the path, then it will be\nreplaced with the zone's name. Currently, you cannot use\nPuppet to move a zone. Consequently this is a readonly property.","kind":"property","namevar":false},"pool":{"description":"The resource pool for this zone.","kind":"property","namevar":false},"shares":{"description":"Number of FSS CPU shares allocated to the zone.","kind":"property","namevar":false},"dataset":{"description":"The list of datasets delegated to the non-global zone from the\nglobal zone. All datasets must be zfs filesystem names which are\ndifferent from the mountpoint.","kind":"property","namevar":false},"inherit":{"description":"The list of directories that the zone inherits from the global\nzone. All directories must be fully qualified.","kind":"property","namevar":false},"name":{"description":"The name of the zone.","kind":"parameter","namevar":true},"id":{"description":"The numerical ID of the zone. This number is autogenerated\nand cannot be changed.","kind":"parameter","namevar":false},"clone":{"description":"Instead of installing the zone, clone it from another zone.\nIf the zone root resides on a zfs file system, a snapshot will be\nused to create the clone; if it resides on a ufs filesystem, a copy of the\nzone will be used. The zone from which you clone must not be running.","kind":"parameter","namevar":false},"sysidcfg":{"description":"The text to go into the `sysidcfg` file when the zone is first\nbooted. The best way is to use a template:\n\n # $confdir/modules/site/templates/sysidcfg.erb\n system_locale=en_US\n timezone=GMT\n terminal=xterms\n security_policy=NONE\n root_password=<%= password %>\n timeserver=localhost\n name_service=DNS {domain_name=<%= domain %> name_server=<%= nameserver %>}\n network_interface=primary {hostname=<%= realhostname %>\n ip_address=<%= ip %>\n netmask=<%= netmask %>\n protocol_ipv6=no\n default_route=<%= defaultroute %>}\n nfs4_domain=dynamic\n\nAnd then call that:\n\n zone { myzone:\n ip => \"bge0:192.168.0.23\",\n sysidcfg => template(\"site/sysidcfg.erb\"),\n path => \"/opt/zones/myzone\",\n realhostname => \"fully.qualified.domain.name\"\n }\n\nThe `sysidcfg` only matters on the first booting of the zone,\nso Puppet only checks for it at that time.","kind":"parameter","namevar":false},"create_args":{"description":"Arguments to the `zonecfg` create command. This can be used to create branded zones.","kind":"parameter","namevar":false},"install_args":{"description":"Arguments to the `zoneadm` install command. This can be used to create branded zones.","kind":"parameter","namevar":false},"realhostname":{"description":"The actual hostname of the zone.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `zone`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"solaris":{"description":"Provider for Solaris Zones.\n\n* Required binaries: `/usr/sbin/zoneadm`, `/usr/sbin/zonecfg`.\n* Default for `osfamily` == `solaris`.","features":[]}}},"zpool":{"description":"Manage zpools. Create and delete zpools. The provider WILL NOT SYNC, only report differences.\n\nSupports vdevs with mirrors, raidz, logs and spares.","attributes":{"ensure":{"description":"The basic property that the resource should be in.\n\nValid values are `present`, `absent`.","kind":"property","namevar":false},"disk":{"description":"The disk(s) for this pool. Can be an array or a space separated string.","kind":"property","namevar":false},"mirror":{"description":"List of all the devices to mirror for this pool. Each mirror should be a\nspace separated string:\n\n mirror => [\"disk1 disk2\", \"disk3 disk4\"],","kind":"property","namevar":false},"raidz":{"description":"List of all the devices to raid for this pool. Should be an array of\nspace separated strings:\n\n raidz => [\"disk1 disk2\", \"disk3 disk4\"],","kind":"property","namevar":false},"spare":{"description":"Spare disk(s) for this pool.","kind":"property","namevar":false},"log":{"description":"Log disks for this pool. This type does not currently support mirroring of log disks.","kind":"property","namevar":false},"pool":{"description":"The name for this pool.","kind":"parameter","namevar":true},"raid_parity":{"description":"Determines parity when using the `raidz` parameter.","kind":"parameter","namevar":false},"provider":{"description":"The specific backend to use for this `zpool`\nresource. You will seldom need to specify this --- Puppet will usually\ndiscover the appropriate provider for your platform.","kind":"parameter","namevar":false}},"features":{},"providers":{"zpool":{"description":"Provider for zpool.\n\n* Required binaries: `zpool`.","features":[]}}}}