forked from fatmcgav/fatmcgav-netapp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
metadata.json
365 lines (365 loc) · 13.2 KB
/
metadata.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
{
"name": "fatmcgav-netapp",
"version": "0.5.0",
"summary": "NetApp Network Device support for Puppet",
"author": "fatmcgav",
"description": "Module to extend Puppet Network Device functionality to support NetApp filers. \n\nOverview:\nThe NetApp network device module is designed to add support for managing NetApp filer configuration using Puppet and its Network Device functionality.\n\nThe Netapp network device module has been written and tested against NetApp OnTap 8.0.4 7-mode. \nHowever it may well be compatible with other OnTap versions. \n\nFeatures:\nThe following items are supported:\n* Creation, modification and deletion of volumes, including auto-increment, snapshot schedules and volume options.\n* Creation, modification and deletion of QTrees. \n* Creation, modification and deletion of NFS Exports, including NFS Export security. \n* Creation, modification and deletion of users, groups and roles. \n* Creation, modification and deletion of Quotas. \n* Creation of snapmirror relationships. \n* Creation of snapmirror schedules.",
"dependencies": [],
"types": [
{
"properties": [
{
"name": "anon",
"doc": "Should the export support anonymous root access."
},
{
"name": "readonly",
"doc": "Export read-only hosts."
},
{
"name": "readwrite",
"doc": "Export read-write hosts. Defaults to \u0027all_hosts\u0027."
}
],
"parameters": [
{
"name": "name",
"doc": "The export path. Valid format is /vol/[volume_name](/[qtree_name])."
},
{
"name": "persistent",
"doc": "Should this be a persistent export? Defaults to true."
},
{
"name": "path",
"doc": "The filer path to export. If not specified, uses :name value"
}
],
"providers": [
{
"name": "netapp_export"
}
],
"name": "netapp_export",
"doc": "Manage Netapp NFS Export creation, modification and deletion."
},
{
"properties": [
{
"name": "roles",
"doc": "List of roles for this group. Comma separate multiple values. "
}
],
"parameters": [
{
"name": "groupname",
"doc": "The group name."
},
{
"name": "comment",
"doc": "Group comment"
}
],
"providers": [
{
"name": "netapp_group"
}
],
"name": "netapp_group",
"doc": "Manage Netapp Group creation, modification and deletion."
},
{
"properties": [
{
"name": "message",
"doc": "The message to be sent to the log."
}
],
"parameters": [
{
"name": "withpath",
"doc": "Whether to show the full object path. Defaults to false."
},
{
"name": "name",
"doc": "An arbitrary tag for your own reference; the name of the message."
}
],
"name": "netapp_notify",
"doc": "Sends an arbitrary message to the agent run-time log."
},
{
"parameters": [
{
"name": "name",
"doc": "The qtree name."
},
{
"name": "volume",
"doc": "The volume to create qtree against."
}
],
"providers": [
{
"name": "netapp_qtree"
}
],
"name": "netapp_qtree",
"doc": "Manage Netapp Qtree creation, modification and deletion."
},
{
"properties": [
{
"name": "qtree",
"doc": "The qtree that the quota resides on. This is only relevant for\n `user` and `group` quotas"
},
{
"name": "type",
"doc": "The type of the quota. You can define `tree`, `user` or `group`\n here"
},
{
"name": "disklimit",
"doc": "The amount of space that the target can consume, e.g. `100M`\n or `2G`. You can also specify absent to make sure there is no limit."
},
{
"name": "softdisklimit",
"doc": "The amount of space the target has to consume before a message is\n logged. You can also specify absent to make sure there is no limit."
},
{
"name": "filelimit",
"doc": "The number of files that the target can have. You can also specify\n absent to make sure there is no limit."
},
{
"name": "softfilelimit",
"doc": "The number of files the target has to own before a message is\n logged. You can also specify absent to make sure there is no limit"
},
{
"name": "threshold",
"doc": "The amount of disk space the target has to consume before a message\n is logged. Set to absent to make sure the treshold is unlimited"
},
{
"name": "volume",
"doc": "The name of the volume the quota resides on"
}
],
"parameters": [
{
"name": "name",
"doc": "The name of the quota target. Depending on the quota type this\n can be a pathname (e.g. `/vol/vol1/qtree1`), a username, or a group"
}
],
"providers": [
{
"name": "netapp_quota"
}
],
"name": "netapp_quota",
"doc": "Manage NetApp quota entries. Please note that NetApp identifies\n a quota entry uniquely by the type, target, volume, and qtree. This type\n on the other hand has to uniquely identify a quota entry only by its\n target. This means that you cannot manage two quota entries for the\n same user (username \u003d quota-target) but for different trees. As a result\n this type is best at managing tree quotas\n\n Example:\n\n Limit `qtree1` on `vol1` to 10G\n\n netapp_quota { \u0027/vol/vol1/qtree1\u0027:\n ensure \u003d\u003e present,\n type \u003d\u003e tree,\n volume \u003d\u003e \u0027vol1\u0027,\n disklimit \u003d\u003e \u002710G\u0027,\n }\n\n Limit user bob to consume 2G on qtree1. Note that you cannot\n define multiple quotas for user bob:\n\n netapp_quota { \u0027bob\u0027:\n ensure \u003d\u003e present,\n type \u003d\u003e user,\n qtree \u003d\u003e \u0027qtree1\u0027,\n volume \u003d\u003e \u0027vol1\u0027,\n disklimit \u003d\u003e \u00272048M\u0027,\n }\n\n Make sure the following restrictions apply in your\n environment before using this type:\n - every quota target has to be unique\n - quota entries must not contain any special characters that would\n require quotation"
},
{
"properties": [
{
"name": "capabilities",
"doc": "List of capabilities for this role. Comma separate multiple values. "
}
],
"parameters": [
{
"name": "rolename",
"doc": "The role name."
},
{
"name": "comment",
"doc": "Role comment"
}
],
"providers": [
{
"name": "netapp_role"
}
],
"name": "netapp_role",
"doc": "Manage Netapp Role creation, modification and deletion."
},
{
"parameters": [
{
"name": "source_location",
"doc": "The source location."
},
{
"name": "source_snapshot",
"doc": "The source snapshot name"
},
{
"name": "destination_location",
"doc": "The destination location."
},
{
"name": "destination_snapshot",
"doc": "The destination snapshot."
},
{
"name": "max_transfer_rate",
"doc": "The max transfer rate, in KB/s. Defaults to unlimited."
}
],
"providers": [
{
"name": "netapp_snapmirror"
}
],
"name": "netapp_snapmirror",
"doc": "Manage Netapp Snapmirror creation, modification and deletion."
},
{
"parameters": [
{
"name": "source_location",
"doc": "The source location."
},
{
"name": "destination_location",
"doc": "The destination location."
},
{
"name": "max_transfer_rate",
"doc": "The max transfer rate, in KB/s. Defaults to unlimited."
},
{
"name": "minutes",
"doc": "The minutes in the hour for schedule to be set.\n Can be single value between 0 and 59, \n comma seperated list (1,7,14), \n range (2-10),\n range with divider (1-59/3),\n * to match all\n or - to match none. "
},
{
"name": "hours",
"doc": "The hour(s) in the day for schedule to be set.\n Can be single value between 1 and 24, \n comma seperated list (1,7,14), \n range (2-10),\n range with divider (1-24/3),\n * to match all\n or - to match none. "
},
{
"name": "days_of_week",
"doc": "The days of week for schedule to be set. \n Can be single value between 0 and 6, inclusive, with 0 being Sunday, \n or must be name of the day (e.g. Tuesday),\n comma sepeated list (1,3,5),\n range (2-5),\n * to match all\n or - to match none. "
},
{
"name": "days_of_month",
"doc": "The days of month for schedule to be set.\n Can be single value between 1 and 31, \n comma seperated list (1,7,14), \n range (2-10),\n range with divider (1-30/7),\n * to match all\n or - to match none. "
},
{
"name": "restart",
"doc": "The restart mode to use when transfer interrupted. Allowed values are: always, never and restart."
},
{
"name": "connection_mode",
"doc": "The connection mode to use between source and destination."
}
],
"providers": [
{
"name": "netapp_snapmirror_schedule"
}
],
"name": "netapp_snapmirror_schedule",
"doc": "Manage Netapp Snapmirror schedule creation, modification and deletion."
},
{
"properties": [
{
"name": "fullname",
"doc": "The user full name."
},
{
"name": "comment",
"doc": "User comment"
},
{
"name": "passminage",
"doc": "Number of days that this user\u0027s password must be active before the user can change it. Default value is 0. "
},
{
"name": "passmaxage",
"doc": "Number of days that this user\u0027s password can be active before the user must change it. Default value is 2^31-1 days. "
},
{
"name": "groups",
"doc": "List of groups for this user account. Comma separate multiple values. "
}
],
"parameters": [
{
"name": "username",
"doc": "The user username."
},
{
"name": "password",
"doc": "The user password. Minimum length is 8 characters, must contain at-least one number."
},
{
"name": "status",
"doc": "Status of user account. Valid values are: enabled, disabled and expired. Cannot be modified via API. "
}
],
"providers": [
{
"name": "netapp_user"
}
],
"name": "netapp_user",
"doc": "Manage Netapp User creation, modification and deletion."
},
{
"properties": [
{
"name": "state",
"doc": "The volume state. Valid options are: online, offline, restricted."
},
{
"name": "initsize",
"doc": "The initial volume size. Valid format is 1-9(kmgt)."
},
{
"name": "snapreserve",
"doc": "The percentage of space to reserve for snapshots."
},
{
"name": "autoincrement",
"doc": "Should volume size auto-increment be enabled? Defaults to `:true`."
},
{
"name": "options",
"doc": "The volume options hash."
},
{
"name": "snapschedule",
"doc": "The volume snapshot schedule, in a hash format. Valid keys are: \u0027minutes\u0027, \u0027hours\u0027, \u0027days\u0027, \u0027weeks\u0027, \u0027which-hours\u0027, \u0027which-minutes\u0027. "
}
],
"parameters": [
{
"name": "name",
"doc": "The volume name. Valid characters are a-z, 1-9 \u0026 underscore."
},
{
"name": "aggregate",
"doc": "The aggregate this volume should be created in."
},
{
"name": "languagecode",
"doc": "The language code this volume should use."
},
{
"name": "spaceres",
"doc": "The space reservation mode."
}
],
"providers": [
{
"name": "netapp_volume"
}
],
"name": "netapp_volume",
"doc": "Manage Netapp Volume creation, modification and deletion."
}
],
"checksums": {},
"source": "https://github.com/fatmcgav/fatmcgav-netapp.git",
"project_page": "https://github.com/fatmcgav/fatmcgav-netapp",
"license": "Apache License, version 2.0"
}