base: additional providers for Puppet base types
This module provides additional providers for Puppet base types using the Augeas configuration library.
The advantage of using Augeas over the default Puppet parsedfile
implementations is that Augeas will go to great lengths to preserve file
formatting and comments, while also failing safely when needed.
This provider will hide all of the Augeas commands etc., you don't need to know anything about Augeas to make use of it.
Requirements
Ensure both Augeas and ruby-augeas 0.3.0+ bindings are installed and working as normal.
See Puppet/Augeas pre-requisites.
Installing
On Puppet 2.7.14+, the module can be installed easily (documentation):
puppet module install herculesteam/augeasproviders_base
Compatibility
Puppet versions
Minimum of Puppet 2.7.
Augeas versions
Augeas Versions | 0.10.0 | 1.0.0 | 1.1.0 | 1.2.0 |
---|---|---|---|---|
PROVIDERS | ||||
host | yes | yes | yes | yes |
mailalias | yes | yes | yes | yes |
Documentation and examples
Type documentation can be generated with puppet doc -r type
or viewed on the
Puppet Forge page.
host provider
This is a provider for a type distributed in Puppet core: host type reference.
The provider needs to be explicitly given as augeas
to use augeasproviders
.
The comment
parameter is only supported on Puppet 2.7 and higher.
manage simple entry
host { "example":
ensure => present,
ip => "192.168.1.1",
provider => augeas,
}
manage entry with aliases and comment
host { "example":
ensure => present,
ip => "192.168.1.1",
host_aliases => [ "foo-a", "foo-b" ],
comment => "test",
provider => augeas,
}
manage entry in another location
host { "example":
ensure => present,
ip => "192.168.1.1",
target => "/etc/anotherhosts",
provider => augeas,
}
delete entry
host { "iridium":
ensure => absent,
provider => augeas,
}
remove aliases
host { "iridium":
ensure => present,
host_aliases => [],
provider => augeas,
}
remove comment
host { "argon":
ensure => present,
comment => "",
provider => augeas,
}
mailalias provider
This is a provider for a type distributed in Puppet core: mailalias type reference.
The provider needs to be explicitly given as augeas
to use augeasproviders
.
manage simple entry
mailalias { "example":
ensure => present,
recipient => "bar",
provider => augeas,
}
manage entry with multiple recipients
mailalias { "example":
ensure => present,
recipient => [ "fred", "bob" ],
provider => augeas,
}
manage entry in another location
mailalias { "example":
ensure => present,
recipient => "bar",
target => "/etc/anotheraliases",
provider => augeas,
}
delete entry
mailalias { "mailer-daemon":
ensure => absent,
provider => augeas,
}
Issues
Please file any issues or suggestions on GitHub.