mirror of
https://github.com/ansible/ansible.git
synced 2026-07-28 16:15:12 +02:00
Enforce FQCNs in seealso plugin/module entries. (#84325)
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
minor_changes:
|
||||
- "validate-modules sanity test - make sure that ``module`` and ``plugin`` ``seealso`` entries use FQCNs (https://github.com/ansible/ansible/pull/84325)."
|
||||
+13
-2
@@ -67,6 +67,17 @@ def collection_name(v, error_code=None):
|
||||
return v
|
||||
|
||||
|
||||
def fqcn(v, error_code=None):
|
||||
if not isinstance(v, string_types):
|
||||
raise _add_ansible_error_code(
|
||||
Invalid('Module/plugin name must be a string'), error_code or 'invalid-documentation')
|
||||
m = FULLY_QUALIFIED_COLLECTION_RESOURCE_RE.match(v)
|
||||
if not m:
|
||||
raise _add_ansible_error_code(
|
||||
Invalid('Module/plugin name must be of format `<namespace>.<collection>.<name>(.<subname>)*`'), error_code or 'invalid-documentation')
|
||||
return v
|
||||
|
||||
|
||||
def deprecation_versions():
|
||||
"""Create a list of valid version for deprecation entries, current+4"""
|
||||
major, minor = [int(version) for version in __version__.split('.')[0:2]]
|
||||
@@ -196,11 +207,11 @@ seealso_schema = Schema(
|
||||
[
|
||||
Any(
|
||||
{
|
||||
Required('module'): Any(*string_types),
|
||||
Required('module'): fqcn,
|
||||
'description': doc_string,
|
||||
},
|
||||
{
|
||||
Required('plugin'): Any(*string_types),
|
||||
Required('plugin'): fqcn,
|
||||
Required('plugin_type'): Any(*DOCUMENTABLE_PLUGINS),
|
||||
'description': doc_string,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user