From 8bcf1c069d8ddf28898342e541254bdeb54445df Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Mon, 18 May 2020 13:30:27 -0400 Subject: cc_snap: apply validation to snap.commands properties (#364) Specifically, ensure that given values are either strings, or arrays of strings. --- cloudinit/config/cc_snap.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cloudinit/config/cc_snap.py') diff --git a/cloudinit/config/cc_snap.py b/cloudinit/config/cc_snap.py index fbe7787a..3bf2e250 100644 --- a/cloudinit/config/cc_snap.py +++ b/cloudinit/config/cc_snap.py @@ -85,6 +85,14 @@ schema = { 01: ['snap', 'install', 'vlc'] 02: snap install vlc 03: 'snap install vlc' + """), dedent("""\ + # You can use a list of commands + snap: + commands: + - ['install', 'vlc'] + - ['snap', 'install', 'vlc'] + - snap install vlc + - 'snap install vlc' """)], 'frequency': PER_INSTANCE, 'type': 'object', @@ -110,6 +118,12 @@ schema = { 'additionalItems': False, # Reject non-string & non-list 'minItems': 1, 'minProperties': 1, + 'additionalProperties': { + 'oneOf': [ + {'type': 'string'}, + {'type': 'array', 'items': {'type': 'string'}}, + ], + }, }, 'squashfuse_in_container': { 'type': 'boolean' -- cgit v1.2.3