class otptoken_find(Method): __doc__ = _("Search for OTP token.") takes_args = (parameters.Str( 'criteria', required=False, doc=_(u'A string searched in all relevant object attributes'), ), ) takes_options = ( parameters.Str( 'ipatokenuniqueid', required=False, cli_name='id', label=_(u'Unique ID'), ), parameters.Str( 'type', required=False, cli_metavar="['totp', 'hotp', 'TOTP', 'HOTP']", label=_(u'Type'), doc=_(u'Type of the token'), default=u'totp', ), parameters.Str( 'description', required=False, cli_name='desc', label=_(u'Description'), doc=_(u'Token description (informational only)'), ), parameters.Str( 'ipatokenowner', required=False, cli_name='owner', label=_(u'Owner'), doc=_(u'Assigned user of the token (default: self)'), ), parameters.Bool( 'ipatokendisabled', required=False, cli_name='disabled', label=_(u'Disabled'), doc=_(u'Mark the token as disabled (default: false)'), ), parameters.DateTime( 'ipatokennotbefore', required=False, cli_name='not_before', label=_(u'Validity start'), doc=_(u'First date/time the token can be used'), ), parameters.DateTime( 'ipatokennotafter', required=False, cli_name='not_after', label=_(u'Validity end'), doc=_(u'Last date/time the token can be used'), ), parameters.Str( 'ipatokenvendor', required=False, cli_name='vendor', label=_(u'Vendor'), doc=_(u'Token vendor name (informational only)'), ), parameters.Str( 'ipatokenmodel', required=False, cli_name='model', label=_(u'Model'), doc=_(u'Token model (informational only)'), ), parameters.Str( 'ipatokenserial', required=False, cli_name='serial', label=_(u'Serial'), doc=_(u'Token serial (informational only)'), ), parameters.Str( 'ipatokenotpalgorithm', required=False, cli_name='algo', cli_metavar="['sha1', 'sha256', 'sha384', 'sha512']", label=_(u'Algorithm'), doc=_(u'Token hash algorithm'), default=u'sha1', ), parameters.Int( 'ipatokenotpdigits', required=False, cli_name='digits', cli_metavar="['6', '8']", label=_(u'Digits'), doc=_(u'Number of digits each token code will have'), default=6, ), parameters.Int( 'ipatokentotpclockoffset', required=False, cli_name='offset', label=_(u'Clock offset'), doc=_(u'TOTP token / IPA server time difference'), default=0, ), parameters.Int( 'ipatokentotptimestep', required=False, cli_name='interval', label=_(u'Clock interval'), doc=_(u'Length of TOTP token code validity'), default=30, ), parameters.Int( 'ipatokenhotpcounter', required=False, cli_name='counter', label=_(u'Counter'), doc=_(u'Initial counter for the HOTP token'), default=0, ), parameters.Int( 'timelimit', required=False, label=_(u'Time Limit'), doc=_(u'Time limit of search in seconds (0 is unlimited)'), ), parameters.Int( 'sizelimit', required=False, label=_(u'Size Limit'), doc=_(u'Maximum number of entries returned (0 is unlimited)'), ), parameters.Flag( 'all', doc= _(u'Retrieve and print all attributes from the server. Affects command output.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'raw', doc= _(u'Print entries as stored on the server. Only affects output format.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'no_members', doc=_(u'Suppress processing of membership attributes.'), exclude=('webui', 'cli'), default=False, autofill=True, ), parameters.Flag( 'pkey_only', required=False, label=_(u'Primary key only'), doc=_(u'Results should contain primary key attribute only ("id")'), default=False, autofill=True, ), ) has_output = ( output.Output( 'summary', (unicode, type(None)), doc=_(u'User-friendly description of action performed'), ), output.ListOfEntries('result', ), output.Output( 'count', int, doc=_(u'Number of entries returned'), ), output.Output( 'truncated', bool, doc=_(u'True if not all results were returned'), ), )
class otptoken_mod(Method): __doc__ = _("Modify a OTP token.") takes_args = (parameters.Str( 'ipatokenuniqueid', cli_name='id', label=_(u'Unique ID'), ), ) takes_options = ( parameters.Str( 'description', required=False, cli_name='desc', label=_(u'Description'), doc=_(u'Token description (informational only)'), ), parameters.Str( 'ipatokenowner', required=False, cli_name='owner', label=_(u'Owner'), doc=_(u'Assigned user of the token (default: self)'), ), parameters.Bool( 'ipatokendisabled', required=False, cli_name='disabled', label=_(u'Disabled'), doc=_(u'Mark the token as disabled (default: false)'), ), parameters.DateTime( 'ipatokennotbefore', required=False, cli_name='not_before', label=_(u'Validity start'), doc=_(u'First date/time the token can be used'), ), parameters.DateTime( 'ipatokennotafter', required=False, cli_name='not_after', label=_(u'Validity end'), doc=_(u'Last date/time the token can be used'), ), parameters.Str( 'ipatokenvendor', required=False, cli_name='vendor', label=_(u'Vendor'), doc=_(u'Token vendor name (informational only)'), ), parameters.Str( 'ipatokenmodel', required=False, cli_name='model', label=_(u'Model'), doc=_(u'Token model (informational only)'), ), parameters.Str( 'ipatokenserial', required=False, cli_name='serial', label=_(u'Serial'), doc=_(u'Token serial (informational only)'), ), parameters.Str( 'setattr', required=False, multivalue=True, doc= _(u'Set an attribute to a name/value pair. Format is attr=value.\nFor multi-valued attributes, the command replaces the values already present.' ), exclude=('webui', ), ), parameters.Str( 'addattr', required=False, multivalue=True, doc= _(u'Add an attribute/value pair. Format is attr=value. The attribute\nmust be part of the schema.' ), exclude=('webui', ), ), parameters.Str( 'delattr', required=False, multivalue=True, doc= _(u'Delete an attribute/value pair. The option will be evaluated\nlast, after all sets and adds.' ), exclude=('webui', ), ), parameters.Flag( 'rights', label=_(u'Rights'), doc= _(u'Display the access rights of this entry (requires --all). See ipa man page for details.' ), default=False, autofill=True, ), parameters.Flag( 'all', doc= _(u'Retrieve and print all attributes from the server. Affects command output.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'raw', doc= _(u'Print entries as stored on the server. Only affects output format.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'no_members', doc=_(u'Suppress processing of membership attributes.'), exclude=('webui', 'cli'), default=False, autofill=True, ), parameters.Str( 'rename', required=False, label=_(u'Rename'), doc=_(u'Rename the OTP token object'), ), ) has_output = ( output.Output( 'summary', (unicode, type(None)), doc=_(u'User-friendly description of action performed'), ), output.Entry('result', ), output.PrimaryKey( 'value', doc=_( u"The primary_key value of the entry, e.g. 'jdoe' for a user"), ), )
class otptoken(Object): takes_params = ( parameters.Str( 'ipatokenuniqueid', primary_key=True, label=_(u'Unique ID'), ), parameters.Str( 'type', required=False, label=_(u'Type'), doc=_(u'Type of the token'), ), parameters.Str( 'description', required=False, label=_(u'Description'), doc=_(u'Token description (informational only)'), ), parameters.Str( 'ipatokenowner', required=False, label=_(u'Owner'), doc=_(u'Assigned user of the token (default: self)'), ), parameters.Str( 'managedby_user', required=False, label=_(u'Manager'), doc=_(u'Assigned manager of the token (default: self)'), ), parameters.Bool( 'ipatokendisabled', required=False, label=_(u'Disabled'), doc=_(u'Mark the token as disabled (default: false)'), ), parameters.DateTime( 'ipatokennotbefore', required=False, label=_(u'Validity start'), doc=_(u'First date/time the token can be used'), ), parameters.DateTime( 'ipatokennotafter', required=False, label=_(u'Validity end'), doc=_(u'Last date/time the token can be used'), ), parameters.Str( 'ipatokenvendor', required=False, label=_(u'Vendor'), doc=_(u'Token vendor name (informational only)'), ), parameters.Str( 'ipatokenmodel', required=False, label=_(u'Model'), doc=_(u'Token model (informational only)'), ), parameters.Str( 'ipatokenserial', required=False, label=_(u'Serial'), doc=_(u'Token serial (informational only)'), ), parameters.Bytes( 'ipatokenotpkey', required=False, label=_(u'Key'), doc=_(u'Token secret (Base32; default: random)'), ), parameters.Str( 'ipatokenotpalgorithm', required=False, label=_(u'Algorithm'), doc=_(u'Token hash algorithm'), ), parameters.Int( 'ipatokenotpdigits', required=False, label=_(u'Digits'), doc=_(u'Number of digits each token code will have'), ), parameters.Int( 'ipatokentotpclockoffset', required=False, label=_(u'Clock offset'), doc=_(u'TOTP token / IPA server time difference'), ), parameters.Int( 'ipatokentotptimestep', required=False, label=_(u'Clock interval'), doc=_(u'Length of TOTP token code validity'), ), parameters.Int( 'ipatokenhotpcounter', required=False, label=_(u'Counter'), doc=_(u'Initial counter for the HOTP token'), ), )
class otptoken_add(Method): __doc__ = _("Add a new OTP token.") takes_args = (parameters.Str( 'ipatokenuniqueid', required=False, cli_name='id', label=_(u'Unique ID'), ), ) takes_options = ( parameters.Str( 'type', required=False, cli_metavar="['totp', 'hotp', 'TOTP', 'HOTP']", label=_(u'Type'), doc=_(u'Type of the token'), default=u'totp', autofill=True, ), parameters.Str( 'description', required=False, cli_name='desc', label=_(u'Description'), doc=_(u'Token description (informational only)'), ), parameters.Str( 'ipatokenowner', required=False, cli_name='owner', label=_(u'Owner'), doc=_(u'Assigned user of the token (default: self)'), ), parameters.Bool( 'ipatokendisabled', required=False, cli_name='disabled', label=_(u'Disabled'), doc=_(u'Mark the token as disabled (default: false)'), ), parameters.DateTime( 'ipatokennotbefore', required=False, cli_name='not_before', label=_(u'Validity start'), doc=_(u'First date/time the token can be used'), ), parameters.DateTime( 'ipatokennotafter', required=False, cli_name='not_after', label=_(u'Validity end'), doc=_(u'Last date/time the token can be used'), ), parameters.Str( 'ipatokenvendor', required=False, cli_name='vendor', label=_(u'Vendor'), doc=_(u'Token vendor name (informational only)'), ), parameters.Str( 'ipatokenmodel', required=False, cli_name='model', label=_(u'Model'), doc=_(u'Token model (informational only)'), ), parameters.Str( 'ipatokenserial', required=False, cli_name='serial', label=_(u'Serial'), doc=_(u'Token serial (informational only)'), ), parameters.Bytes( 'ipatokenotpkey', required=False, cli_name='key', label=_(u'Key'), doc=_(u'Token secret (Base32; default: random)'), default_from=DefaultFrom(lambda: None), # FIXME: # lambda: os.urandom(KEY_LENGTH) autofill=True, ), parameters.Str( 'ipatokenotpalgorithm', required=False, cli_name='algo', cli_metavar="['sha1', 'sha256', 'sha384', 'sha512']", label=_(u'Algorithm'), doc=_(u'Token hash algorithm'), default=u'sha1', autofill=True, ), parameters.Int( 'ipatokenotpdigits', required=False, cli_name='digits', cli_metavar="['6', '8']", label=_(u'Digits'), doc=_(u'Number of digits each token code will have'), default=6, autofill=True, ), parameters.Int( 'ipatokentotpclockoffset', required=False, cli_name='offset', label=_(u'Clock offset'), doc=_(u'TOTP token / IPA server time difference'), default=0, autofill=True, ), parameters.Int( 'ipatokentotptimestep', required=False, cli_name='interval', label=_(u'Clock interval'), doc=_(u'Length of TOTP token code validity'), default=30, autofill=True, ), parameters.Int( 'ipatokenhotpcounter', required=False, cli_name='counter', label=_(u'Counter'), doc=_(u'Initial counter for the HOTP token'), default=0, autofill=True, ), parameters.Str( 'setattr', required=False, multivalue=True, doc= _(u'Set an attribute to a name/value pair. Format is attr=value.\nFor multi-valued attributes, the command replaces the values already present.' ), exclude=('webui', ), ), parameters.Str( 'addattr', required=False, multivalue=True, doc= _(u'Add an attribute/value pair. Format is attr=value. The attribute\nmust be part of the schema.' ), exclude=('webui', ), ), parameters.Flag( 'qrcode', required=False, label=_(u'(deprecated)'), exclude=('cli', 'webui'), default=False, autofill=True, ), parameters.Flag( 'no_qrcode', label=_(u'Do not display QR code'), default=False, autofill=True, ), parameters.Flag( 'all', doc= _(u'Retrieve and print all attributes from the server. Affects command output.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'raw', doc= _(u'Print entries as stored on the server. Only affects output format.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'no_members', doc=_(u'Suppress processing of membership attributes.'), exclude=('webui', 'cli'), default=False, autofill=True, ), ) has_output = ( output.Output( 'summary', (unicode, type(None)), doc=_(u'User-friendly description of action performed'), ), output.Entry('result', ), output.PrimaryKey( 'value', doc=_( u"The primary_key value of the entry, e.g. 'jdoe' for a user"), ), )
class stageuser_find(Method): __doc__ = _("Search for stage users.") takes_args = (parameters.Str( 'criteria', required=False, doc=_(u'A string searched in all relevant object attributes'), ), ) takes_options = ( parameters.Str( 'uid', required=False, cli_name='login', label=_(u'User login'), default_from=DefaultFrom(lambda givenname, sn: givenname[0] + sn, 'principal'), no_convert=True, ), parameters.Str( 'givenname', required=False, cli_name='first', label=_(u'First name'), ), parameters.Str( 'sn', required=False, cli_name='last', label=_(u'Last name'), ), parameters.Str( 'cn', required=False, label=_(u'Full name'), default_from=DefaultFrom( lambda givenname, sn: '%s %s' % (givenname, sn), 'principal'), ), parameters.Str( 'displayname', required=False, label=_(u'Display name'), default_from=DefaultFrom( lambda givenname, sn: '%s %s' % (givenname, sn), 'principal'), ), parameters.Str( 'initials', required=False, label=_(u'Initials'), default_from=DefaultFrom( lambda givenname, sn: '%c%c' % (givenname[0], sn[0]), 'principal'), ), parameters.Str( 'homedirectory', required=False, cli_name='homedir', label=_(u'Home directory'), ), parameters.Str( 'gecos', required=False, label=_(u'GECOS'), default_from=DefaultFrom( lambda givenname, sn: '%s %s' % (givenname, sn), 'principal'), ), parameters.Str( 'loginshell', required=False, cli_name='shell', label=_(u'Login shell'), ), parameters.Str( 'krbprincipalname', required=False, cli_name='principal', label=_(u'Kerberos principal'), default_from=DefaultFrom( lambda uid: '%s@%s' % (uid.lower(), api.env.realm), 'principal'), no_convert=True, ), parameters.DateTime( 'krbprincipalexpiration', required=False, cli_name='principal_expiration', label=_(u'Kerberos principal expiration'), ), parameters.Str( 'mail', required=False, multivalue=True, cli_name='email', label=_(u'Email address'), ), parameters.Password( 'userpassword', required=False, cli_name='password', label=_(u'Password'), doc=_(u'Prompt to set the user password'), exclude=('webui', ), confirm=True, ), parameters.Int( 'uidnumber', required=False, cli_name='uid', label=_(u'UID'), doc=_(u'User ID Number (system will assign one if not provided)'), ), parameters.Int( 'gidnumber', required=False, label=_(u'GID'), doc=_(u'Group ID Number'), ), parameters.Str( 'street', required=False, label=_(u'Street address'), ), parameters.Str( 'l', required=False, cli_name='city', label=_(u'City'), ), parameters.Str( 'st', required=False, cli_name='state', label=_(u'State/Province'), ), parameters.Str( 'postalcode', required=False, label=_(u'ZIP'), ), parameters.Str( 'telephonenumber', required=False, multivalue=True, cli_name='phone', label=_(u'Telephone Number'), ), parameters.Str( 'mobile', required=False, multivalue=True, label=_(u'Mobile Telephone Number'), ), parameters.Str( 'pager', required=False, multivalue=True, label=_(u'Pager Number'), ), parameters.Str( 'facsimiletelephonenumber', required=False, multivalue=True, cli_name='fax', label=_(u'Fax Number'), ), parameters.Str( 'ou', required=False, cli_name='orgunit', label=_(u'Org. Unit'), ), parameters.Str( 'title', required=False, label=_(u'Job Title'), ), parameters.Str( 'manager', required=False, label=_(u'Manager'), ), parameters.Str( 'carlicense', required=False, multivalue=True, label=_(u'Car License'), ), parameters.Str( 'ipauserauthtype', required=False, multivalue=True, cli_name='user_auth_type', cli_metavar="['password', 'radius', 'otp']", label=_(u'User authentication types'), doc=_(u'Types of supported user authentication'), ), parameters.Str( 'userclass', required=False, multivalue=True, cli_name='class', label=_(u'Class'), doc= _(u'User category (semantics placed on this attribute are for local interpretation)' ), ), parameters.Str( 'ipatokenradiusconfiglink', required=False, cli_name='radius', label=_(u'RADIUS proxy configuration'), ), parameters.Str( 'ipatokenradiususername', required=False, cli_name='radius_username', label=_(u'RADIUS proxy username'), ), parameters.Str( 'departmentnumber', required=False, multivalue=True, label=_(u'Department Number'), ), parameters.Str( 'employeenumber', required=False, label=_(u'Employee Number'), ), parameters.Str( 'employeetype', required=False, label=_(u'Employee Type'), ), parameters.Str( 'preferredlanguage', required=False, label=_(u'Preferred Language'), ), parameters.Bytes( 'usercertificate', required=False, multivalue=True, cli_name='certificate', label=_(u'Certificate'), doc=_(u'Base-64 encoded server certificate'), ), parameters.Int( 'timelimit', required=False, label=_(u'Time Limit'), doc=_(u'Time limit of search in seconds (0 is unlimited)'), ), parameters.Int( 'sizelimit', required=False, label=_(u'Size Limit'), doc=_(u'Maximum number of entries returned (0 is unlimited)'), ), parameters.Flag( 'all', doc= _(u'Retrieve and print all attributes from the server. Affects command output.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'raw', doc= _(u'Print entries as stored on the server. Only affects output format.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'no_members', doc=_(u'Suppress processing of membership attributes.'), exclude=('webui', 'cli'), default=False, autofill=True, ), parameters.Flag( 'pkey_only', required=False, label=_(u'Primary key only'), doc=_( u'Results should contain primary key attribute only ("login")' ), default=False, autofill=True, ), parameters.Str( 'in_group', required=False, multivalue=True, cli_name='in_groups', label=_(u'group'), doc=_(u'Search for stage users with these member of groups.'), ), parameters.Str( 'not_in_group', required=False, multivalue=True, cli_name='not_in_groups', label=_(u'group'), doc=_(u'Search for stage users without these member of groups.'), ), parameters.Str( 'in_netgroup', required=False, multivalue=True, cli_name='in_netgroups', label=_(u'netgroup'), doc=_(u'Search for stage users with these member of netgroups.'), ), parameters.Str( 'not_in_netgroup', required=False, multivalue=True, cli_name='not_in_netgroups', label=_(u'netgroup'), doc=_( u'Search for stage users without these member of netgroups.'), ), parameters.Str( 'in_role', required=False, multivalue=True, cli_name='in_roles', label=_(u'role'), doc=_(u'Search for stage users with these member of roles.'), ), parameters.Str( 'not_in_role', required=False, multivalue=True, cli_name='not_in_roles', label=_(u'role'), doc=_(u'Search for stage users without these member of roles.'), ), parameters.Str( 'in_hbacrule', required=False, multivalue=True, cli_name='in_hbacrules', label=_(u'HBAC rule'), doc=_(u'Search for stage users with these member of HBAC rules.'), ), parameters.Str( 'not_in_hbacrule', required=False, multivalue=True, cli_name='not_in_hbacrules', label=_(u'HBAC rule'), doc=_( u'Search for stage users without these member of HBAC rules.'), ), parameters.Str( 'in_sudorule', required=False, multivalue=True, cli_name='in_sudorules', label=_(u'sudo rule'), doc=_(u'Search for stage users with these member of sudo rules.'), ), parameters.Str( 'not_in_sudorule', required=False, multivalue=True, cli_name='not_in_sudorules', label=_(u'sudo rule'), doc=_( u'Search for stage users without these member of sudo rules.'), ), ) has_output = ( output.Output( 'summary', (unicode, type(None)), doc=_(u'User-friendly description of action performed'), ), output.ListOfEntries('result', ), output.Output( 'count', int, doc=_(u'Number of entries returned'), ), output.Output( 'truncated', bool, doc=_(u'True if not all results were returned'), ), )
class stageuser(Object): takes_params = ( parameters.Str( 'uid', primary_key=True, label=_(u'User login'), ), parameters.Str( 'givenname', label=_(u'First name'), ), parameters.Str( 'sn', label=_(u'Last name'), ), parameters.Str( 'cn', label=_(u'Full name'), ), parameters.Str( 'displayname', required=False, label=_(u'Display name'), ), parameters.Str( 'initials', required=False, label=_(u'Initials'), ), parameters.Str( 'homedirectory', required=False, label=_(u'Home directory'), ), parameters.Str( 'gecos', required=False, label=_(u'GECOS'), ), parameters.Str( 'loginshell', required=False, label=_(u'Login shell'), ), parameters.Str( 'krbprincipalname', required=False, label=_(u'Kerberos principal'), ), parameters.DateTime( 'krbprincipalexpiration', required=False, label=_(u'Kerberos principal expiration'), ), parameters.Str( 'mail', required=False, multivalue=True, label=_(u'Email address'), ), parameters.Password( 'userpassword', required=False, label=_(u'Password'), doc=_(u'Prompt to set the user password'), exclude=('webui', ), ), parameters.Flag( 'random', required=False, doc=_(u'Generate a random user password'), ), parameters.Str( 'randompassword', required=False, label=_(u'Random password'), ), parameters.Int( 'uidnumber', required=False, label=_(u'UID'), doc=_(u'User ID Number (system will assign one if not provided)'), ), parameters.Int( 'gidnumber', required=False, label=_(u'GID'), doc=_(u'Group ID Number'), ), parameters.Str( 'street', required=False, label=_(u'Street address'), ), parameters.Str( 'l', required=False, label=_(u'City'), ), parameters.Str( 'st', required=False, label=_(u'State/Province'), ), parameters.Str( 'postalcode', required=False, label=_(u'ZIP'), ), parameters.Str( 'telephonenumber', required=False, multivalue=True, label=_(u'Telephone Number'), ), parameters.Str( 'mobile', required=False, multivalue=True, label=_(u'Mobile Telephone Number'), ), parameters.Str( 'pager', required=False, multivalue=True, label=_(u'Pager Number'), ), parameters.Str( 'facsimiletelephonenumber', required=False, multivalue=True, label=_(u'Fax Number'), ), parameters.Str( 'ou', required=False, label=_(u'Org. Unit'), ), parameters.Str( 'title', required=False, label=_(u'Job Title'), ), parameters.Str( 'manager', required=False, label=_(u'Manager'), ), parameters.Str( 'carlicense', required=False, multivalue=True, label=_(u'Car License'), ), parameters.Str( 'ipasshpubkey', required=False, multivalue=True, label=_(u'SSH public key'), ), parameters.Str( 'ipauserauthtype', required=False, multivalue=True, label=_(u'User authentication types'), doc=_(u'Types of supported user authentication'), ), parameters.Str( 'userclass', required=False, multivalue=True, label=_(u'Class'), doc= _(u'User category (semantics placed on this attribute are for local interpretation)' ), ), parameters.Str( 'ipatokenradiusconfiglink', required=False, label=_(u'RADIUS proxy configuration'), ), parameters.Str( 'ipatokenradiususername', required=False, label=_(u'RADIUS proxy username'), ), parameters.Str( 'departmentnumber', required=False, multivalue=True, label=_(u'Department Number'), ), parameters.Str( 'employeenumber', required=False, label=_(u'Employee Number'), ), parameters.Str( 'employeetype', required=False, label=_(u'Employee Type'), ), parameters.Str( 'preferredlanguage', required=False, label=_(u'Preferred Language'), ), parameters.Bytes( 'usercertificate', required=False, multivalue=True, label=_(u'Certificate'), doc=_(u'Base-64 encoded server certificate'), ), parameters.Flag( 'has_password', label=_(u'Password'), ), parameters.Str( 'memberof_group', required=False, label=_(u'Member of groups'), ), parameters.Str( 'memberof_role', required=False, label=_(u'Roles'), ), parameters.Str( 'memberof_netgroup', required=False, label=_(u'Member of netgroups'), ), parameters.Str( 'memberof_sudorule', required=False, label=_(u'Member of Sudo rule'), ), parameters.Str( 'memberof_hbacrule', required=False, label=_(u'Member of HBAC rule'), ), parameters.Str( 'memberofindirect_group', required=False, label=_(u'Indirect Member of group'), ), parameters.Str( 'memberofindirect_netgroup', required=False, label=_(u'Indirect Member of netgroup'), ), parameters.Str( 'memberofindirect_role', required=False, label=_(u'Indirect Member of role'), ), parameters.Str( 'memberofindirect_sudorule', required=False, label=_(u'Indirect Member of Sudo rule'), ), parameters.Str( 'memberofindirect_hbacrule', required=False, label=_(u'Indirect Member of HBAC rule'), ), parameters.Flag( 'has_keytab', label=_(u'Kerberos keys available'), ), )
class stageuser_add(Method): __doc__ = _("Add a new stage user.") takes_args = (parameters.Str( 'uid', cli_name='login', label=_(u'User login'), default_from=DefaultFrom(lambda givenname, sn: givenname[0] + sn, 'principal'), no_convert=True, ), ) takes_options = ( parameters.Str( 'givenname', cli_name='first', label=_(u'First name'), ), parameters.Str( 'sn', cli_name='last', label=_(u'Last name'), ), parameters.Str( 'cn', label=_(u'Full name'), default_from=DefaultFrom( lambda givenname, sn: '%s %s' % (givenname, sn), 'principal'), autofill=True, ), parameters.Str( 'displayname', required=False, label=_(u'Display name'), default_from=DefaultFrom( lambda givenname, sn: '%s %s' % (givenname, sn), 'principal'), autofill=True, ), parameters.Str( 'initials', required=False, label=_(u'Initials'), default_from=DefaultFrom( lambda givenname, sn: '%c%c' % (givenname[0], sn[0]), 'principal'), autofill=True, ), parameters.Str( 'homedirectory', required=False, cli_name='homedir', label=_(u'Home directory'), ), parameters.Str( 'gecos', required=False, label=_(u'GECOS'), default_from=DefaultFrom( lambda givenname, sn: '%s %s' % (givenname, sn), 'principal'), autofill=True, ), parameters.Str( 'loginshell', required=False, cli_name='shell', label=_(u'Login shell'), ), parameters.Str( 'krbprincipalname', required=False, cli_name='principal', label=_(u'Kerberos principal'), default_from=DefaultFrom( lambda uid: '%s@%s' % (uid.lower(), api.env.realm), 'principal'), autofill=True, no_convert=True, ), parameters.DateTime( 'krbprincipalexpiration', required=False, cli_name='principal_expiration', label=_(u'Kerberos principal expiration'), ), parameters.Str( 'mail', required=False, multivalue=True, cli_name='email', label=_(u'Email address'), ), parameters.Password( 'userpassword', required=False, cli_name='password', label=_(u'Password'), doc=_(u'Prompt to set the user password'), exclude=('webui', ), confirm=True, ), parameters.Flag( 'random', required=False, doc=_(u'Generate a random user password'), default=False, autofill=True, ), parameters.Int( 'uidnumber', required=False, cli_name='uid', label=_(u'UID'), doc=_(u'User ID Number (system will assign one if not provided)'), ), parameters.Int( 'gidnumber', required=False, label=_(u'GID'), doc=_(u'Group ID Number'), ), parameters.Str( 'street', required=False, label=_(u'Street address'), ), parameters.Str( 'l', required=False, cli_name='city', label=_(u'City'), ), parameters.Str( 'st', required=False, cli_name='state', label=_(u'State/Province'), ), parameters.Str( 'postalcode', required=False, label=_(u'ZIP'), ), parameters.Str( 'telephonenumber', required=False, multivalue=True, cli_name='phone', label=_(u'Telephone Number'), ), parameters.Str( 'mobile', required=False, multivalue=True, label=_(u'Mobile Telephone Number'), ), parameters.Str( 'pager', required=False, multivalue=True, label=_(u'Pager Number'), ), parameters.Str( 'facsimiletelephonenumber', required=False, multivalue=True, cli_name='fax', label=_(u'Fax Number'), ), parameters.Str( 'ou', required=False, cli_name='orgunit', label=_(u'Org. Unit'), ), parameters.Str( 'title', required=False, label=_(u'Job Title'), ), parameters.Str( 'manager', required=False, label=_(u'Manager'), ), parameters.Str( 'carlicense', required=False, multivalue=True, label=_(u'Car License'), ), parameters.Str( 'ipasshpubkey', required=False, multivalue=True, cli_name='sshpubkey', label=_(u'SSH public key'), no_convert=True, ), parameters.Str( 'ipauserauthtype', required=False, multivalue=True, cli_name='user_auth_type', cli_metavar="['password', 'radius', 'otp']", label=_(u'User authentication types'), doc=_(u'Types of supported user authentication'), ), parameters.Str( 'userclass', required=False, multivalue=True, cli_name='class', label=_(u'Class'), doc= _(u'User category (semantics placed on this attribute are for local interpretation)' ), ), parameters.Str( 'ipatokenradiusconfiglink', required=False, cli_name='radius', label=_(u'RADIUS proxy configuration'), ), parameters.Str( 'ipatokenradiususername', required=False, cli_name='radius_username', label=_(u'RADIUS proxy username'), ), parameters.Str( 'departmentnumber', required=False, multivalue=True, label=_(u'Department Number'), ), parameters.Str( 'employeenumber', required=False, label=_(u'Employee Number'), ), parameters.Str( 'employeetype', required=False, label=_(u'Employee Type'), ), parameters.Str( 'preferredlanguage', required=False, label=_(u'Preferred Language'), ), parameters.Bytes( 'usercertificate', required=False, multivalue=True, cli_name='certificate', label=_(u'Certificate'), doc=_(u'Base-64 encoded server certificate'), ), parameters.Str( 'setattr', required=False, multivalue=True, doc= _(u'Set an attribute to a name/value pair. Format is attr=value.\nFor multi-valued attributes, the command replaces the values already present.' ), exclude=('webui', ), ), parameters.Str( 'addattr', required=False, multivalue=True, doc= _(u'Add an attribute/value pair. Format is attr=value. The attribute\nmust be part of the schema.' ), exclude=('webui', ), ), parameters.Bool( 'from_delete', required=False, deprecated=True, doc=_(u'Create Stage user in from a delete user'), exclude=('cli', 'webui'), default=False, ), parameters.Flag( 'all', doc= _(u'Retrieve and print all attributes from the server. Affects command output.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'raw', doc= _(u'Print entries as stored on the server. Only affects output format.' ), exclude=('webui', ), default=False, autofill=True, ), parameters.Flag( 'no_members', doc=_(u'Suppress processing of membership attributes.'), exclude=('webui', 'cli'), default=False, autofill=True, ), ) has_output = ( output.Output( 'summary', (unicode, type(None)), doc=_(u'User-friendly description of action performed'), ), output.Entry('result', ), output.PrimaryKey( 'value', doc=_( u"The primary_key value of the entry, e.g. 'jdoe' for a user"), ), )