diff options
author | Yanis Guenane <yanis@guenane.org> | 2018-08-14 23:49:57 +0200 |
---|---|---|
committer | Michael Scherer <mscherer@users.noreply.github.com> | 2018-08-24 18:15:45 +0200 |
commit | e4e6569cc9547204e3e336e0ebd2c74ccc34a6e0 (patch) | |
tree | 5b957df86a4eab7d9706912bd3d103f44912f908 /lib/ansible/modules/cloud/scaleway | |
parent | 4bdec575c006096ce7a6420aad24f0d42db838ff (diff) | |
download | ansible-e4e6569cc9547204e3e336e0ebd2c74ccc34a6e0.tar.gz |
scaleway: Introduce scaleway_volume_facts module
Co-authored-by: Rémy Leone <rleone@online.net>
Diffstat (limited to 'lib/ansible/modules/cloud/scaleway')
-rw-r--r-- | lib/ansible/modules/cloud/scaleway/scaleway_volume_facts.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/lib/ansible/modules/cloud/scaleway/scaleway_volume_facts.py b/lib/ansible/modules/cloud/scaleway/scaleway_volume_facts.py new file mode 100644 index 0000000000..d0904ea772 --- /dev/null +++ b/lib/ansible/modules/cloud/scaleway/scaleway_volume_facts.py @@ -0,0 +1,83 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# (c) 2018, Yanis Guenane <yanis+ansible@guenane.org> +# 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 + +ANSIBLE_METADATA = {'metadata_version': '1.1', + 'status': ['preview'], + 'supported_by': 'community'} + +DOCUMENTATION = r''' +--- +module: scaleway_volume_facts +short_description: Gather facts about the Scaleway volumes available. +description: + - Gather facts about the Scaleway volumes available. +version_added: "2.7" +author: + - "Yanis Guenane (@Spredzy)" + - "Remy Leone (@sieben)" +extends_documentation_fragment: scaleway +''' + +EXAMPLES = r''' +- name: Gather Scaleway volumes facts + scaleway_volume_facts: +''' + +RETURN = r''' +--- +scaleway_volume_facts: + description: Response from Scaleway API + returned: success + type: complex + contains: + "scaleway_volume_facts": [ + { + "creation_date": "2018-08-14T20:56:24.949660+00:00", + "export_uri": null, + "id": "b8d51a06-daeb-4fef-9539-a8aea016c1ba", + "modification_date": "2018-08-14T20:56:24.949660+00:00", + "name": "test-volume", + "organization": "3f709602-5e6c-4619-b80c-e841c89734af", + "server": null, + "size": 50000000000, + "state": "available", + "volume_type": "l_ssd" + } + ] +''' + +from ansible.module_utils.basic import AnsibleModule +from ansible.module_utils.scaleway import ( + Scaleway, ScalewayException, scaleway_argument_spec +) + + +class ScalewayVolumeFacts(Scaleway): + + def __init__(self, module): + super(ScalewayVolumeFacts, self).__init__(module) + self.name = 'volumes' + + +def main(): + module = AnsibleModule( + argument_spec=scaleway_argument_spec(), + supports_check_mode=True, + ) + + try: + module.exit_json( + ansible_facts={'scaleway_volume_facts': ScalewayVolumeFacts(module).get_resources()} + ) + except ScalewayException as exc: + module.fail_json(msg=exc.message) + + +if __name__ == '__main__': + main() |