diff --git a/roles/zabbix_crud/defaults/main.yml b/roles/zabbix_crud/defaults/main.yml index c8e40398a..aff4c6204 100644 --- a/roles/zabbix_crud/defaults/main.yml +++ b/roles/zabbix_crud/defaults/main.yml @@ -201,3 +201,22 @@ zabbix_crud_actions: [] # state: # status: +zabbix_crud_user_directories: [] + # # For details: https://docs.ansible.com/projects/ansible/latest/collections/community/zabbix/zabbix_user_directory_module.html#ansible-collections-community-zabbix-zabbix-user-directory-module + # - name: + # state: + # idp_type: + # base_dn: + # bind_dn: + # bind_password: + # host: + # port: + # search_attribute: + +zabbix_crud_auth_metods: [] + # # For details: https://docs.ansible.com/projects/ansible/latest/collections/community/zabbix/zabbix_authentication_module.html#ansible-collections-community-zabbix-zabbix-authentication-module + # - authentication_type: + # ldap_auth_enabled: + # ldap_userdirectory: + # ldap_case_sensitive: + diff --git a/roles/zabbix_crud/tasks/main.yml b/roles/zabbix_crud/tasks/main.yml index f7619ce84..c5977c1a4 100644 --- a/roles/zabbix_crud/tasks/main.yml +++ b/roles/zabbix_crud/tasks/main.yml @@ -222,3 +222,76 @@ status: "{{ item.status | default(omit) }}" loop: "{{ zabbix_crud_actions }}" tags: zabbix_crud_actions + +- name: '[Zabbix CRUD] Wrap for zabbix_user_directory module - Create/update/delete Zabbix user directories' + become: false + community.zabbix.zabbix_user_directory: + name: "{{ item.name }}" + base_dn: "{{ item.base_dn | default(omit) }}" + bind_dn: "{{ item.bind_dn | default(omit) }}" + bind_password: "{{ item.bind_password | default(omit) }}" + description: "{{ item.description | default(omit) }}" + encrypt_assertions: "{{ item.encrypt_assertions | default(omit) }}" + encrypt_nameid: "{{ item.encrypt_nameid | default(omit) }}" + group_basedn: "{{ item.group_basedn | default(omit) }}" + group_filter: "{{ item.group_filter | default(omit) }}" + group_member: "{{ item.group_member | default(omit) }}" + group_membership: "{{ item.group_membership | default(omit) }}" + group_name: "{{ item.group_name | default(omit) }}" + host: "{{ item.host | default(omit) }}" + idp_entityid: "{{ item.idp_entityid | default(omit) }}" + idp_type: "{{ item.idp_type | default(omit) }}" + nameid_format: "{{ item.nameid_format | default(omit) }}" + port: "{{ item.port | default(omit) }}" + provision_groups: "{{ item.provision_groups | default(omit) }}" + provision_media: "{{ item.provision_media | default(omit) }}" + provision_status: "{{ item.provision_status | default(omit) }}" + scim_status: "{{ item.scim_status | default(omit) }}" + search_attribute: "{{ item.search_attribute | default(omit) }}" + search_filter: "{{ item.search_filter | default(omit) }}" + sign_assertions: "{{ item.sign_assertions | default(omit) }}" + sign_authn_requests: "{{ item.sign_authn_requests | default(omit) }}" + sign_logout_requests: "{{ item.sign_logout_requests | default(omit) }}" + sign_logout_responses: "{{ item.sign_logout_responses | default(omit) }}" + sign_messages: "{{ item.sign_messages | default(omit) }}" + slo_url: "{{ item.slo_url | default(omit) }}" + sp_entityid: "{{ item.sp_entityid | default(omit) }}" + sso_url: "{{ item.sso_url | default(omit) }}" + start_tls: "{{ item.start_tls | default(omit) }}" + state: "{{ item.state | default(omit) }}" + loop: "{{ zabbix_crud_user_directories }}" + tags: zabbix_crud_user_directory + +- name: '[Zabbix CRUD] Wrap for zabbix_authentication module - Update Zabbix authentication' + become: false + community.zabbix.zabbix_authentication: + authentication_type: "{{ item.authentication_type | default(omit) }}" + disabled_usrgroup: "{{ item.disabled_usergroup | default(omit) }}" + http_auth_enabled: "{{ item.http_auth_enabled | default(omit) }}" + http_case_sensitive: "{{ item.http_case_sensitive | default(omit) }}" + http_login_form: "{{ item.http_login_form | default(omit) }}" + http_strip_domains: "{{ item.http_strip_domains | default(omit) }}" + jit_provision_interval: "{{ item.jit_provision_interval | default(omit) }}" + ldap_auth_enabled: "{{ item.ldap_auth_enabled | default(omit) }}" + ldap_case_sensitive: "{{ item.ldap_case_sensitive | default(omit) }}" + ldap_userdirectory: "{{ item.ldap_userdirectory | default(omit) }}" + passwd_check_rules: "{{ item.passwd_check_rules | default(omit) }}" + passwd_min_length: "{{ item.passwd_min_length | default(omit) }}" + saml_auth_enabled: "{{ item.saml_auth_enabled | default(omit) }}" + saml_case_sensitive: "{{ item.saml_case_sensitive | default(omit) }}" + saml_encrypt_assertions: "{{ item.saml_encrypt_assertions | default(omit) }}" + saml_encrypt_nameid: "{{ item.saml_encrypt_nameid | default(omit) }}" + saml_idp_entityid: "{{ item.saml_idp_entityid | default(omit) }}" + saml_jit_status: "{{ item.saml_jit_status | default(omit) }}" + saml_nameid_format: "{{ item.saml_nameid_format | default(omit) }}" + saml_sign_assertions: "{{ item.saml_sign_assertions | default(omit) }}" + saml_sign_authn_requests: "{{ item.saml_sign_authn_requests | default(omit) }}" + saml_sign_logout_requests: "{{ item.saml_sign_logout_requests | default(omit) }}" + saml_sign_logout_responses: "{{ item.saml_sign_logout_responses | default(omit) }}" + saml_sign_messages: "{{ item.saml_sign_messages | default(omit) }}" + saml_slo_url: "{{ item.saml_slo_url | default(omit) }}" + saml_sp_entityid: "{{ item.saml_sp_entityid | default(omit) }}" + saml_sso_url: "{{ item.saml_sso_url | default(omit) }}" + saml_username_attribute: "{{ item.saml_username_attribute | default(omit) }}" + loop: "{{ zabbix_crud_auth_metods }}" + tags: zabbix_crud_auth