pcg.alpaca_operator.alpaca_command_set module – Manage all ALPACA Operator commands of a specific system 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_set.
New in pcg.alpaca_operator 1.0.0
Synopsis
This Ansible module manages an entire set of ALPACA Operator commands associated with a system using a REST API. It is designed to apply bulk changes, for example, deploying multiple commands at once or cleaning up an existing command set. Use this module when you need to apply or remove multiple commands at once on a given ALPACA system. It simplifies large-scale system updates and is optimal for automation scenarios. Important: This module takes full control of the command set on the target system. Any commands not defined via Ansible will be removed from the system!
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. |
|
List of desired commands to manage. Each command can include fields such as Default: |
|
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 that multiple commands are configured correctly on system01
pcg.alpaca_operator.alpaca_command_set:
system:
system_name: system01
commands:
- 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
- name: "BKP: DB log sync 2"
state: present
agent_name: agent02
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: cron_expression
cron_expression: '0 */5 * * * ?'
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: localhost
port: 8443
protocol: https
username: secret
password: secret
tls_verify: false
- name: Remove all commands from system system01
pcg.alpaca_operator.alpaca_command_set:
system:
system_name: system01
commands: []
api_connection:
host: localhost
port: 8443
protocol: https
username: secret
password: secret
tls_verify: false
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Whether any change was made Returned: always |
|
A dictionary describing all changes that were or would be applied. Keys typically follow the format `commandIndex_XXX`, representing the index in the `commands` list. Each entry includes diffs between the current and desired state. Also includes `removed_commands` if commands were deleted. Returned: when changes are detected (or would be applied in check_mode) |
|
Diff of the command at index 0. Contains changed fields with current and desired values. Returned: success Sample: |
|
List of commands that were removed because they were not included in the desired state. Contains the complete configuration of each command before deletion. Returned: success Sample: |
|
Status message Returned: always Sample: |