logicmonitor: Documentation and logging updates based on feedback (#2756)

This commit is contained in:
Jeff 2016-10-22 04:20:37 -07:00 committed by Matt Clay
parent 491b136f6e
commit d8efe53d7c
2 changed files with 55 additions and 48 deletions

View file

@ -73,7 +73,7 @@ description:
- LogicMonitor is a hosted, full-stack, infrastructure monitoring platform.
- This module manages hosts, host groups, and collectors within your LogicMonitor account.
version_added: "2.2"
author: Ethan Culler-Mayeno, Jeff Wozniak
author: [Ethan Culler-Mayeno (@ethanculler), Jeff Wozniak (@woz5999)]
notes:
- You must have an existing LogicMonitor account for this module to function.
requirements: ["An existing LogicMonitor account", "Linux"]
@ -81,32 +81,32 @@ options:
target:
description:
- The type of LogicMonitor object you wish to manage.
- "Collector: Perform actions on a LogicMonitor collector"
- NOTE You should use Ansible service modules such as 'service' or 'supervisorctl' for managing the Collector 'logicmonitor-agent' and 'logicmonitor-watchdog' services. Specifically, you'll probably want to start these services after a Collector add and stop these services before a Collector remove.
- "Host: Perform actions on a host device"
- "Hostgroup: Perform actions on a LogicMonitor host group"
- "Collector: Perform actions on a LogicMonitor collector."
- NOTE You should use Ansible service modules such as M(service) or M(supervisorctl) for managing the Collector 'logicmonitor-agent' and 'logicmonitor-watchdog' services. Specifically, you'll probably want to start these services after a Collector add and stop these services before a Collector remove.
- "Host: Perform actions on a host device."
- "Hostgroup: Perform actions on a LogicMonitor host group."
- NOTE Host and Hostgroup tasks should always be performed via local_action. There are no benefits to running these tasks on the remote host and doing so will typically cause problems.
required: true
default: null
choices: ['collector', 'host', 'datsource', 'hostgroup']
action:
description:
- The action you wish to perform on target
- "Add: Add an object to your LogicMonitor account"
- "Remove: Remove an object from your LogicMonitor account"
- "Update: Update properties, description, or groups (target=host) for an object in your LogicMonitor account"
- "SDT: Schedule downtime for an object in your LogicMonitor account"
- The action you wish to perform on target.
- "Add: Add an object to your LogicMonitor account."
- "Remove: Remove an object from your LogicMonitor account."
- "Update: Update properties, description, or groups (target=host) for an object in your LogicMonitor account."
- "SDT: Schedule downtime for an object in your LogicMonitor account."
required: true
default: null
choices: ['add', 'remove', 'update', 'sdt']
company:
description:
- The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes"
- The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes."
required: true
default: null
user:
description:
- A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user
- A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user.
required: true
default: null
password:
@ -117,72 +117,72 @@ options:
collector:
description:
- The fully qualified domain name of a collector in your LogicMonitor account.
- This is required for the creation of a LogicMonitor host (target=host action=add)
- This is required for updating, removing or scheduling downtime for hosts if 'displayname' isn't specified (target=host action=update action=remove action=sdt)
- This is required for the creation of a LogicMonitor host (target=host action=add).
- This is required for updating, removing or scheduling downtime for hosts if 'displayname' isn't specified (target=host action=update action=remove action=sdt).
required: false
default: null
hostname:
description:
- The hostname of a host in your LogicMonitor account, or the desired hostname of a device to manage.
- Optional for managing hosts (target=host)
- Optional for managing hosts (target=host).
required: false
default: 'hostname -f'
displayname:
description:
- The display name of a host in your LogicMonitor account or the desired display name of a device to manage.
- Optional for managing hosts (target=host)
- Optional for managing hosts (target=host).
required: false
default: 'hostname -f'
description:
description:
- The long text description of the object in your LogicMonitor account
- Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update)
- The long text description of the object in your LogicMonitor account.
- Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update).
required: false
default: ""
properties:
description:
- A dictionary of properties to set on the LogicMonitor host or host group.
- Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update)
- This parameter will add or update existing properties in your LogicMonitor account or
- Optional for managing hosts and host groups (target=host or target=hostgroup; action=add or action=update).
- This parameter will add or update existing properties in your LogicMonitor account.
required: false
default: {}
groups:
description:
- A list of groups that the host should be a member of.
- Optional for managing hosts (target=host; action=add or action=update)
- Optional for managing hosts (target=host; action=add or action=update).
required: false
default: []
id:
description:
- ID of the datasource to target
- Required for management of LogicMonitor datasources (target=datasource)
- ID of the datasource to target.
- Required for management of LogicMonitor datasources (target=datasource).
required: false
default: null
fullpath:
description:
- The fullpath of the host group object you would like to manage
- Recommend running on a single Ansible host
- Required for management of LogicMonitor host groups (target=hostgroup)
- The fullpath of the host group object you would like to manage.
- Recommend running on a single Ansible host.
- Required for management of LogicMonitor host groups (target=hostgroup).
required: false
default: null
alertenable:
description:
- A boolean flag to turn alerting on or off for an object
- Optional for managing all hosts (action=add or action=update)
- A boolean flag to turn alerting on or off for an object.
- Optional for managing all hosts (action=add or action=update).
required: false
default: true
choices: [true, false]
starttime:
description:
- The time that the Scheduled Down Time (SDT) should begin
- Optional for managing SDT (action=sdt)
- The time that the Scheduled Down Time (SDT) should begin.
- Optional for managing SDT (action=sdt).
- Y-m-d H:M
required: false
default: Now
duration:
description:
- The duration (minutes) of the Scheduled Down Time (SDT)
- Optional for putting an object into SDT (action=sdt)
- The duration (minutes) of the Scheduled Down Time (SDT).
- Optional for putting an object into SDT (action=sdt).
required: false
default: 30
...
@ -586,7 +586,10 @@ class LogicMonitor(object):
else:
return raw
except IOError:
self.fail(msg="Error: Unknown exception making RPC call")
ioe = get_exception()
self.fail(msg="Error: Exception making RPC call to " +
"https://" + self.company + "." + self.lm_url +
"/rpc/" + action + "\nException" + str(ioe))
def do(self, action, params):
"""Make a call to the LogicMonitor
@ -612,8 +615,10 @@ class LogicMonitor(object):
"/do/" + action + "?" + param_str)
return f.read()
except IOError:
# self.module.debug("Error opening URL. " + ioe)
self.fail("Unknown exception opening URL")
ioe = get_exception()
self.fail(msg="Error: Exception making RPC call to " +
"https://" + self.company + "." + self.lm_url +
"/do/" + action + "\nException" + str(ioe))
def get_collectors(self):
"""Returns a JSON object containing a list of

