ipaserver.plugins.schema.param¶
- class ipaserver.plugins.schema.param(api)[source]¶
Bases:
ipaserver.plugins.schema.BaseParamPublic Data Attributes:
Inherited from
BaseParamInherited from
BaseMetaObjectInherited from
ObjectPublic Methods:
Inherited from
BaseParamThis method gets called by HasParam._create_param_namespace().
Inherited from
BaseMetaObjectretrieve(*args, **kwargs)search(*args, **kwargs)Inherited from
Objectparams_minus(*names)Yield all Param whose name is not in
names.get_dn(*args, **kwargs)Construct an LDAP DN.
This method gets called by HasParam._create_param_namespace().
__json__()Inherited from
Plugin__init__(api)finalize()Finalize plugin initialization.
Finalize plugin initialization if it has not yet been finalized.
__repr__()Return 'module_name.class_name()' representation.
Inherited from
ReadOnly__lock__()Put this instance into a read-only state.
Return True if instance is locked, otherwise False.
__setattr__(name, value)If unlocked, set attribute named
nametovalue.__delattr__(name)If unlocked, delete attribute named
name.Private Data Attributes:
Inherited from
ReadOnly_ReadOnly__lockedPrivate Methods:
_get_obj(obj, **kwargs)_retrieve(metaobjectfull_name, name, **kwargs)_search(metaobjectfull_name, **kwargs)Inherited from
BaseParam_split_search_args(parent_name[, criteria])Inherited from
BaseMetaObject_get_obj(obj, **kwargs)_retrieve(metaobjectfull_name, name, **kwargs)_search(metaobjectfull_name, **kwargs)_split_search_args(parent_name[, criteria])Inherited from
ObjectDo custom finalization.
_Object__get_attrs(name)Inherited from
HasParam_get_param_iterable(name[, verb])Return an iterable of params defined by the attribute named
name._filter_param_by_context(name[, env])Filter params on attribute named
nameby environmentenv._create_param_namespace(name[, env])Inherited from
Plugin_Plugin__name_getter()_Plugin__full_name_getter()_Plugin__bases_getter()_Plugin__doc_getter()_Plugin__summary_getter()Do custom finalization.
- property Backend¶
- property Command¶
- NO_CLI = False¶
- __annotations__ = {}¶
- __delattr__(name)¶
If unlocked, delete attribute named
name.If this instance is locked, an AttributeError will be raised.
- Parameters
name – Name of attribute to delete.
- __dict__ = mappingproxy({'__module__': 'ipaserver.plugins.schema', 'takes_params': (Str('name', flags=[u'no_search'], label=Gettext('Name', domain='ipa', localedir=None), normalizer=<lambda>), Str('doc?', flags=[u'no_search'], label=Gettext('Documentation', domain='ipa', localedir=None)), Str('exclude*', flags=[u'no_search'], label=Gettext('Exclude from', domain='ipa', localedir=None)), Str('include*', flags=[u'no_search'], label=Gettext('Include in', domain='ipa', localedir=None)), Str('type?', flags=[u'no_search'], label=Gettext('Type', domain='ipa', localedir=None)), Bool('required?', flags=[u'no_search'], label=Gettext('Required', domain='ipa', localedir=None)), Bool('multivalue?', flags=[u'no_search'], label=Gettext('Multi-value', domain='ipa', localedir=None)), Bool('alwaysask?', flags=[u'no_search'], label=Gettext('Always ask', domain='ipa', localedir=None)), Str('cli_metavar?', flags=[u'no_search'], label=Gettext('CLI metavar', domain='ipa', localedir=None)), Str('cli_name?', flags=[u'no_search'], label=Gettext('CLI name', domain='ipa', localedir=None)), Bool('confirm', flags=[u'no_search'], label=Gettext('Confirm (password)', domain='ipa', localedir=None)), Str('default*', flags=[u'no_search'], label=Gettext('Default', domain='ipa', localedir=None)), Str('default_from_param*', flags=[u'no_search'], label=Gettext('Default from', domain='ipa', localedir=None)), Str('label?', flags=[u'no_search'], label=Gettext('Label', domain='ipa', localedir=None)), Bool('no_convert?', flags=[u'no_search'], label=Gettext('Convert on server', domain='ipa', localedir=None)), Str('option_group?', flags=[u'no_search'], label=Gettext('Option group', domain='ipa', localedir=None)), Bool('sensitive?', flags=[u'no_search'], label=Gettext('Sensitive', domain='ipa', localedir=None)), Bool('positional?', flags=[u'no_search'], label=Gettext('Positional argument', domain='ipa', localedir=None))), 'parent': <property object>, '_get_obj': <function param._get_obj>, '_retrieve': <function param._retrieve>, '_search': <function param._search>, '__doc__': None, '__annotations__': {}})¶
- __init__(api)¶
- __islocked__()¶
Return True if instance is locked, otherwise False.
- __json__()¶
- __lock__()¶
Put this instance into a read-only state.
After the instance has been locked, attempting to set or delete an attribute will raise an AttributeError.
- __module__ = 'ipaserver.plugins.schema'¶
- __repr__()¶
Return ‘module_name.class_name()’ representation.
This representation could be used to instantiate this Plugin instance given the appropriate environment.
- __setattr__(name, value)¶
If unlocked, set attribute named
nametovalue.If this instance is locked, an AttributeError will be raised.
- Parameters
name – Name of attribute to set.
value – Value to assign to attribute.
- __weakref__¶
list of weak references to the object (if defined)
- _create_param_namespace(name, env=None)¶
- _filter_param_by_context(name, env=None)¶
Filter params on attribute named
nameby environmentenv.For example:
>>> from ipalib.config import Env >>> class Example(HasParam): ... ... takes_args = ( ... Str('foo_only', include=['foo']), ... Str('not_bar', exclude=['bar']), ... 'both', ... ) ... ... def get_args(self): ... return self._get_param_iterable('args') ... ... >>> eg = Example() >>> foo = Env(context='foo') >>> bar = Env(context='bar') >>> another = Env(context='another') >>> (foo.context, bar.context, another.context) (u'foo', u'bar', u'another') >>> list(eg._filter_param_by_context('args', foo)) [Str('foo_only', include=['foo']), Str('not_bar', exclude=['bar']), Str('both')] >>> list(eg._filter_param_by_context('args', bar)) [Str('both')] >>> list(eg._filter_param_by_context('args', another)) [Str('not_bar', exclude=['bar']), Str('both')]
- _get_param_iterable(name, verb='takes')¶
Return an iterable of params defined by the attribute named
name.A sequence of params can be defined one of three ways: as a
tuple; as a callable that returns an iterable; or as a param spec (a Param orstrinstance). This method returns a uniform iterable regardless of how the param sequence was defined.For example, when defined with a tuple:
>>> class ByTuple(HasParam): ... takes_args = (Param('foo'), Param('bar')) ... >>> by_tuple = ByTuple() >>> list(by_tuple._get_param_iterable('args')) [Param('foo'), Param('bar')]
Or you can define your param sequence with a callable when you need to reference attributes on your plugin instance (for validation rules, etc.). For example:
>>> class ByCallable(HasParam): ... def takes_args(self): ... yield Param('foo', self.validate_foo) ... yield Param('bar', self.validate_bar) ... ... def validate_foo(self, _, value, **kw): ... if value != 'Foo': ... return _("must be 'Foo'") ... ... def validate_bar(self, _, value, **kw): ... if value != 'Bar': ... return _("must be 'Bar'") ... >>> by_callable = ByCallable() >>> list(by_callable._get_param_iterable('args')) [Param('foo', validate_foo), Param('bar', validate_bar)]
Lastly, as a convenience for when a param sequence contains a single param, your defining attribute may a param spec (either a Param or an
strinstance). For example:>>> class BySpec(HasParam): ... takes_args = Param('foo') ... takes_options = 'bar?' ... >>> by_spec = BySpec() >>> list(by_spec._get_param_iterable('args')) [Param('foo')] >>> list(by_spec._get_param_iterable('options')) ['bar?']
For information on how an
strparam spec is interpreted, see the create_param() and parse_param_spec() functions in the ipalib.parameters module.Also see HasParam._filter_param_by_context().
- _on_finalize()¶
Do custom finalization.
This method is called from finalize(). Subclasses can override this method in order to add custom finalization.
- _split_search_args(parent_name, criteria=None)¶
- property api¶
Return API instance passed to __init__().
- backend = None¶
- backend_name = None¶
- bases = (<class 'ipaserver.plugins.schema.BaseParam'>,)¶
- property context¶
- doc = None¶
- ensure_finalized()¶
Finalize plugin initialization if it has not yet been finalized.
- property env¶
- finalize()¶
Finalize plugin initialization.
This method calls _on_finalize() and locks the plugin object.
Subclasses should not override this method. Custom finalization is done in _on_finalize().
- class finalize_attr(name, value=None)¶
Bases:
objectCreate a stub object for plugin attribute that isn’t set until the finalization of the plugin initialization.
When the stub object is accessed, it calls ensure_finalized() to make sure the plugin initialization is finalized. The stub object is expected to be replaced with the actual attribute value during the finalization (preferably in _on_finalize()), otherwise an AttributeError is raised.
This is used to implement on-demand finalization of plugin initialization.
- __annotations__ = {}¶
- __get__(obj, cls)¶
- __init__(name, value=None)¶
- __module__ = 'ipalib.plugable'¶
- __slots__ = ('name', 'value')¶
- name¶
- value¶
- full_name = 'param/1'¶
- get_dn(*args, **kwargs)¶
Construct an LDAP DN.
- get_params()¶
This method gets called by HasParam._create_param_namespace().
- json_friendly_attributes = ('name', 'takes_params')¶
- methods = None¶
- name = 'param'¶
- params = None¶
- params_minus(*names)¶
Yield all Param whose name is not in
names.
- params_minus_pk = None¶
- property parent¶
- primary_key = None¶
- retrieve(*args, **kwargs)¶
- search(*args, **kwargs)¶
- summary = '<ipaserver.plugins.schema.param>'¶
- takes_params = (Str('name', flags=[u'no_search'], label=Gettext('Name', domain='ipa', localedir=None), normalizer=<lambda>), Str('doc?', flags=[u'no_search'], label=Gettext('Documentation', domain='ipa', localedir=None)), Str('exclude*', flags=[u'no_search'], label=Gettext('Exclude from', domain='ipa', localedir=None)), Str('include*', flags=[u'no_search'], label=Gettext('Include in', domain='ipa', localedir=None)), Str('type?', flags=[u'no_search'], label=Gettext('Type', domain='ipa', localedir=None)), Bool('required?', flags=[u'no_search'], label=Gettext('Required', domain='ipa', localedir=None)), Bool('multivalue?', flags=[u'no_search'], label=Gettext('Multi-value', domain='ipa', localedir=None)), Bool('alwaysask?', flags=[u'no_search'], label=Gettext('Always ask', domain='ipa', localedir=None)), Str('cli_metavar?', flags=[u'no_search'], label=Gettext('CLI metavar', domain='ipa', localedir=None)), Str('cli_name?', flags=[u'no_search'], label=Gettext('CLI name', domain='ipa', localedir=None)), Bool('confirm', flags=[u'no_search'], label=Gettext('Confirm (password)', domain='ipa', localedir=None)), Str('default*', flags=[u'no_search'], label=Gettext('Default', domain='ipa', localedir=None)), Str('default_from_param*', flags=[u'no_search'], label=Gettext('Default from', domain='ipa', localedir=None)), Str('label?', flags=[u'no_search'], label=Gettext('Label', domain='ipa', localedir=None)), Bool('no_convert?', flags=[u'no_search'], label=Gettext('Convert on server', domain='ipa', localedir=None)), Str('option_group?', flags=[u'no_search'], label=Gettext('Option group', domain='ipa', localedir=None)), Bool('sensitive?', flags=[u'no_search'], label=Gettext('Sensitive', domain='ipa', localedir=None)), Bool('positional?', flags=[u'no_search'], label=Gettext('Positional argument', domain='ipa', localedir=None)))¶
- version = '1'¶