From fbca8a4615e46bd75550c15459fa05f81ec02357 Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Fri, 15 Feb 2019 09:31:12 +0100 Subject: [PATCH] doc_fragments: Clean up parameter types (storage) (#52179) * module_utils: Clean up parameter types (storage) This PR includes: - Parameter types added - Copyright format fixes - Short license statement - Description fixes (only for a few files, then I stopped :-)) * Fix quotes * Fix rST issue --- lib/ansible/plugins/doc_fragments/emc.py | 21 ++++--- .../plugins/doc_fragments/ibm_storage.py | 12 ++-- .../plugins/doc_fragments/infinibox.py | 26 +++----- lib/ansible/plugins/doc_fragments/netapp.py | 60 ++++++++----------- .../plugins/doc_fragments/purestorage.py | 41 +++++-------- 5 files changed, 66 insertions(+), 94 deletions(-) diff --git a/lib/ansible/plugins/doc_fragments/emc.py b/lib/ansible/plugins/doc_fragments/emc.py index 9d75b9396d7..84accf42d32 100644 --- a/lib/ansible/plugins/doc_fragments/emc.py +++ b/lib/ansible/plugins/doc_fragments/emc.py @@ -1,43 +1,42 @@ -# -# Copyright (c) 2018, Luca 'remix_tj' Lorenzetto -# -# This file is part of Ansible -# +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Luca Lorenzetto (@remix_tj) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) class ModuleDocFragment(object): - DOCUMENTATION = """ + DOCUMENTATION = r''' options: - See respective platform section for more details requirements: - See respective platform section for more details notes: - Ansible modules are available for EMC VNX. -""" +''' # Documentation fragment for VNX (emc_vnx) - EMC_VNX = """ + EMC_VNX = r''' options: sp_address: description: - Address of the SP of target/secondary storage. + type: str required: true sp_user: description: - Username for accessing SP. + type: str default: sysadmin - required: false sp_password: description: - password for accessing SP. + type: str default: sysadmin - required: false requirements: - An EMC VNX Storage device. - Ansible 2.7. - storops (0.5.10 or greater). Install using 'pip install storops'. notes: - The modules prefixed with emc_vnx are built to support the EMC VNX storage platform. - """ +''' diff --git a/lib/ansible/plugins/doc_fragments/ibm_storage.py b/lib/ansible/plugins/doc_fragments/ibm_storage.py index 371ef913767..0d8eb5fe22c 100644 --- a/lib/ansible/plugins/doc_fragments/ibm_storage.py +++ b/lib/ansible/plugins/doc_fragments/ibm_storage.py @@ -1,5 +1,6 @@ -# -# Copyright (C) 2018 IBM CORPORATION +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, IBM CORPORATION # Author(s): Tzur Eliyahu # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) @@ -10,24 +11,27 @@ __metaclass__ = type class ModuleDocFragment(object): # ibm_storage documentation fragment - DOCUMENTATION = ''' + DOCUMENTATION = r''' options: username: description: - Management user on the spectrum accelerate storage system. + type: str required: True password: description: - Password for username on the spectrum accelerate storage system. + type: str required: True endpoints: description: - The hostname or management IP of Spectrum Accelerate storage system. + type: str required: True notes: - This module requires pyxcli python library. Use 'pip install pyxcli' in order to get pyxcli. requirements: - - "python >= 2.7" + - python >= 2.7 - pyxcli ''' diff --git a/lib/ansible/plugins/doc_fragments/infinibox.py b/lib/ansible/plugins/doc_fragments/infinibox.py index cd3834d5e46..094ba918383 100644 --- a/lib/ansible/plugins/doc_fragments/infinibox.py +++ b/lib/ansible/plugins/doc_fragments/infinibox.py @@ -1,30 +1,18 @@ -# -# (c) 2016, Gregory Shulov -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# -*- coding: utf-8 -*- + +# Copyright: (c) 2016, Gregory Shulov +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) class ModuleDocFragment(object): # Standard Infinibox documentation fragment - DOCUMENTATION = ''' + DOCUMENTATION = r''' options: system: description: - Infinibox Hostname or IPv4 Address. + type: str required: true user: description: @@ -33,7 +21,7 @@ options: password: description: - Infinibox User password. - required: false + type: str notes: - This module requires infinisdk python library - You must set INFINIBOX_USER and INFINIBOX_PASSWORD environment variables diff --git a/lib/ansible/plugins/doc_fragments/netapp.py b/lib/ansible/plugins/doc_fragments/netapp.py index ee65e81cb66..69976cf69e3 100644 --- a/lib/ansible/plugins/doc_fragments/netapp.py +++ b/lib/ansible/plugins/doc_fragments/netapp.py @@ -1,62 +1,52 @@ -# -# (c) 2018, Sumit Kumar , chris Archibald -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# -*- coding: utf-8 -*- + +# Copyright: (c) 2018, Sumit Kumar , chris Archibald +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) class ModuleDocFragment(object): - DOCUMENTATION = """ + 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) - NA_ONTAP = """ + NA_ONTAP = r''' options: hostname: - required: true description: - The hostname or IP address of the ONTAP instance. - username: + 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/). - aliases: ['user'] - password: + type: str required: true + aliases: [ user ] + password: description: - Password for the specified user. - aliases: ['pass'] + type: str + required: true + aliases: [ pass ] https: description: - Enable and disable https type: bool - default: false + default: no validate_certs: description: - - If set to C(False), the SSL certificates will not be validated. + - 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. - default: true type: bool + default: yes http_port: description: - Override the default port (80 or 443) with this port @@ -77,10 +67,10 @@ requirements: notes: - The modules prefixed with na\\_ontap are built to support the ONTAP storage platform. - """ +''' # Documentation fragment for ONTAP (na_cdot) - ONTAP = """ + ONTAP = r''' options: hostname: required: true @@ -105,10 +95,10 @@ requirements: notes: - The modules prefixed with na\\_cdot are built to support the ONTAP storage platform. -""" +''' # Documentation fragment for SolidFire - SOLIDFIRE = """ + SOLIDFIRE = r''' options: hostname: required: true @@ -133,10 +123,10 @@ requirements: notes: - The modules prefixed with na\\_elementsw are built to support the SolidFire storage platform. -""" +''' # Documentation fragment for E-Series - ESERIES = """ + ESERIES = r''' options: api_username: required: true @@ -168,4 +158,4 @@ notes: the storage-system, or an E-Series storage-system that supports the Embedded Web Services API. - Embedded Web Services is currently available on the E2800, E5700, EF570, and newer hardware models. - M(netapp_e_storage_system) may be utilized for configuring the systems managed by a WSP instance. - """ +''' diff --git a/lib/ansible/plugins/doc_fragments/purestorage.py b/lib/ansible/plugins/doc_fragments/purestorage.py index 8e780c5b3ac..53fe0f841e3 100644 --- a/lib/ansible/plugins/doc_fragments/purestorage.py +++ b/lib/ansible/plugins/doc_fragments/purestorage.py @@ -1,26 +1,13 @@ -# -# (c) 2017, Simon Dodsley -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see . +# -*- coding: utf-8 -*- + +# Copyright: (c) 2017, Simon Dodsley +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) class ModuleDocFragment(object): # Standard Pure Storage documentation fragment - DOCUMENTATION = ''' + DOCUMENTATION = r''' options: - See separate platform section for more details requirements: @@ -30,39 +17,43 @@ notes: ''' # Documentation fragment for FlashBlade - FB = ''' + FB = r''' options: fb_url: description: - FlashBlade management IP address or Hostname. + type: str api_token: description: - FlashBlade API token for admin privileged user. + type: str notes: - - This module requires the ``purity_fb`` Python library + - This module requires the C(purity_fb) Python library - You must set C(PUREFB_URL) and C(PUREFB_API) environment variables if I(fb_url) and I(api_token) arguments are not passed to the module directly requirements: - - "python >= 2.7" - - "purity_fb >= 1.1" + - python >= 2.7 + - purity_fb >= 1.1 ''' # Documentation fragment for FlashArray - FA = ''' + FA = r''' options: fa_url: description: - FlashArray management IPv4 address or Hostname. + type: str required: true api_token: description: - FlashArray API token for admin privileged user. + type: str required: true notes: - - This module requires the ``purestorage`` Python library + - This module requires the C(purestorage) Python library - You must set C(PUREFA_URL) and C(PUREFA_API) environment variables if I(fa_url) and I(api_token) arguments are not passed to the module directly requirements: - - "python >= 2.7" + - python >= 2.7 - purestorage '''