##### SUMMARY
`esc_period` is mandatory even with `state: absent` - should be optional in that case.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
zabbix_action

##### ANSIBLE VERSION
latest

##### CONFIGURATION
Not relevant.

##### OS / ENVIRONMENT
Not relevant.

##### STEPS TO REPRODUCE
```yaml
  - name: "Report problems to Zabbix administrators"
    event_source: 'trigger'
    state: absent
```

##### EXPECTED RESULTS
Action, if exists, is removed.

##### ACTUAL RESULTS
```paste below
"msg": "missing required arguments: esc_period"
```
if diff_dict[k] == {}:
                del diff_dict[k]
            else:
                diff_dict[k] = v
        elif isinstance(v, list):
            diff_dict[k] = []
            compare_lists(v, d2[k], diff_dict[k])
            if diff_dict[k] == []:
                del diff_dict[k]
            else:
                diff_dict[k] = v
        else:
            if v != d2[k]:
                diff_dict[k] = v
    return diff_dict
def cleanup_data(obj):
    """Removes the None values from the object and returns the object
    Args:
        obj: object to cleanup
    Returns:
       object: cleaned object
    """
    if isinstance(obj, (list, tuple, set)):
        return type(obj)(cleanup_data(x) for x in obj if x is not None)
    elif isinstance(obj, dict):
        return type(obj)((cleanup_data(k), cleanup_data(v))
                         for k, v in obj.items() if k is not None and v is not None)
    else:
        return obj
def main():