groupmembers
Version information
This version is compatible with:
- Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.7.0 < 6.0.0
Tasks:
- groupmembers
Start using this module
Add this module to your Puppetfile:
mod 'ffalor-groupmembers', '0.1.0'
Learn more about managing modules with a PuppetfileDocumentation
groupmembers
Table of Contents
- Description
- Requirements
- Usage - Configuration options and additional functionality
- Development - Guide for contributing to the module
Description
This module includes a puppet task to help manage local groups.
This task can be used to remove or add members to local security groups. Allowing administrators and customers to add and remove multiple users to multiple machines.
This task can be exposed as a service via the puppet task endpoint to allow remote execution and self service access management.
Requirements
This module is compatible with Puppet Enterprise and Puppet Bolt.
- To run tasks with Puppet Enterprise, PE 2018.1 or later must be installed on the machine from which you are running task commands. Machines receiving task requests must be Puppet agents.
- To run tasks with Puppet Bolt, Bolt 1.0 or later must be installed on the machine from which you are running task commands. Machines receiving task requests must have SSH or WinRM services enabled.
Usage
Puppet Task and Bolt
To run an groupmembers task, use the task command, specifying the command to be executed.
- With PE on the command line, run
puppet task run groupmembers ensure=<present|absent> group=<groupname> member=<String|Array>
. - With Bolt on the command line, run
bolt task run groupmembers ensure=<present|absent> group=<groupname> member=<String|Array>
.
For example, to add a example\jdoe to administrators group, run:
- With PE, run
puppet task run groupmembers ensure=present group=administrators member="example\\jdoe" --nodes saturn
. - With Bolt, run
bolt task run groupmembers ensure=present group=administrators member="example\\jdoe" --nodes saturn
.
Puppet Task API
endpoint: https://<puppet>:8143/orchestrator/v1/command/task
method: post
body:
{
"environment": "production",
"task": "groupmembers",
"params": {
"ensure": "present",
"group": "Administrators",
"member": [
"example\\jdoe",
"example\\dotterman"
]
},
"description": "Description for task",
"scope": {
"nodes": [
"saturn.example.com"
]
}
}
You can also run tasks in the PE console. See PE task documentation for complete information.
Limitations
Only tested on 2016 and 2012 R2 window servers.
Development
Feel free to fork it fix my crappy code and create a PR (:
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.