"stableinterface" Module Status Question

Hi,

I’d like to propose a simple improvement to the ec2_lc module. The module has a user_data parameter that allows the user to pass an opaque blob of data to any instances launched with this launch configuration. However, AWS limits user data size to just 16KB, which is easy to exceed with any script of decent length.

A simple workaround for this issue to submit gzip’d userdata. However, it’s not possible to read binary files with Ansible, so user_data: “{{ lookup(‘file’, ‘/path/to/userdata.gz’) }}” wouldn’t work. Locally, I modified the module to accept a user_data_path parameter, which allows it to read binary data directly. It’s only a couple extra lines of code.

I’d like to open a PR for this change, but I noticed that the module’s status is listed as “stableinterface”.

(hit enter too quickly).

My question is: does that mean that such a PR will not be accepted, and in that case, would it be possible to modify the behavior of the existing user_data parameter to optionally accept a file path?

Valentyn

It means that adding new options is OK, removing or changing the behaviour of existing ones should be avoided. New options don’t break backwards compatibility AKA break existing plays.

Great, thanks. For reference, here is the PR: https://github.com/ansible/ansible/pull/20138

Valentyn