summaryrefslogtreecommitdiffstats
path: root/ansible_collections/netapp/ontap/plugins/doc_fragments/netapp.py
blob: 6acfea61de6c17cd57616f7b02e37992194c2ce2 (plain)
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"
'''