summaryrefslogtreecommitdiff
path: root/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py')
-rw-r--r--test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py39
1 files changed, 38 insertions, 1 deletions
diff --git a/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py b/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py
index 3550d7204f..07034530c1 100644
--- a/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py
+++ b/test/lib/ansible_test/_data/sanity/validate-modules/validate_modules/schema.py
@@ -524,11 +524,48 @@ def doc_schema(module_name, for_collection=False, deprecated_module=False):
}
doc_schema_dict.update(deprecation_required_scheme)
+
+ def add_default_attributes(more=None):
+ schema = {
+ 'description': any_string_types,
+ 'support': any_string_types,
+ 'version_added_collection': any_string_types,
+ 'version_added': any_string_types,
+ }
+ if more:
+ schema.update(more)
+ return schema
+
+ doc_schema_dict['attributes'] = Schema(
+ All(
+ Schema({
+ any_string_types: {
+ Required('description'): any_string_types,
+ Required('support'): Any('full', 'partial', 'none'),
+ 'version_added_collection': collection_name,
+ 'version_added': version(for_collection=for_collection),
+ },
+ }, extra=ALLOW_EXTRA),
+ partial(version_added, error_code='attribute-invalid-version-added', accept_historical=False),
+ Schema({
+ any_string_types: add_default_attributes(),
+ 'action_group': add_default_attributes({
+ Required('membership'): list_string_types,
+ }),
+ 'forced_action_plugin': add_default_attributes({
+ Required('action_plugin'): any_string_types,
+ }),
+ 'proprietary': add_default_attributes({
+ Required('platforms'): list_string_types,
+ }),
+ }, extra=PREVENT_EXTRA),
+ )
+ )
return Schema(
All(
Schema(
doc_schema_dict,
- extra=ALLOW_EXTRA
+ extra=PREVENT_EXTRA
),
partial(version_added, error_code='module-invalid-version-added', accept_historical=not for_collection),
)