summaryrefslogtreecommitdiff
path: root/lib/ansible/modules/cloud/memset/memset_server_info.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/modules/cloud/memset/memset_server_info.py')
-rw-r--r--lib/ansible/modules/cloud/memset/memset_server_info.py301
1 files changed, 0 insertions, 301 deletions
diff --git a/lib/ansible/modules/cloud/memset/memset_server_info.py b/lib/ansible/modules/cloud/memset/memset_server_info.py
deleted file mode 100644
index 7642a05392..0000000000
--- a/lib/ansible/modules/cloud/memset/memset_server_info.py
+++ /dev/null
@@ -1,301 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2018, Simon Weald <ansible@simonweald.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
-
-ANSIBLE_METADATA = {
- 'metadata_version': '1.1',
- 'status': ['preview'],
- 'supported_by': 'community'
-}
-
-DOCUMENTATION = '''
----
-module: memset_server_info
-author: "Simon Weald (@glitchcrab)"
-version_added: "2.8"
-short_description: Retrieve server information.
-notes:
- - An API key generated via the Memset customer control panel is needed with the
- following minimum scope - I(server.info).
-description:
- - Retrieve server information.
- - This module was called C(memset_server_facts) before Ansible 2.9. The usage did not change.
-options:
- api_key:
- required: true
- description:
- - The API key obtained from the Memset control panel.
- name:
- required: true
- description:
- - The server product name (i.e. C(testyaa1)).
-'''
-
-EXAMPLES = '''
-- name: get details for testyaa1
- memset_server_info:
- name: testyaa1
- api_key: 5eb86c9896ab03919abcf03857163741
- delegate_to: localhost
-'''
-
-RETURN = '''
----
-memset_api:
- description: Info from the Memset API
- returned: always
- type: complex
- contains:
- backups:
- description: Whether this server has a backup service.
- returned: always
- type: bool
- sample: true
- control_panel:
- description: Whether the server has a control panel (i.e. cPanel).
- returned: always
- type: str
- sample: 'cpanel'
- data_zone:
- description: The data zone the server is in.
- returned: always
- type: str
- sample: 'Memset Public Cloud'
- expiry_date:
- description: Current expiry date of the server.
- returned: always
- type: str
- sample: '2018-08-10'
- firewall_rule_group:
- description: Details about the firewall group this server is in.
- returned: always
- type: dict
- sample: {
- "default_outbound_policy": "RETURN",
- "name": "testyaa-fw1",
- "nickname": "testyaa cPanel rules",
- "notes": "",
- "public": false,
- "rules": {
- "51d7db54d39c3544ef7c48baa0b9944f": {
- "action": "ACCEPT",
- "comment": "",
- "dest_ip6s": "any",
- "dest_ips": "any",
- "dest_ports": "any",
- "direction": "Inbound",
- "ip_version": "any",
- "ordering": 2,
- "protocols": "icmp",
- "rule_group_name": "testyaa-fw1",
- "rule_id": "51d7db54d39c3544ef7c48baa0b9944f",
- "source_ip6s": "any",
- "source_ips": "any",
- "source_ports": "any"
- }
- }
- }
- firewall_type:
- description: The type of firewall the server has (i.e. self-managed, managed).
- returned: always
- type: str
- sample: 'managed'
- host_name:
- description: The server's hostname.
- returned: always
- type: str
- sample: 'testyaa1.miniserver.com'
- ignore_monitoring_off:
- description: When true, Memset won't remind the customer that monitoring is disabled.
- returned: always
- type: bool
- sample: true
- ips:
- description: List of dictionaries of all IP addresses assigned to the server.
- returned: always
- type: list
- sample: [
- {
- "address": "1.2.3.4",
- "bytes_in_today": 1000.0,
- "bytes_in_yesterday": 2000.0,
- "bytes_out_today": 1000.0,
- "bytes_out_yesterday": 2000.0
- }
- ]
- monitor:
- description: Whether the server has monitoring enabled.
- returned: always
- type: bool
- sample: true
- monitoring_level:
- description: The server's monitoring level (i.e. basic).
- returned: always
- type: str
- sample: 'basic'
- name:
- description: Server name (same as the service name).
- returned: always
- type: str
- sample: 'testyaa1'
- network_zones:
- description: The network zone(s) the server is in.
- returned: always
- type: list
- sample: [ 'reading' ]
- nickname:
- description: Customer-set nickname for the server.
- returned: always
- type: str
- sample: 'database server'
- no_auto_reboot:
- description: Whether or not to reboot the server if monitoring detects it down.
- returned: always
- type: bool
- sample: true
- no_nrpe:
- description: Whether Memset should use NRPE to monitor this server.
- returned: always
- type: bool
- sample: true
- os:
- description: The server's Operating System.
- returned: always
- type: str
- sample: 'debian_stretch_64'
- penetration_patrol:
- description: Intrusion detection support level for this server.
- returned: always
- type: str
- sample: 'managed'
- penetration_patrol_alert_level:
- description: The alert level at which notifications are sent.
- returned: always
- type: int
- sample: 10
- primary_ip:
- description: Server's primary IP.
- returned: always
- type: str
- sample: '1.2.3.4'
- renewal_price_amount:
- description: Renewal cost for the server.
- returned: always
- type: str
- sample: '30.00'
- renewal_price_currency:
- description: Currency for renewal payments.
- returned: always
- type: str
- sample: 'GBP'
- renewal_price_vat:
- description: VAT rate for renewal payments
- returned: always
- type: str
- sample: '20'
- start_date:
- description: Server's start date.
- returned: always
- type: str
- sample: '2013-04-10'
- status:
- description: Current status of the server (i.e. live, onhold).
- returned: always
- type: str
- sample: 'LIVE'
- support_level:
- description: Support level included with the server.
- returned: always
- type: str
- sample: 'managed'
- type:
- description: What this server is (i.e. dedicated)
- returned: always
- type: str
- sample: 'miniserver'
- vlans:
- description: Dictionary of tagged and untagged VLANs this server is in.
- returned: always
- type: dict
- sample: {
- tagged: [],
- untagged: [ 'testyaa-vlan1', 'testyaa-vlan2' ]
- }
- vulnscan:
- description: Vulnerability scanning level.
- returned: always
- type: str
- sample: 'basic'
-'''
-
-from ansible.module_utils.basic import AnsibleModule
-from ansible.module_utils.memset import memset_api_call
-
-
-def get_facts(args=None):
- '''
- Performs a simple API call and returns a JSON blob.
- '''
- retvals, payload = dict(), dict()
- has_changed, has_failed = False, False
- msg, stderr, memset_api = None, None, None
-
- payload['name'] = args['name']
-
- api_method = 'server.info'
- has_failed, msg, response = memset_api_call(api_key=args['api_key'], api_method=api_method, payload=payload)
-
- if has_failed:
- # this is the first time the API is called; incorrect credentials will
- # manifest themselves at this point so we need to ensure the user is
- # informed of the reason.
- retvals['failed'] = has_failed
- retvals['msg'] = msg
- retvals['stderr'] = "API returned an error: {0}" . format(response.status_code)
- return(retvals)
-
- # we don't want to return the same thing twice
- msg = None
- memset_api = response.json()
-
- retvals['changed'] = has_changed
- retvals['failed'] = has_failed
- for val in ['msg', 'memset_api']:
- if val is not None:
- retvals[val] = eval(val)
-
- return(retvals)
-
-
-def main():
- global module
- module = AnsibleModule(
- argument_spec=dict(
- api_key=dict(required=True, type='str', no_log=True),
- name=dict(required=True, type='str')
- ),
- supports_check_mode=False
- )
- if module._name == 'memset_server_facts':
- module.deprecate("The 'memset_server_facts' module has been renamed to 'memset_server_info'", version='2.13')
-
- # populate the dict with the user-provided vars.
- args = dict()
- for key, arg in module.params.items():
- args[key] = arg
-
- retvals = get_facts(args)
-
- if retvals['failed']:
- module.fail_json(**retvals)
- else:
- module.exit_json(**retvals)
-
-
-if __name__ == '__main__':
- main()