diff --git a/docs/plugins/address_module.rst b/docs/plugins/address_module.rst
index d10f9e4..89ef2e7 100644
--- a/docs/plugins/address_module.rst
+++ b/docs/plugins/address_module.rst
@@ -348,7 +348,7 @@ Parameters
- IP address to hanle
+ IP address to handle
.. raw:: html
diff --git a/plugins/module_utils/phpipam_helper.py b/plugins/module_utils/phpipam_helper.py
index 780db23..e7aa6e9 100644
--- a/plugins/module_utils/phpipam_helper.py
+++ b/plugins/module_utils/phpipam_helper.py
@@ -58,7 +58,7 @@ def __init__(self, **kwargs):
self.phpipam_spec, gen_args = self._phpipam_spec_helper(kwargs.pop('phpipam_spec', {}))
argument_spec = dict(
server_url=dict(required=True, fallback=(env_fallback, ['PHPIPAM_SERVER_URL'])),
- app_id=dict(required=True, fallback=(env_fallback, ['PHPIPAM_APP_ID'])),
+ app_id=dict(required=False, fallback=(env_fallback, ['PHPIPAM_APP_ID']), default='ansible'),
username=dict(required=True, fallback=(env_fallback, ['PHPIPAM_USERNAME'])),
password=dict(required=True, fallback=(env_fallback, ['PHPIPAM_PASSWORD']), no_log=True),
validate_certs=dict(type='bool', fallback=(env_fallback, ['PHPIPAM_VALIDATE_CERTS']), required=False, default=True),
diff --git a/plugins/modules/section.py b/plugins/modules/section.py
index 4f3b6c1..954c665 100644
--- a/plugins/modules/section.py
+++ b/plugins/modules/section.py
@@ -122,7 +122,7 @@ def main():
phpipam_spec=dict(
name=dict(type='str', required=True),
description=dict(type='str', required=False),
- parent=dict(type='entity', controller='sections', required=False, defautl=None, phpipam_name='masterSection'),
+ parent=dict(type='entity', controller='sections', required=False, default=None, phpipam_name='masterSection'),
permissions=dict(type='json', required=False, default=None),
strict_mode=dict(type='bool', required=False),
subnet_ordering=dict(type='bool', required=False, phpipam_name='subnetOrdering'),
diff --git a/tests/test_playbooks/shared_vars.yml b/tests/test_playbooks/shared_vars.yml
new file mode 100644
index 0000000..6b36459
--- /dev/null
+++ b/tests/test_playbooks/shared_vars.yml
@@ -0,0 +1,19 @@
+- name: Check app_id defaults to 'ansible'
+ hosts: localhost
+ gather_facts: false
+ vars_files:
+ - vars/server.yml
+ - vars/section.yml
+ tasks:
+ - name: Create section
+ ansible.builtin.include_tasks: tasks/shared_vars_section.yml
+ vars:
+ step: create section
+ section: '{{ base_section_data }}'
+ - name: Delete section
+ ansible.builtin.include_tasks: tasks/shared_vars_section.yml
+ vars:
+ step: delete section
+ override:
+ state: absent
+ section: '{{ base_section_data | combine(override) }}'
diff --git a/tests/test_playbooks/tasks/shared_vars_section.yml b/tests/test_playbooks/tasks/shared_vars_section.yml
new file mode 100644
index 0000000..3c69c76
--- /dev/null
+++ b/tests/test_playbooks/tasks/shared_vars_section.yml
@@ -0,0 +1,19 @@
+---
+- name: "Ensure state of section: {{ step }}"
+ codeaffen.phpipam.section:
+ server_url: "{{ phpipam_server_url }}"
+ username: "{{ phpipam_username }}"
+ password: "{{ phpipam_password }}"
+ name: "{{ section.name }}"
+ description: "{{ section.description | default(omit) }}"
+ parent: "{{ section.parent | default(omit) }}"
+ permissions: "{{ section.permissions | default(omit) }}"
+ strict_mode: "{{ section.strict_mode | default(omit) }}"
+ subnet_ordering: "{{ section.subnet_ordering | default(omit) }}"
+ list_order: "{{ section.list_order | default(omit) }}"
+ show_vlan: "{{ section.show_vlan | default(omit) }}"
+ show_vrf: "{{ section.show_vrf | default(omit) }}"
+ show_supernets_only: "{{ section.show_supernets_only | default(omit) }}"
+ dns_resolver: "{{ section.dns_resolver | default(omit) }}"
+ validate_certs: "{{ section.validate_certs | default('no') }}"
+ state: "{{ section.state | default('present') }}"