telekom_mms / telekom_mms.icinga_director / 2.1.0 / module / icinga_service_apply Manage service apply rules in Icinga2 | "added in version" 1.0.0 of telekom_mms.icinga_director" Authors: Sebastian Gumprich (@rndmh3ro)telekom_mms.icinga_director.icinga_service_apply (2.1.0) — module
Install with ansible-galaxy collection install telekom_mms.icinga_director:==2.1.0
collections: - name: telekom_mms.icinga_director version: 2.1.0
Add or remove a service apply rule to Icinga2 through the director API.
- name: Add service apply rule to icinga telekom_mms.icinga_director.icinga_service_apply: state: present url: "{{ icinga_url }}" url_username: "{{ icinga_user }}" url_password: "{{ icinga_pass }}" object_name: "SERVICE_dummy" assign_filter: 'host.name="foohost"' check_command: hostalive display_name: "dummy process" check_interval: "10m" check_period: "24/7" check_timeout: "1m" enable_active_checks: true enable_event_handler: true enable_notifications: true enable_passive_checks: false enable_perfdata: false event_command: restart_httpd max_check_attempts: "5" retry_interval: "3m" imports: - fooservicetemplate groups: - fooservicegroup vars: http_address: "$address$" http_port: "9080" http_uri: "/ready" http_string: "Ready" http_expect: "Yes"
- name: Add service apply rule with command_endpoint telekom_mms.icinga_director.icinga_service_apply: state: present url: "{{ icinga_url }}" url_username: "{{ icinga_user }}" url_password: "{{ icinga_pass }}" object_name: "SERVICE_dummy" assign_filter: 'host.name="foohost"' check_command: hostalive display_name: "dummy process" check_interval: "10m" check_period: "24/7" check_timeout: "1m" enable_active_checks: true enable_event_handler: true enable_notifications: true enable_passive_checks: false event_command: restart_httpd max_check_attempts: "5" retry_interval: "3m" command_endpoint: "fooendpoint" imports: - fooservicetemplate groups: - fooservicegroup
- name: Update service apply rule with command_endpoint telekom_mms.icinga_director.icinga_service_apply: state: present url: "{{ icinga_url }}" url_username: "{{ icinga_user }}" url_password: "{{ icinga_pass }}" object_name: "SERVICE_dummy" enable_perfdata: true append: true
url: description: - HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path required: true type: str vars: default: {} description: - Custom properties of the service apply rule. type: dict force: default: false description: - If V(yes) do not get a cached copy. type: bool notes: description: - Additional notes for this object. type: str state: choices: - present - absent default: present description: - Apply feature state. type: str append: choices: - true - false description: - Do not overwrite the whole object but instead append the defined properties. - Note - Appending to existing vars, imports or any other list/dict is not possible. You have to overwrite the complete list/dict. - Note - Variables that are set by default will also be applied, even if not set. type: bool version_added: 1.25.0 version_added_collection: telekom_mms.icinga_director groups: default: [] description: - Service groups that should be directly assigned to this service. - Servicegroups can be useful for various reasons. - They are helpful to provided service-type specific view in Icinga Web 2, either for custom dashboards or as an instrument to enforce restrictions. - Service groups can be directly assigned to single services or to service templates. elements: str type: list imports: description: - Importable templates, add as many as you want. - Please note that order matters when importing properties from multiple templates - last one wins. elements: str type: list apply_for: description: - Evaluates the apply for rule for all objects with the custom attribute specified. - For example selecting "host.vars.custom_attr" will generate "for (config in host.vars.array_var)" where "config" will be accessible through "$config$". - Note - only custom variables of type "Array" are eligible. type: str notes_url: description: - An URL pointing to additional notes for this object. - Separate multiple urls like this "'http://url1' 'http://url2'". - Maximum length is 255 characters. type: str use_proxy: default: true description: - If V(no), it will not use a proxy, even if one is defined in an environment variable on the target hosts. type: bool client_key: description: - PEM formatted file that contains your private key to be used for SSL client authentication. - If O(client_cert) contains both the certificate and key, this option is not required. type: path http_agent: default: ansible-httpget description: - Header to identify as, generally appears in web server logs. type: str use_gssapi: default: false description: - Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication. - Requires the Python library L(gssapi,https://github.com/pythongssapi/python-gssapi) to be installed. - Credentials for GSSAPI can be specified with O(url_username)/O(url_password) or with the GSSAPI env var C(KRB5CCNAME) that specified a custom Kerberos credential cache. - NTLM authentication is B(not) supported even if the GSSAPI mech for NTLM has been installed. type: bool version_added: '2.11' version_added_collection: ansible.builtin client_cert: description: - PEM formatted certificate chain file to be used for SSL client authentication. - This file can also include the key as well, and if the key is included, O(client_key) is not required. type: path object_name: aliases: - name description: - Name for the Icinga service apply rule. required: true type: str check_period: description: - The name of a time period which determines when this object should be monitored. Not limited by default. required: false type: str display_name: description: - Alternative displayed name of the service apply rule. type: str url_password: description: - The password for use in HTTP basic authentication. - If the O(url_username) parameter is not specified, the O(url_password) parameter will not be used. type: str url_username: description: - The username for use in HTTP basic authentication. - This parameter can be used without O(url_password) for sites that allow empty passwords type: str assign_filter: description: - The filter where the service apply rule will take effect. type: str check_command: description: - Check command definition. type: str version_added: 1.7.0 version_added_collection: telekom_mms.icinga_director check_timeout: description: - Check command timeout in seconds. Overrides the CheckCommand's timeout attribute. required: false type: str event_command: description: - Event command for service which gets called on every check execution if one of these conditions matches - The service is in a soft state - The service state changes into a hard state - The service state recovers from a soft or hard state to OK/Up required: false type: str check_interval: description: - Your regular check interval. required: false type: str retry_interval: description: - Retry interval, will be applied after a state change unless the next hard state is reached. required: false type: str validate_certs: default: true description: - If V(no), SSL certificates will not be validated. - This should only be used on personally controlled sites using self-signed certificates. type: bool enable_perfdata: description: - Whether to process performance data provided by this object. required: false type: bool command_endpoint: description: - The host where the service should be executed on. type: str force_basic_auth: default: false description: - Credentials specified with O(url_username) and O(url_password) should be passed in HTTP Header. type: bool max_check_attempts: description: - Defines after how many check attempts a new hard state is reached. required: false type: str enable_active_checks: description: - Whether to actively check this object. required: false type: bool enable_event_handler: description: - Whether to enable event handlers this object. required: false type: bool enable_notifications: description: - Whether to send notifications for this object. required: false type: bool enable_passive_checks: description: - Whether to accept passive check results for this object. required: false type: bool