View file

@ -19,7 +19,6 @@
import socket
import sys
import types
import urllib
@ -61,7 +60,7 @@ description:
- LogicMonitor is a hosted, full-stack, infrastructure monitoring platform.
- This module collects facts about hosts abd host groups within your LogicMonitor account.
version_added: "2.2"
author: Ethan Culler-Mayeno, Jeff Wozniak
author: [Ethan Culler-Mayeno (@ethanculler), Jeff Wozniak (@woz5999)]
notes:
- You must have an existing LogicMonitor account for this module to function.
requirements: ["An existing LogicMonitor account", "Linux"]
@ -74,31 +73,31 @@ options:
choices: ['host', 'hostgroup']
company:
description:
- The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes"
- The LogicMonitor account company name. If you would log in to your account at "superheroes.logicmonitor.com" you would use "superheroes".
required: true
default: null
user:
description:
- A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user
- A LogicMonitor user name. The module will authenticate and perform actions on behalf of this user.
required: true
default: null
password:
description:
- The password for the chosen LogicMonitor User
- If an md5 hash is used, the digest flag must be set to true
- The password for the chosen LogicMonitor User.
- If an md5 hash is used, the digest flag must be set to true.
required: true
default: null
collector:
description:
- The fully qualified domain name of a collector in your LogicMonitor account.
- This is optional for querying a LogicMonitor host when a displayname is specified
- This is required for querying a LogicMonitor host when a displayname is not specified
- This is optional for querying a LogicMonitor host when a displayname is specified.
- This is required for querying a LogicMonitor host when a displayname is not specified.
required: false
default: null
hostname:
description:
- The hostname of a host in your LogicMonitor account, or the desired hostname of a device to add into monitoring.
- Required for managing hosts (target=host)
- Required for managing hosts (target=host).
required: false
default: 'hostname -f'
displayname:
@ -108,9 +107,9 @@ options:
default: 'hostname -f'
fullpath:
description:
- The fullpath of the hostgroup object you would like to manage
- Recommend running on a single ansible host
- Required for management of LogicMonitor host groups (target=hostgroup)
- The fullpath of the hostgroup object you would like to manage.
- Recommend running on a single ansible host.
- Required for management of LogicMonitor host groups (target=hostgroup).
required: false
default: null
...
@ -236,7 +235,10 @@ class LogicMonitor(object):
else:
return raw
except IOError:
self.fail(msg="Error: Unknown exception making RPC call")
ioe = get_exception()
self.fail(msg="Error: Exception making RPC call to " +
"https://" + self.company + "." + self.lm_url +
"/rpc/" + action + "\nException" + str(ioe))
def get_collectors(self):
"""Returns a JSON object containing a list of