Plugin Decorators¶
Decorators for remote methods/functions provided by plugins. All decorators may be stacked.
@action¶
The action decorator is used to designate a function or class method to treated as a recurring action.
Options:
- interval (one of):
- days
- seconds
- minutes
- hours
- weeks
- required: Yes
- type: int
- default: n/a
@remote¶
The remote decorator is used to designate a function or class method as being remotely accessible.
Options:
- secret - used to specify a shared secret that must be passed for authorization.
- required: No
- type: str|callable
- default: None
- note: DEPRECATED in 2.7
model - the RMI execution model (direct|fork). The fork model spawns a child process for each method invocation.
- required: No
- type: str
- default: direct
- note: Added in 2.8
@direct¶
The direct decorator is used to designate a function to use the direct invocation model. With this model, the function is invoked within the goferd process.
Added: 2.8
@fork¶
The fork decorator is used to designate a function to use the fork invocation model. With this model, the function is invoked in a newly spawned child process. This model may be used to insulate the goferd process from unwanted side effects such as memory and filedes leaks, global configuration changes and core dumps.
Added: 2.8
@pam¶
The pam decorator is used to specify PAM authentication criteria for access to a function or class method. This additional authentication may be used in conjunction with shared secrets.
DEPRECATED in 2.7
Options:
- user - specified user name.
- required: Yes
- type: str
- default: n/a
- service - used to specify the PAM service to be used for the authentication.
- required: No
- type: str
- default: passwd
@user¶
The user decorator is used to specify PAM authentication criteria for access to a function or class method. This additional authentication may be used in conjunction with shared secrets. This is an alias for the @pam decorator.
DEPRECATED in 2.7
Options:
- name - specified user name.
- required: Yes
- type: str
- default: n/a