logicmonitor.integration.lm_collector_group (2.0.3) — module

LogicMonitor Collector Group Ansible module for managing collector groups.

| "added in version" 1.1.0 of logicmonitor.integration"

Authors: Carlos Alvarenga (@cealvar)

preview | supported by community

Install collection

Install with ansible-galaxy collection install logicmonitor.integration:==2.0.3


Add to requirements.yml

  collections:
    - name: logicmonitor.integration
      version: 2.0.3

Description

LogicMonitor is a hosted, full-stack, infrastructure monitoring platform.

This module manages collector groups within your LogicMonitor account (i.e. add, update, remove).


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Example of adding a collector group
- name: Add Collector Group
  hosts: localhost
  tasks:
    - name: Add LogicMonitor Collector Group
      lm_collector_group:
        action: add
        company: batman
        access_id: "id123"
        access_key: "key123"
        name: "Collector Group"
        properties: {
            type: dev
        }
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Example of updating a collector group
- name: Update Collector Group
  hosts: localhost
  tasks:
    - name: Update LogicMonitor Collector Group
      lm_collector_group:
        action: update
        company: batman
        access_id: "id123"
        access_key: "key123"
        id: 123
        name: "Collector Group New"
        description: "test"
        properties: {
            type2: dev2
        }
        optype: add
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Example of removing a collector group
- name: Remove Collector Group
  hosts: localhost
  tasks:
    - name: Remove LogicMonitor Collector Group
      lm_collector_group:
        action: remove
        company: batman
        access_id: "id123"
        access_key: "key123"
        name: "collector group"

Inputs

    
id:
    description:
    - ID of the collector group to target.
    - Required for update, remove if name isn't provided.
    type: int

name:
    description:
    - The name of the collector group to target.
    - Default/Ungrouped group name should be denoted by empty string "" or "@default".
    - Required for action=add.
    - Required for update, remove if id isn't provided.
    type: str

action:
    choices:
    - add
    - update
    - remove
    description:
    - The action you wish to perform on the collector group.
    - Add = Add a collector group to your LogicMonitor account.
    - Update = Update properties, description, etc for a collector group in your LogicMonitor
      account.
    - Remove = Remove a collector group from your LogicMonitor account.
    required: true
    type: str

optype:
    choices:
    - add
    - replace
    - refresh
    default: replace
    description:
    - A string describing the operation on properties when updating collector group...
      (1) replace - a property would be updated if it exists already else a new property
      will be created (2) refresh - a property would be updated if it exists already else
      a new property will be created, any existing property not provided during update
      will be removed (3) add - a property would be ignored if it exists already else
      a new property will be created
    - Optional for action=update.
    type: str

company:
    description:
    - The LogicMonitor account company name.
    - A user logging into their account at "batman.logicmonitor.com" would use "batman".
    required: true
    type: str

access_id:
    description:
    - The Access ID API token associated with the user's account that's used to query
      the LogicMonitor API.
    - Please contact your LogicMonitor admin if you need new API tokens created for your
      account.
    required: true
    type: str

access_key:
    description:
    - The Access Key API token associated with the user's account that's used to query
      the LogicMonitor API.
    - Please contact your LogicMonitor admin if you need new API tokens created for your
      account.
    - Must start with the "!unsafe" keyword if the the key starts with a special character
      (e.g. '[', ']', etc.) to prevent playbook issues.
    required: true
    type: str

properties:
    description:
    - A JSON object of properties to configure for the LogicMonitor collector group.
    - This parameter will add or update existing properties in your LogicMonitor account.
    - Optional for managing collector groups (action=add or action=update).
    type: dict

description:
    description:
    - The long text description of the collector group to add.
    - Optional for managing collector groups (action=add or action=update).
    type: str

auto_balance:
    choices:
    - true
    - false
    description:
    - A boolean flag to denote whether or not the collector group should be an Auto-Balanced
      Collector Group (ABCG).
    - Optional for managing collector groups (action=add or action=update).
    type: bool

force_manage:
    choices:
    - true
    - false
    default: true
    description:
    - A boolean flag to enable/disable the feature to ... (1) update a collector group
      when the initial action=add because the group exists or (2) add a collector group
      when the initial action=update because the group doesn't exist.
    - Optional for managing collector groups (action=add or action=update).
    type: bool

instance_threshold:
    description:
    - The instance count threshold for a Collector in an Auto-Balanced Collector Group
      (ABCG) is auto-calculated using the ABCG's assigned threshold value and the RAM
      on the Collector machine.
    - By default, this threshold is set to 10,000 instances, which represents the instance
      count threshold for a medium-sized Collector that uses 2 GB of RAM.
    - Only values greater than or equal to 0 will be used.
    - The number of instances that a Collector can handle is calculated with the following
      formula ... * Number of instances = (Target_Collector_mem/Medium_mem)^1/2 * Medium_Threshold.
    - Approximate Instance Thresholds (based on medium-sized Collector threshold limit)
      ... * Small  = 4950 | 7070  | 10600 * Medium = 7000 | 10000 | 15000 * Large  = 9900
      | 14140 | 21210
    type: int

Outputs

action_performed:
  description: a string describing which action was performed
  returned: success
  sample: add
  type: str
addition_info:
  description: any additional detail related to the action
  returned: success
  sample: Collector Group updated successfully
  type: str
changed:
  description: a boolean indicating that changes were made to the target
  returned: changed
  sample: true
  type: bool
data:
  description: contain collector group details
  returned: success
  sample:
    id: 4
    name: collectors_1
  type: dict
failed:
  description: a boolean indicating that execution failed
  returned: failed
  sample: false
  type: bool
success:
  description: flag indicating that execution was successful
  returned: success
  sample: true
  type: bool