Skip to content

Commit 9dbebd8

Browse files
authored
Merge pull request #9 from jps-help/purge-ignore
Purge ignore
2 parents 288af9a + d09461d commit 9dbebd8

2 files changed

Lines changed: 59 additions & 28 deletions

File tree

REFERENCE.md

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
### Defined types
1212

13-
* [`netplan::config`](#netplanconfig): Generate netplan YAML files
13+
* [`netplan::config`](#netplan--config): Generate netplan YAML files
1414

1515
## Classes
1616

@@ -34,59 +34,78 @@ class { netplan:
3434
}
3535
```
3636

37+
##### Purge un-managed files, but ignore a given pattern
38+
39+
```puppet
40+
class { netplan:
41+
purge_configs => true,
42+
purge_ignore => '90-NM*'
43+
}
44+
```
45+
3746
#### Parameters
3847

3948
The following parameters are available in the `netplan` class:
4049

41-
* [`package_dependencies`](#package_dependencies)
42-
* [`manage_dependencies`](#manage_dependencies)
43-
* [`apply`](#apply)
44-
* [`purge_configs`](#purge_configs)
45-
* [`configs`](#configs)
50+
* [`package_dependencies`](#-netplan--package_dependencies)
51+
* [`manage_dependencies`](#-netplan--manage_dependencies)
52+
* [`apply`](#-netplan--apply)
53+
* [`purge_configs`](#-netplan--purge_configs)
54+
* [`purge_ignore`](#-netplan--purge_ignore)
55+
* [`configs`](#-netplan--configs)
4656

47-
##### <a name="package_dependencies"></a>`package_dependencies`
57+
##### <a name="-netplan--package_dependencies"></a>`package_dependencies`
4858

4959
Data type: `Array`
5060

5161
List of packages to install
5262

5363
Default value: `['netplan.io']`
5464

55-
##### <a name="manage_dependencies"></a>`manage_dependencies`
65+
##### <a name="-netplan--manage_dependencies"></a>`manage_dependencies`
5666

5767
Data type: `Boolean`
5868

5969
Whether to install the list of package dependencies or not
6070

61-
Default value: ``true``
71+
Default value: `true`
6272

63-
##### <a name="apply"></a>`apply`
73+
##### <a name="-netplan--apply"></a>`apply`
6474

6575
Data type: `Boolean`
6676

6777
Whether to apply the netplan configuration during the agent run or not
6878

69-
Default value: ``true``
79+
Default value: `true`
7080

71-
##### <a name="purge_configs"></a>`purge_configs`
81+
##### <a name="-netplan--purge_configs"></a>`purge_configs`
7282

7383
Data type: `Boolean`
7484

7585
Whether to purge un-managed netplan YAML files under /etc/netplan
7686

77-
Default value: ``false``
87+
Default value: `false`
88+
89+
##### <a name="-netplan--purge_ignore"></a>`purge_ignore`
90+
91+
Data type: `Optional[String]`
92+
93+
Match files to ignore when purging configs under /etc/netplan.
94+
Uses the `ignore` attribute of the native puppet `file` resource.
95+
96+
Default value: `undef`
7897

79-
##### <a name="configs"></a>`configs`
98+
##### <a name="-netplan--configs"></a>`configs`
8099

81100
Data type: `Optional[Hash]`
82101

83102
An optional hash of netplan configurations supplied via hiera
84103

85-
Default value: ``undef``
104+
Default value: `undef`
86105

87106
## Defined types
88107

89-
### <a name="netplanconfig"></a>`netplan::config`
108+
### <a name="netplan--config"></a>`netplan::config`
90109

91110
Create netplan YAML files from a Hash of data.
92111

@@ -112,54 +131,54 @@ netplan::config { 'example-config':
112131

113132
The following parameters are available in the `netplan::config` defined type:
114133

115-
* [`ensure`](#ensure)
116-
* [`file_name`](#file_name)
117-
* [`priority`](#priority)
118-
* [`file`](#file)
119-
* [`file_mode`](#file_mode)
120-
* [`settings`](#settings)
134+
* [`ensure`](#-netplan--config--ensure)
135+
* [`file_name`](#-netplan--config--file_name)
136+
* [`priority`](#-netplan--config--priority)
137+
* [`file`](#-netplan--config--file)
138+
* [`file_mode`](#-netplan--config--file_mode)
139+
* [`settings`](#-netplan--config--settings)
121140

122-
##### <a name="ensure"></a>`ensure`
141+
##### <a name="-netplan--config--ensure"></a>`ensure`
123142

124143
Data type: `Enum['present','absent']`
125144

126145
Ensure presence/absence of the resource
127146

128147
Default value: `'present'`
129148

130-
##### <a name="file_name"></a>`file_name`
149+
##### <a name="-netplan--config--file_name"></a>`file_name`
131150

132151
Data type: `String`
133152

134153
The filename to use for the generated YAML file
135154

136155
Default value: `$title`
137156

138-
##### <a name="priority"></a>`priority`
157+
##### <a name="-netplan--config--priority"></a>`priority`
139158

140159
Data type: `Integer`
141160

142161
The number prefixed to the generated YAML file
143162

144163
Default value: `90`
145164

146-
##### <a name="file"></a>`file`
165+
##### <a name="-netplan--config--file"></a>`file`
147166

148167
Data type: `Stdlib::Absolutepath`
149168

150169
The absolute path of the genrated YAML file
151170

152171
Default value: `"/etc/netplan/${priority}-${file_name}.yaml"`
153172

154-
##### <a name="file_mode"></a>`file_mode`
173+
##### <a name="-netplan--config--file_mode"></a>`file_mode`
155174

156175
Data type: `String`
157176

158177
The file permissions for the generated YAML file
159178

160179
Default value: `'0600'`
161180

162-
##### <a name="settings"></a>`settings`
181+
##### <a name="-netplan--config--settings"></a>`settings`
163182

164183
Data type: `Hash`
165184

manifests/init.pp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010
# purge_configs => true,
1111
# }
1212
#
13+
# @example Purge un-managed files, but ignore a given pattern
14+
# class { netplan:
15+
# purge_configs => true,
16+
# purge_ignore => '90-NM*'
17+
# }
18+
#
1319
# @param package_dependencies
1420
# List of packages to install
1521
#
@@ -22,6 +28,10 @@
2228
# @param purge_configs
2329
# Whether to purge un-managed netplan YAML files under /etc/netplan
2430
#
31+
# @param purge_ignore
32+
# Match files to ignore when purging configs under /etc/netplan.
33+
# Uses the `ignore` attribute of the native puppet `file` resource.
34+
#
2535
# @param configs
2636
# An optional hash of netplan configurations supplied via hiera
2737
#
@@ -30,6 +40,7 @@
3040
Boolean $manage_dependencies = true,
3141
Boolean $apply = true,
3242
Boolean $purge_configs = false,
43+
Optional[String] $purge_ignore = undef,
3344
Optional[Hash] $configs = undef,
3445
) {
3546
case $apply {
@@ -49,6 +60,7 @@
4960
file { '/etc/netplan':
5061
ensure => directory,
5162
purge => $purge_configs,
63+
ignore => $purge_ignore,
5264
recurse => true,
5365
}
5466
if $configs {

0 commit comments

Comments
 (0)