Add your description here
Project description
ansible-lint-custom-strict-naming
Ansible is a powerful tool for configuration management. But it is difficult to maintain the YAML playbook quality. Variable maintenance is one of the difficult tasks because they can be overwritten unexpectedly, if you don't care about such like precedence and position where variables are defined.
This is a strict rule for variable naming, using ansible-lint. Strict naming rule is useful to avoid name collision and to search defined position.
Rules
var_name_prefix
-
<role_name>_role__
,<task_name>_tasks__
-
prefix Variables defined in <role_name>_role__
roles/<role_name>/tasks/
<role_name>_tasks__
<not_roles>/**/tasks/
-
In ansible-lint,
var-naming[no-role-prefix]
require to use<role_name>_
as prefix. But it is not enough to avoid name collision or search defined position. So, I add_role__
or_tasks__
to the prefix.
-
-
var__
,const__
-
prefix description var__
Variables dynamically defined by ansible.builtin.set_fact
orregister
const__
Variables statistically defined in such like inventory's vars, group_vars and host_vars
-
-
prefix precedence
-
descending order
- role or task prefix
- var or const prefix
-
examples
var description var__fizz
defined in playbook by ansible.builtin.set_fact
orregister
some_role__var__fizz
defined in roles/<role_name>/tasks
byansible.builtin.set_fact
orregister
some_role__arg__fizz
defined by ansible.builtin.include_role
'svars
key and shouldn't changed inroles/<role_name>/tasks
some_role__const__fizz
defined only in roles/<role_name>/vars/
.some_tasks__var__fizz
defined in tasks
byansible.builtin.set_fact
orregister
some_tasks__const__fizz
defined by ansible.builtin.include_role
's vars key and not changed intasks
tasks: - name: Some task ansible.builtin.include_role: name: <role_name> vars: some_role__const__one: value1 some_role__const__two: value2
-
Others
Double underscores?
- Single underscore (
_
) is used to separate words. Double underscores (__
) are used to separate chunks for readability. - examples
var__send_message__user_id
var__send_message__content
some_role__const__app_config__name
some_role__const__app_config__token
some_role__const__app_config__version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ansible-lint-custom-strict-naming-0.1.5.tar.gz
.
File metadata
- Download URL: ansible-lint-custom-strict-naming-0.1.5.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fdbf858a46d987dd5af3bfc7f4af22b6c733ecee0b8c2c71379a699c95af8ea |
|
MD5 | d00eb8aa17b4c283c3fc8d881d2a049c |
|
BLAKE2b-256 | eafe0172028ad0f46011a88df17981a07edfd9d7eae1590d2099168389d0b391 |
File details
Details for the file ansible_lint_custom_strict_naming-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: ansible_lint_custom_strict_naming-0.1.5-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76f4c208eef3fa82667b282344d9d934a86cb76fbf67858ea6fb6bc0a46293cb |
|
MD5 | 7ca7a9eca738c53973629555def3c09a |
|
BLAKE2b-256 | 62353994ca15618c469819e3b1332598056651a3716aa652d7187125e8519960 |