pcg.alpaca_operator.alpaca_command module – Manage a single ALPACA Operator command via REST API
Note
This module is part of the pcg.alpaca_operator collection (version 2.2.0).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install pcg.alpaca_operator.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: pcg.alpaca_operator.alpaca_command.
New in pcg.alpaca_operator 1.0.0
Synopsis
This Ansible module manages a single ALPACA Operator command. It provides fine-grained control over individual command properties. Use this module when you need to configure or modify one specific command, such as changing its timeout, toggling disabled, or setting a new schedule. Each command is uniquely identified by the combination of its name (description) and the assigned agentHostname. Note: Renaming a command or reassigning it to a different agent is not supported by this module, as these properties are used for identification. Update behavior: If the desired command already exists, only the fields required for unique identification need to be provided (i.e., either
system.system_idorsystem.system_name, and eithercommand.agent_idorcommand.agent_name. Any options not explicitly set in the module call or the playbook will retain their existing values from the current configuration.
Requirements
The below requirements are needed on the host that executes this module.
ALPACA Operator >= 5.6.0
Parameters
Parameter |
Comments |
|---|---|
Connection details for accessing the ALPACA Operator API. |
|
Hostname of the ALPACA Operator server. Default: |
|
Password for authentication against the ALPACA Operator API. |
|
Port of the ALPACA Operator API. Default: |
|
Protocol to use. Can be Choices:
|
|
Validate SSL certificates. Choices:
|
|
Username for authentication against the ALPACA Operator API. |
|
Definition of the desired command. The definition can include fields such as |
|
Numeric ID of the agent. Optional if |
|
Name of the agent. Optional if |
|
Whether to automatically deploy the command. Choices:
|
|
Whether the command is marked as critical. Choices:
|
|
Whether the command is currently disabled. Choices:
|
|
Escalation configuration. |
|
Email address for alerts. |
|
Whether email alerts are enabled. Choices:
|
|
Minimum number of failures before escalation. |
|
SMS number for alerts. |
|
Whether SMS alerts are enabled. Choices:
|
|
Trigger types for escalation. |
|
Currently no description available Choices:
|
|
Currently no description available Choices:
|
|
Currently no description available Choices:
|
|
Currently no description available Choices:
|
|
Command history retention settings. |
|
Whether to document all executions. Choices:
|
|
Retention time in seconds. |
|
Name or description of the command. |
|
Parameters for the process. |
|
Whether the execution of the command requires additional parameters. Choices:
|
|
Central ID / Global ID of the process to be executed. Optional if |
|
ID of the process to be executed. Optional if |
|
Scheduling configuration. |
|
Quartz-compatible cron expression. Required when |
|
List of weekdays for execution. Choices:
|
|
Scheduling period. Choices:
|
|
Execution time in HH:mm:ss. Required when |
|
Desired state of the command. Choices:
|
|
Timeout configuration for command execution. |
|
Type of timeout. Can be Choices:
|
|
Timeout value in seconds (for |
|
Dictionary containing system identification. Either |
|
Numeric ID of the target system. Optional if |
|
Name of the target system. Optional if |
Attributes
Attribute |
Support |
Description |
|---|---|---|
Support: full |
Can run in check_mode and return changed status prediction without modifying target. |
Examples
- name: Ensure a specific system command exist
pcg.alpaca_operator.alpaca_command:
system:
system_name: system01
command:
name: "BKP: DB log sync"
state: present
agent_name: agent01
parameters: "-p GLTarch -s <BKP_LOG_SRC> -l 4 -d <BKP_LOG_DEST1> -r <BKP_LOG_DEST2> -b <BKP_LOG_CLEANUP_INT> -t <BKP_LOG_CLEANUP_INT2> -h DB_HOST"
process_id: 801
schedule:
period: manually
time: "01:00:00"
days_of_week:
- monday
- sunday
parameters_needed: false
disabled: false
critical: true
history:
document_all_runs: true
retention: 900
auto_deploy: false
timeout:
type: default
value: 30
escalation:
mail_enabled: true
sms_enabled: true
mail_address: "monitoring@pcg.io"
sms_address: "0123456789"
min_failure_count: 1
triggers:
every_change: true
to_red: false
to_yellow: false
to_green: true
api_connection:
host: "{{ ALPACA_Operator_API_Host }}"
protocol: "{{ ALPACA_Operator_API_Protocol }}"
port: "{{ ALPACA_Operator_API_Port }}"
username: "{{ ALPACA_Operator_API_Username }}"
password: "{{ ALPACA_Operator_API_Password }}"
tls_verify: "{{ ALPACA_Operator_API_Validate_Certs }}"
- name: Delete a specific command
pcg.alpaca_operator.alpaca_command:
system:
system_name: system01
command:
name: "BKP: DB log sync"
agent_name: agent01
state: absent
api_connection:
host: "{{ ALPACA_Operator_API_Host }}"
protocol: "{{ ALPACA_Operator_API_Protocol }}"
port: "{{ ALPACA_Operator_API_Port }}"
username: "{{ ALPACA_Operator_API_Username }}"
password: "{{ ALPACA_Operator_API_Password }}"
tls_verify: "{{ ALPACA_Operator_API_Validate_Certs }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Whether any changes were made Returned: always |
|
Dictionary containing the differences between the current and desired command configuration. Only returned when a change is detected or would occur in check mode. Returned: when changes are detected (or would be applied in check_mode) |
|
Changed escalation section (if any) Returned: success Sample: |
|
Changed parameters of the command (if any) Returned: success Sample: |
|
Changed schedule section (if any) Returned: success Sample: |
|
Information about the deleted command Returned: when state=absent and command was deleted Sample: |
|
Status message describing what the module did Returned: always Sample: |
|
Full payload that would be sent to the API (in check_mode) or that was sent (when changed) Returned: when state is present and change occurred or would occur |