Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if 'ext_vars' in kwargs or 'schema' in kwargs:
import_jsonnet('ActionJsonnet')
_check_unknown_kwargs(kwargs, {'schema', 'ext_vars'})
if 'ext_vars' in kwargs and not isinstance(kwargs['ext_vars'], (str, type(None))):
raise ValueError('ext_vars has to be either None or a string.')
self._ext_vars = kwargs['ext_vars'] if 'ext_vars' in kwargs else None
schema = kwargs['schema'] if 'schema' in kwargs else None
if schema is not None:
import_jsonschema('ActionJsonnet')
if isinstance(schema, str):
try:
schema = yaml.safe_load(schema)
except Exception as ex:
raise type(ex)('Problems parsing schema :: '+str(ex))
jsonvalidator.check_schema(schema)
self._validator = ActionJsonSchema._extend_jsonvalidator_with_default(jsonvalidator)(schema)
else:
self._validator = None
elif '_ext_vars' not in kwargs or '_validator' not in kwargs:
raise ValueError('Expected ext_vars and/or schema keyword arguments.')
else:
self._ext_vars = kwargs.pop('_ext_vars')
self._validator = kwargs.pop('_validator')
kwargs['type'] = str
super().__init__(**kwargs)