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
|
# -*- coding: utf-8 -*-
# Copyright: (c) 2018-2022, Sumit Kumar <sumit4@netapp.com>, chris Archibald <carchi@netapp.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
class ModuleDocFragment(object):
DOCUMENTATION = r'''
options:
- See respective platform section for more details
requirements:
- See respective platform section for more details
notes:
- Ansible modules are available for the following NetApp Storage Platforms: E-Series, ONTAP, SolidFire
'''
# Documentation fragment for ONTAP (na_ontap) that contains REST
NA_ONTAP = r'''
options:
hostname:
description:
- The hostname or IP address of the ONTAP instance.
type: str
required: true
username:
description:
- This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required.
- For more information, please read the documentation U(https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/).
- Two authentication methods are supported
- 1. basic authentication, using username and password,
- 2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file.
- To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled.
type: str
aliases: [ user ]
password:
description:
- Password for the specified user.
type: str
aliases: [ pass ]
cert_filepath:
description:
- path to SSL client cert file (.pem).
- not supported with python 2.6.
type: str
version_added: 20.6.0
key_filepath:
description:
- path to SSL client key file.
type: str
version_added: 20.6.0
https:
description:
- Enable and disable https.
- Ignored when using REST as only https is supported.
- Ignored when using SSL certificate authentication as it requires SSL.
type: bool
default: no
validate_certs:
description:
- If set to C(no), the SSL certificates will not be validated.
- This should only set to C(False) used on personally controlled sites using self-signed certificates.
type: bool
default: yes
http_port:
description:
- Override the default port (80 or 443) with this port
type: int
ontapi:
description:
- The ontap api version to use
type: int
use_rest:
description:
- Whether to use REST or ZAPI.
- always -- will always use the REST API if the module supports REST.
A warning is issued if the module does not support REST.
An error is issued if a module option is not supported in REST.
- never -- will always use ZAPI if the module supports ZAPI. An error may be issued if a REST option is not supported in ZAPI.
- auto -- will try to use the REST API if the module supports REST and modules options are supported. Reverts to ZAPI otherwise.
default: auto
type: str
feature_flags:
description:
- Enable or disable a new feature.
- This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility.
- Supported keys and values are subject to change without notice. Unknown keys are ignored.
type: dict
version_added: "20.5.0"
force_ontap_version:
description:
- Override the cluster ONTAP version when using REST.
- The behavior is undefined if the version does not match the target cluster.
- This is provided as a work-around when the cluster version cannot be read because of permission issues.
See https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues.
- This should be in the form 9.10 or 9.10.1 with each element being an integer number.
- When C(use_rest) is set to auto, this may force a switch to ZAPI based on the version and platform capabilities.
- Ignored with ZAPI.
type: str
version_added: "21.23.0"
requirements:
- Ansible 2.9 or later - 2.12 or later is recommended.
- Python3 - 3.9 or later is recommended.
- When using ZAPI, netapp-lib 2018.11.13 or later (install using 'pip install netapp-lib'),
netapp-lib 2020.3.12 is strongly recommended as it provides better error reporting for connection issues
- a physical or virtual clustered Data ONTAP system, the modules support Data ONTAP 9.1 and onward,
REST support requires ONTAP 9.6 or later
notes:
- The modules prefixed with na_ontap are built to support the ONTAP storage platform.
- https is enabled by default and recommended.
To enable http on the cluster you must run the following commands 'set -privilege advanced;' 'system services web modify -http-enabled true;'
'''
# Documentation fragment for ONTAP (na_ontap) that are ZAPI ONLY
NA_ONTAP_ZAPI = r'''
options:
hostname:
description:
- The hostname or IP address of the ONTAP instance.
type: str
required: true
username:
description:
- This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required.
- For more information, please read the documentation U(https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/).
- Two authentication methods are supported
- 1. basic authentication, using username and password,
- 2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file.
- To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled.
type: str
aliases: [ user ]
password:
description:
- Password for the specified user.
type: str
aliases: [ pass ]
cert_filepath:
description:
- path to SSL client cert file (.pem).
- not supported with python 2.6.
type: str
version_added: 20.6.0
key_filepath:
description:
- path to SSL client key file.
type: str
version_added: 20.6.0
https:
description:
- Enable and disable https.
- Ignored when using REST as only https is supported.
- Ignored when using SSL certificate authentication as it requires SSL.
type: bool
default: no
validate_certs:
description:
- If set to C(no), the SSL certificates will not be validated.
- This should only set to C(False) used on personally controlled sites using self-signed certificates.
type: bool
default: yes
http_port:
description:
- Override the default port (80 or 443) with this port
type: int
ontapi:
description:
- The ontap api version to use
type: int
use_rest:
description:
- This module only support ZAPI and will can not be swtich to REST
- never -- will always use ZAPI if the module supports ZAPI. An error may be issued if a REST option is not supported in ZAPI.
- auto -- will always use ZAPI.
default: never
type: str
feature_flags:
description:
- Enable or disable a new feature.
- This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility.
- Supported keys and values are subject to change without notice. Unknown keys are ignored.
type: dict
version_added: "20.5.0"
requirements:
- Ansible 2.9 or later - 2.12 or later is recommended.
- Python3 - 3.9 or later is recommended.
- When using ZAPI, netapp-lib 2018.11.13 or later (install using 'pip install netapp-lib'),
netapp-lib 2020.3.12 is strongly recommended as it provides better error reporting for connection issues
- a physical or virtual clustered Data ONTAP system, the modules support Data ONTAP 9.1 and onward,
REST support requires ONTAP 9.6 or later
notes:
- The modules prefixed with na_ontap are built to support the ONTAP storage platform.
- https is enabled by default and recommended.
To enable http on the cluster you must run the following commands 'set -privilege advanced;' 'system services web modify -http-enabled true;'
'''
# Documentation fragment for ONTAP (na_ontap) peer options
NA_ONTAP_PEER = r'''
options:
peer_options:
version_added: 21.8.0
description:
- IP address and connection options for the peer system.
- If any if these options is not specified, the corresponding source option is used.
type: dict
suboptions:
hostname:
description:
- The hostname or IP address of the ONTAP instance.
type: str
required: true
username:
description:
- Username when using basic authentication.
type: str
aliases: [ user ]
password:
description:
- Password for the specified user.
type: str
aliases: [ pass ]
cert_filepath:
description:
- path to SSL client cert file (.pem).
type: str
key_filepath:
description:
- path to SSL client key file.
type: str
https:
description:
- Enable and disable https.
type: bool
validate_certs:
description:
- If set to C(no), the SSL certificates will not be validated.
- This should only set to C(False) used on personally controlled sites using self-signed certificates.
type: bool
http_port:
description:
- Override the default port (80 or 443) with this port
type: int
ontapi:
description:
- The ontap api version to use
type: int
use_rest:
description:
- REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI.
- always -- will always use the REST API
- never -- will always use the ZAPI
- auto -- will try to use the REST Api
type: str
force_ontap_version:
description:
- Override the cluster ONTAP version when using REST.
- The behavior is undefined if the version does not match the target cluster.
- This is provided as a work-around when the cluster version cannot be read because of permission issues.
See https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues.
- This should be in the form 9.10 or 9.10.1 with each element being an integer number.
- When C(use_rest) is set to auto, this may force a switch to ZAPI based on the version and platform capabilities.
- Ignored with ZAPI.
type: str
version_added: "21.23.0"
'''
|