From ee49f97bf5697710b6e3d1201ee6c648999efec9 Mon Sep 17 00:00:00 2001
From: Stanislav Laznicka <slaznick@redhat.com>
Date: Thu, 31 Aug 2017 10:47:27 +0200
Subject: [PATCH 1/2] Regenerate API.txt with Python 3

The API.txt which serves for development purposes is now generated
in Python 3. This makes some obvious changes in types like
`unicode` -> `str` and `str` to `bytes` in some cases.

https://pagure.io/freeipa/issue/4985
---
 API.txt | 2222 +++++++++++++++++++++++++++++++--------------------------------
 makeapi |    2 +-
 2 files changed, 1112 insertions(+), 1112 deletions(-)

diff --git a/API.txt b/API.txt
index 4b06a96923..230303feb9 100644
--- a/API.txt
+++ b/API.txt
@@ -1,7 +1,7 @@
 command: aci_add/1
 args: 1,15,3
 arg: Str('aciname', cli_name='name')
-option: StrEnum('aciprefix', cli_name='prefix', values=[u'permission', u'delegation', u'selfservice', u'none'])
+option: StrEnum('aciprefix', cli_name='prefix', values=['permission', 'delegation', 'selfservice', 'none'])
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('attrs*', cli_name='attrs')
 option: Str('filter?', cli_name='filter')
@@ -14,24 +14,24 @@ option: Flag('selfaci?', autofill=True, cli_name='self', default=False)
 option: Str('subtree?', cli_name='subtree')
 option: Str('targetgroup?', cli_name='targetgroup')
 option: Flag('test?', autofill=True, default=False)
-option: StrEnum('type?', cli_name='type', values=[u'user', u'group', u'host', u'service', u'hostgroup', u'netgroup', u'dnsrecord'])
+option: StrEnum('type?', cli_name='type', values=['user', 'group', 'host', 'service', 'hostgroup', 'netgroup', 'dnsrecord'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: aci_del/1
 args: 1,2,3
 arg: Str('aciname', cli_name='name')
-option: StrEnum('aciprefix', cli_name='prefix', values=[u'permission', u'delegation', u'selfservice', u'none'])
+option: StrEnum('aciprefix', cli_name='prefix', values=['permission', 'delegation', 'selfservice', 'none'])
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: aci_find/1
 args: 1,16,4
 arg: Str('criteria?')
 option: Str('aciname?', autofill=False, cli_name='name')
-option: StrEnum('aciprefix?', cli_name='prefix', values=[u'permission', u'delegation', u'selfservice', u'none'])
+option: StrEnum('aciprefix?', cli_name='prefix', values=['permission', 'delegation', 'selfservice', 'none'])
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('attrs*', autofill=False, cli_name='attrs')
 option: Str('filter?', autofill=False, cli_name='filter')
@@ -44,16 +44,16 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Bool('selfaci?', autofill=False, cli_name='self', default=False)
 option: Str('subtree?', autofill=False, cli_name='subtree')
 option: Str('targetgroup?', autofill=False, cli_name='targetgroup')
-option: StrEnum('type?', autofill=False, cli_name='type', values=[u'user', u'group', u'host', u'service', u'hostgroup', u'netgroup', u'dnsrecord'])
+option: StrEnum('type?', autofill=False, cli_name='type', values=['user', 'group', 'host', 'service', 'hostgroup', 'netgroup', 'dnsrecord'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: aci_mod/1
 args: 1,14,3
 arg: Str('aciname', cli_name='name')
-option: StrEnum('aciprefix', cli_name='prefix', values=[u'permission', u'delegation', u'selfservice', u'none'])
+option: StrEnum('aciprefix', cli_name='prefix', values=['permission', 'delegation', 'selfservice', 'none'])
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('attrs*', autofill=False, cli_name='attrs')
 option: Str('filter?', autofill=False, cli_name='filter')
@@ -65,15 +65,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('selfaci?', autofill=True, cli_name='self', default=False)
 option: Str('subtree?', autofill=False, cli_name='subtree')
 option: Str('targetgroup?', autofill=False, cli_name='targetgroup')
-option: StrEnum('type?', autofill=False, cli_name='type', values=[u'user', u'group', u'host', u'service', u'hostgroup', u'netgroup', u'dnsrecord'])
+option: StrEnum('type?', autofill=False, cli_name='type', values=['user', 'group', 'host', 'service', 'hostgroup', 'netgroup', 'dnsrecord'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: aci_rename/1
 args: 1,15,3
 arg: Str('aciname', cli_name='name')
-option: StrEnum('aciprefix', cli_name='prefix', values=[u'permission', u'delegation', u'selfservice', u'none'])
+option: StrEnum('aciprefix', cli_name='prefix', values=['permission', 'delegation', 'selfservice', 'none'])
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('attrs*', autofill=False, cli_name='attrs')
 option: Str('filter?', autofill=False, cli_name='filter')
@@ -86,21 +86,21 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('selfaci?', autofill=True, cli_name='self', default=False)
 option: Str('subtree?', autofill=False, cli_name='subtree')
 option: Str('targetgroup?', autofill=False, cli_name='targetgroup')
-option: StrEnum('type?', autofill=False, cli_name='type', values=[u'user', u'group', u'host', u'service', u'hostgroup', u'netgroup', u'dnsrecord'])
+option: StrEnum('type?', autofill=False, cli_name='type', values=['user', 'group', 'host', 'service', 'hostgroup', 'netgroup', 'dnsrecord'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: aci_show/1
 args: 1,5,3
 arg: Str('aciname', cli_name='name')
-option: StrEnum('aciprefix', cli_name='prefix', values=[u'permission', u'delegation', u'selfservice', u'none'])
+option: StrEnum('aciprefix', cli_name='prefix', values=['permission', 'delegation', 'selfservice', 'none'])
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: DNParam('location?')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: adtrust_is_enabled/1
 args: 0,1,1
@@ -114,10 +114,10 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automember_add_condition/1
 args: 1,8,5
@@ -128,50 +128,50 @@ option: Str('automemberinclusiveregex*', alwaysask=True, cli_name='inclusive_reg
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('key')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automember_default_group_remove/1
 args: 0,5,3
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', autofill=False, cli_name='desc')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: automember_default_group_set/1
 args: 0,6,3
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('automemberdefaultgroup', cli_name='default_group')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: automember_default_group_show/1
 args: 0,4,3
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: automember_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='automember_rule')
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: automember_find/1
 args: 1,6,4
@@ -180,12 +180,12 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', autofill=False, cli_name='desc')
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: automember_mod/1
 args: 1,9,3
 arg: Str('cn', cli_name='automember_rule')
@@ -196,10 +196,10 @@ option: Str('description?', autofill=False, cli_name='desc')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automember_rebuild/1
 args: 0,7,3
@@ -207,11 +207,11 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('hosts*')
 option: Flag('no_wait?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type?', values=[u'group', u'hostgroup'])
+option: StrEnum('type?', values=['group', 'hostgroup'])
 option: Str('users*')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automember_remove_condition/1
 args: 1,8,5
@@ -222,22 +222,22 @@ option: Str('automemberinclusiveregex*', alwaysask=True, cli_name='inclusive_reg
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('key')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automember_show/1
 args: 1,4,3
 arg: Str('cn', cli_name='automember_rule')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('type', values=[u'group', u'hostgroup'])
+option: StrEnum('type', values=['group', 'hostgroup'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountkey_add/1
 args: 2,7,3
@@ -251,7 +251,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountkey_del/1
 args: 2,4,3
@@ -261,8 +261,8 @@ option: IA5Str('automountinformation?', cli_name='info')
 option: IA5Str('automountkey', cli_name='key')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: automountkey_find/1
 args: 3,7,4
@@ -276,10 +276,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: automountkey_mod/1
 args: 2,11,3
 arg: Str('automountlocationcn', cli_name='automountlocation')
@@ -296,7 +296,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountkey_show/1
 args: 2,6,3
@@ -309,7 +309,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountlocation_add/1
 args: 1,5,3
@@ -320,15 +320,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountlocation_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='location')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: automountlocation_find/1
 args: 1,7,4
@@ -340,10 +340,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: automountlocation_show/1
 args: 1,4,3
 arg: Str('cn', cli_name='location')
@@ -352,7 +352,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountlocation_tofiles/1
 args: 1,1,1
@@ -370,7 +370,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountmap_add_indirect/1
 args: 2,8,3
@@ -380,12 +380,12 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
 option: Str('key', cli_name='mount')
-option: Str('parentmap?', autofill=True, cli_name='parentmap', default=u'auto.master')
+option: Str('parentmap?', autofill=True, cli_name='parentmap', default='auto.master')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountmap_del/1
 args: 2,2,3
@@ -393,8 +393,8 @@ arg: Str('automountlocationcn', cli_name='automountlocation')
 arg: IA5Str('automountmapname+', cli_name='map')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: automountmap_find/1
 args: 2,8,4
@@ -408,10 +408,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: automountmap_mod/1
 args: 2,8,3
 arg: Str('automountlocationcn', cli_name='automountlocation')
@@ -425,7 +425,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: automountmap_show/1
 args: 2,4,3
@@ -436,14 +436,14 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: batch/1
 args: 1,1,2
 arg: Dict('methods*')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
-output: Output('results', type=[<type 'list'>, <type 'tuple'>])
+output: Output('count', type=[<class 'int'>])
+output: Output('results', type=[<class 'list'>, <class 'tuple'>])
 command: ca_add/1
 args: 1,8,3
 arg: Str('cn', cli_name='name')
@@ -456,29 +456,29 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: ca_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: ca_disable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: ca_enable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: ca_find/1
 args: 1,11,4
@@ -494,15 +494,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: ca_is_enabled/1
 args: 0,1,3
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: ca_mod/1
 args: 1,9,3
@@ -517,7 +517,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: ca_show/1
 args: 1,5,3
@@ -528,7 +528,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: caacl_add/1
 args: 1,13,3
@@ -536,18 +536,18 @@ arg: Str('cn', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
-option: StrEnum('hostcategory?', cli_name='hostcat', values=[u'all'])
-option: StrEnum('ipacacategory?', cli_name='cacat', values=[u'all'])
-option: StrEnum('ipacertprofilecategory?', cli_name='profilecat', values=[u'all'])
+option: StrEnum('hostcategory?', cli_name='hostcat', values=['all'])
+option: StrEnum('ipacacategory?', cli_name='cacat', values=['all'])
+option: StrEnum('ipacertprofilecategory?', cli_name='profilecat', values=['all'])
 option: Bool('ipaenabledflag?')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('servicecategory?', cli_name='servicecat', values=[u'all'])
+option: StrEnum('servicecategory?', cli_name='servicecat', values=['all'])
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('usercategory?', cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: caacl_add_ca/1
 args: 1,5,3
@@ -557,8 +557,8 @@ option: Str('ca*', alwaysask=True, cli_name='cas')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_add_host/1
 args: 1,6,3
@@ -569,8 +569,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_add_profile/1
 args: 1,5,3
@@ -580,8 +580,8 @@ option: Str('certprofile*', alwaysask=True, cli_name='certprofiles')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_add_service/1
 args: 1,5,3
@@ -591,8 +591,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('service*', alwaysask=True, cli_name='services')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_add_user/1
 args: 1,6,3
@@ -603,30 +603,30 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: caacl_disable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: caacl_enable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: caacl_find/1
 args: 1,15,4
@@ -634,22 +634,22 @@ arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('cn?', autofill=False, cli_name='name')
 option: Str('description?', autofill=False, cli_name='desc')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
-option: StrEnum('ipacacategory?', autofill=False, cli_name='cacat', values=[u'all'])
-option: StrEnum('ipacertprofilecategory?', autofill=False, cli_name='profilecat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
+option: StrEnum('ipacacategory?', autofill=False, cli_name='cacat', values=['all'])
+option: StrEnum('ipacertprofilecategory?', autofill=False, cli_name='profilecat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Flag('no_members', autofill=True, default=True)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=[u'all'])
+option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=['all'])
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: caacl_mod/1
 args: 1,15,3
 arg: Str('cn', cli_name='name')
@@ -657,19 +657,19 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('description?', autofill=False, cli_name='desc')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
-option: StrEnum('ipacacategory?', autofill=False, cli_name='cacat', values=[u'all'])
-option: StrEnum('ipacertprofilecategory?', autofill=False, cli_name='profilecat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
+option: StrEnum('ipacacategory?', autofill=False, cli_name='cacat', values=['all'])
+option: StrEnum('ipacertprofilecategory?', autofill=False, cli_name='profilecat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
-option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=[u'all'])
+option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=['all'])
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: caacl_remove_ca/1
 args: 1,5,3
@@ -679,8 +679,8 @@ option: Str('ca*', alwaysask=True, cli_name='cas')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_remove_host/1
 args: 1,6,3
@@ -691,8 +691,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_remove_profile/1
 args: 1,5,3
@@ -702,8 +702,8 @@ option: Str('certprofile*', alwaysask=True, cli_name='certprofiles')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_remove_service/1
 args: 1,5,3
@@ -713,8 +713,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('service*', alwaysask=True, cli_name='services')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_remove_user/1
 args: 1,6,3
@@ -725,8 +725,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: caacl_show/1
 args: 1,5,3
@@ -737,7 +737,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: cert_find/1
 args: 1,29,4
@@ -771,14 +771,14 @@ option: DateTime('validnotafter_to?', autofill=False)
 option: DateTime('validnotbefore_from?', autofill=False)
 option: DateTime('validnotbefore_to?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: cert_remove_hold/1
 args: 1,2,1
 arg: Int('serial_number')
-option: Str('cacn?', autofill=True, cli_name='ca', default=u'ipa')
+option: Str('cacn?', autofill=True, cli_name='ca', default='ipa')
 option: Str('version?')
 output: Output('result')
 command: cert_request/1
@@ -786,20 +786,20 @@ args: 1,9,3
 arg: Str('csr', cli_name='csr_file')
 option: Flag('add', autofill=True, default=False)
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: Str('cacn?', autofill=True, cli_name='ca', default=u'ipa')
+option: Str('cacn?', autofill=True, cli_name='ca', default='ipa')
 option: Flag('chain', autofill=True, default=False)
 option: Principal('principal')
 option: Str('profile_id?')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: Str('request_type', autofill=True, default=u'pkcs10')
+option: Str('request_type', autofill=True, default='pkcs10')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: cert_revoke/1
 args: 1,3,1
 arg: Int('serial_number')
-option: Str('cacn?', autofill=True, cli_name='ca', default=u'ipa')
+option: Str('cacn?', autofill=True, cli_name='ca', default='ipa')
 option: Int('revocation_reason', autofill=True, default=0)
 option: Str('version?')
 output: Output('result')
@@ -807,24 +807,24 @@ command: cert_show/1
 args: 1,7,3
 arg: Int('serial_number')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: Str('cacn?', autofill=True, cli_name='ca', default=u'ipa')
+option: Str('cacn?', autofill=True, cli_name='ca', default='ipa')
 option: Flag('chain', autofill=True, default=False)
 option: Flag('no_members', autofill=True, default=False)
 option: Str('out?')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: cert_status/1
 args: 1,4,3
 arg: Int('request_id')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: Str('cacn?', autofill=True, cli_name='ca', default=u'ipa')
+option: Str('cacn?', autofill=True, cli_name='ca', default='ipa')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmap_match/1
 args: 1,3,4
@@ -832,10 +832,10 @@ arg: Certificate('certificate', cli_name='certificate')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: certmapconfig_mod/1
 args: 0,8,3
 option: Str('addattr*', cli_name='addattr')
@@ -847,7 +847,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmapconfig_show/1
 args: 0,4,3
@@ -856,7 +856,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmaprule_add/1
 args: 1,11,3
@@ -873,29 +873,29 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmaprule_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='rulename')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: certmaprule_disable/1
 args: 1,1,3
 arg: Str('cn', cli_name='rulename')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmaprule_enable/1
 args: 1,1,3
 arg: Str('cn', cli_name='rulename')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmaprule_find/1
 args: 1,13,4
@@ -913,10 +913,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: certmaprule_mod/1
 args: 1,13,3
 arg: Str('cn', cli_name='rulename')
@@ -934,7 +934,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certmaprule_show/1
 args: 1,4,3
@@ -944,15 +944,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certprofile_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='id')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: certprofile_find/1
 args: 1,9,4
@@ -966,10 +966,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: certprofile_import/1
 args: 1,6,3
 arg: Str('cn', cli_name='id')
@@ -980,7 +980,7 @@ option: Bool('ipacertprofilestoreissued', cli_name='store', default=True)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certprofile_mod/1
 args: 1,10,3
@@ -996,7 +996,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: certprofile_show/1
 args: 1,5,3
@@ -1007,7 +1007,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: class_find/1
 args: 1,4,4
@@ -1016,10 +1016,10 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: class_show/1
 args: 1,3,3
 arg: Str('full_name')
@@ -1027,7 +1027,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: command_defaults/1
 args: 1,3,1
@@ -1043,10 +1043,10 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: command_show/1
 args: 1,3,3
 arg: Str('full_name')
@@ -1054,7 +1054,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: compat_is_enabled/1
 args: 0,1,1
@@ -1066,7 +1066,7 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('ca_renewal_master_server?', autofill=False)
 option: Str('delattr*', cli_name='delattr')
-option: StrEnum('ipaconfigstring*', autofill=False, cli_name='ipaconfigstring', values=[u'AllowNThash', u'KDC:Disable Last Success', u'KDC:Disable Lockout', u'KDC:Disable Default Preauth for SPNs'])
+option: StrEnum('ipaconfigstring*', autofill=False, cli_name='ipaconfigstring', values=['AllowNThash', 'KDC:Disable Last Success', 'KDC:Disable Lockout', 'KDC:Disable Default Preauth for SPNs'])
 option: Str('ipadefaultemaildomain?', autofill=False, cli_name='emaildomain')
 option: Str('ipadefaultloginshell?', autofill=False, cli_name='defaultshell')
 option: Str('ipadefaultprimarygroup?', autofill=False, cli_name='defaultgroup')
@@ -1074,7 +1074,7 @@ option: Str('ipadomainresolutionorder?', autofill=False, cli_name='domain_resolu
 option: Str('ipagroupobjectclasses*', autofill=False, cli_name='groupobjectclasses')
 option: IA5Str('ipagroupsearchfields?', autofill=False, cli_name='groupsearch')
 option: IA5Str('ipahomesrootdir?', autofill=False, cli_name='homedirectory')
-option: StrEnum('ipakrbauthzdata*', autofill=False, cli_name='pac_type', values=[u'MS-PAC', u'PAD', u'nfs:NONE'])
+option: StrEnum('ipakrbauthzdata*', autofill=False, cli_name='pac_type', values=['MS-PAC', 'PAD', 'nfs:NONE'])
 option: Int('ipamaxusernamelength?', autofill=False, cli_name='maxusername')
 option: Bool('ipamigrationenabled?', autofill=False, cli_name='enable_migration')
 option: Int('ipapwdexpadvnotify?', autofill=False, cli_name='pwdexpnotify')
@@ -1082,7 +1082,7 @@ option: Int('ipasearchrecordslimit?', autofill=False, cli_name='searchrecordslim
 option: Int('ipasearchtimelimit?', autofill=False, cli_name='searchtimelimit')
 option: Str('ipaselinuxusermapdefault?', autofill=False)
 option: Str('ipaselinuxusermaporder?', autofill=False)
-option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=[u'password', u'radius', u'otp', u'disabled'])
+option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=['password', 'radius', 'otp', 'disabled'])
 option: Str('ipauserobjectclasses*', autofill=False, cli_name='userobjectclasses')
 option: IA5Str('ipausersearchfields?', autofill=False, cli_name='usersearch')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
@@ -1090,7 +1090,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: config_show/1
 args: 0,4,3
@@ -1099,7 +1099,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: cosentry_add/1
 args: 1,7,3
@@ -1112,15 +1112,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: cosentry_del/1
 args: 1,2,3
 arg: Str('cn+')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: cosentry_find/1
 args: 1,9,4
@@ -1134,10 +1134,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: cosentry_mod/1
 args: 1,9,3
 arg: Str('cn')
@@ -1151,7 +1151,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: cosentry_show/1
 args: 1,4,3
@@ -1161,7 +1161,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: delegation_add/1
 args: 1,7,3
@@ -1174,14 +1174,14 @@ option: Str('permissions*', cli_name='permissions')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: delegation_del/1
 args: 1,1,3
 arg: Str('aciname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: delegation_find/1
 args: 1,9,4
@@ -1195,10 +1195,10 @@ option: Str('permissions*', autofill=False, cli_name='permissions')
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: delegation_mod/1
 args: 1,7,3
 arg: Str('aciname', cli_name='name')
@@ -1210,7 +1210,7 @@ option: Str('permissions*', autofill=False, cli_name='permissions')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: delegation_show/1
 args: 1,3,3
@@ -1219,21 +1219,21 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dns_is_enabled/1
 args: 0,1,3
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dns_resolve/1
 args: 1,1,3
 arg: Str('hostname')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: dns_update_system_records/1
 args: 0,4,2
 option: Flag('all', autofill=True, cli_name='all', default=False)
@@ -1241,7 +1241,7 @@ option: Flag('dry_run', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('value', type=[<type 'bool'>])
+output: Output('value', type=[<class 'bool'>])
 command: dnsconfig_mod/1
 args: 0,11,3
 option: Str('addattr*', cli_name='addattr')
@@ -1249,14 +1249,14 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Bool('idnsallowsyncptr?', autofill=False, cli_name='allow_sync_ptr')
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: Int('idnszonerefresh?', autofill=False, cli_name='zone_refresh', deprecated=True)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsconfig_show/1
 args: 0,4,3
@@ -1265,7 +1265,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsforwardzone_add/1
 args: 1,9,3
@@ -1273,50 +1273,50 @@ arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('idnsforwarders*', cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', cli_name='forward_policy', values=['only', 'first', 'none'])
 option: Str('name_from_ip?')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Flag('skip_overlap_check', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsforwardzone_add_permission/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: dnsforwardzone_del/1
 args: 1,2,3
 arg: DNSNameParam('idnsname+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: dnsforwardzone_disable/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsforwardzone_enable/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsforwardzone_find/1
 args: 1,11,4
 arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: DNSNameParam('idnsname?', autofill=False, cli_name='name')
 option: Bool('idnszoneactive?', autofill=False, cli_name='zone_active')
 option: Str('name_from_ip?', autofill=False)
@@ -1325,10 +1325,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: dnsforwardzone_mod/1
 args: 1,10,3
 arg: DNSNameParam('idnsname', cli_name='name')
@@ -1336,22 +1336,22 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: Str('name_from_ip?', autofill=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsforwardzone_remove_permission/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: dnsforwardzone_show/1
 args: 1,4,3
 arg: DNSNameParam('idnsname', cli_name='name')
@@ -1360,113 +1360,113 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsrecord_add/1
 args: 2,99,3
 arg: DNSNameParam('dnszoneidnsname', cli_name='dnszone')
 arg: DNSNameParam('idnsname', cli_name='name')
-option: Str('a6_part_data?', cli_name='a6_data', option_group=u'A6 Record')
-option: A6Record('a6record*', cli_name='a6_rec', option_group=u'A6 Record')
-option: Flag('a_extra_create_reverse?', autofill=True, cli_name='a_create_reverse', default=False, option_group=u'A Record')
-option: Str('a_part_ip_address?', cli_name='a_ip_address', option_group=u'A Record')
-option: Flag('aaaa_extra_create_reverse?', autofill=True, cli_name='aaaa_create_reverse', default=False, option_group=u'AAAA Record')
-option: Str('aaaa_part_ip_address?', cli_name='aaaa_ip_address', option_group=u'AAAA Record')
-option: AAAARecord('aaaarecord*', cli_name='aaaa_rec', option_group=u'AAAA Record')
+option: Str('a6_part_data?', cli_name='a6_data', option_group='A6 Record')
+option: A6Record('a6record*', cli_name='a6_rec', option_group='A6 Record')
+option: Flag('a_extra_create_reverse?', autofill=True, cli_name='a_create_reverse', default=False, option_group='A Record')
+option: Str('a_part_ip_address?', cli_name='a_ip_address', option_group='A Record')
+option: Flag('aaaa_extra_create_reverse?', autofill=True, cli_name='aaaa_create_reverse', default=False, option_group='AAAA Record')
+option: Str('aaaa_part_ip_address?', cli_name='aaaa_ip_address', option_group='AAAA Record')
+option: AAAARecord('aaaarecord*', cli_name='aaaa_rec', option_group='AAAA Record')
 option: Str('addattr*', cli_name='addattr')
-option: DNSNameParam('afsdb_part_hostname?', cli_name='afsdb_hostname', option_group=u'AFSDB Record')
-option: Int('afsdb_part_subtype?', cli_name='afsdb_subtype', option_group=u'AFSDB Record')
-option: AFSDBRecord('afsdbrecord*', cli_name='afsdb_rec', option_group=u'AFSDB Record')
-option: Flag('all', autofill=True, cli_name='all', default=False)
-option: APLRecord('aplrecord*', cli_name='apl_rec', option_group=u'APL Record')
-option: ARecord('arecord*', cli_name='a_rec', option_group=u'A Record')
-option: Int('cert_part_algorithm?', cli_name='cert_algorithm', option_group=u'CERT Record')
-option: Str('cert_part_certificate_or_crl?', cli_name='cert_certificate_or_crl', option_group=u'CERT Record')
-option: Int('cert_part_key_tag?', cli_name='cert_key_tag', option_group=u'CERT Record')
-option: Int('cert_part_type?', cli_name='cert_type', option_group=u'CERT Record')
-option: CERTRecord('certrecord*', cli_name='cert_rec', option_group=u'CERT Record')
-option: DNSNameParam('cname_part_hostname?', cli_name='cname_hostname', option_group=u'CNAME Record')
-option: CNAMERecord('cnamerecord*', cli_name='cname_rec', option_group=u'CNAME Record')
-option: DHCIDRecord('dhcidrecord*', cli_name='dhcid_rec', option_group=u'DHCID Record')
-option: Int('dlv_part_algorithm?', cli_name='dlv_algorithm', option_group=u'DLV Record')
-option: Str('dlv_part_digest?', cli_name='dlv_digest', option_group=u'DLV Record')
-option: Int('dlv_part_digest_type?', cli_name='dlv_digest_type', option_group=u'DLV Record')
-option: Int('dlv_part_key_tag?', cli_name='dlv_key_tag', option_group=u'DLV Record')
-option: DLVRecord('dlvrecord*', cli_name='dlv_rec', option_group=u'DLV Record')
-option: DNSNameParam('dname_part_target?', cli_name='dname_target', option_group=u'DNAME Record')
-option: DNAMERecord('dnamerecord*', cli_name='dname_rec', option_group=u'DNAME Record')
-option: StrEnum('dnsclass?', cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: DNSNameParam('afsdb_part_hostname?', cli_name='afsdb_hostname', option_group='AFSDB Record')
+option: Int('afsdb_part_subtype?', cli_name='afsdb_subtype', option_group='AFSDB Record')
+option: AFSDBRecord('afsdbrecord*', cli_name='afsdb_rec', option_group='AFSDB Record')
+option: Flag('all', autofill=True, cli_name='all', default=False)
+option: APLRecord('aplrecord*', cli_name='apl_rec', option_group='APL Record')
+option: ARecord('arecord*', cli_name='a_rec', option_group='A Record')
+option: Int('cert_part_algorithm?', cli_name='cert_algorithm', option_group='CERT Record')
+option: Str('cert_part_certificate_or_crl?', cli_name='cert_certificate_or_crl', option_group='CERT Record')
+option: Int('cert_part_key_tag?', cli_name='cert_key_tag', option_group='CERT Record')
+option: Int('cert_part_type?', cli_name='cert_type', option_group='CERT Record')
+option: CERTRecord('certrecord*', cli_name='cert_rec', option_group='CERT Record')
+option: DNSNameParam('cname_part_hostname?', cli_name='cname_hostname', option_group='CNAME Record')
+option: CNAMERecord('cnamerecord*', cli_name='cname_rec', option_group='CNAME Record')
+option: DHCIDRecord('dhcidrecord*', cli_name='dhcid_rec', option_group='DHCID Record')
+option: Int('dlv_part_algorithm?', cli_name='dlv_algorithm', option_group='DLV Record')
+option: Str('dlv_part_digest?', cli_name='dlv_digest', option_group='DLV Record')
+option: Int('dlv_part_digest_type?', cli_name='dlv_digest_type', option_group='DLV Record')
+option: Int('dlv_part_key_tag?', cli_name='dlv_key_tag', option_group='DLV Record')
+option: DLVRecord('dlvrecord*', cli_name='dlv_rec', option_group='DLV Record')
+option: DNSNameParam('dname_part_target?', cli_name='dname_target', option_group='DNAME Record')
+option: DNAMERecord('dnamerecord*', cli_name='dname_rec', option_group='DNAME Record')
+option: StrEnum('dnsclass?', cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsttl?', cli_name='ttl')
-option: Int('ds_part_algorithm?', cli_name='ds_algorithm', option_group=u'DS Record')
-option: Str('ds_part_digest?', cli_name='ds_digest', option_group=u'DS Record')
-option: Int('ds_part_digest_type?', cli_name='ds_digest_type', option_group=u'DS Record')
-option: Int('ds_part_key_tag?', cli_name='ds_key_tag', option_group=u'DS Record')
-option: DSRecord('dsrecord*', cli_name='ds_rec', option_group=u'DS Record')
+option: Int('ds_part_algorithm?', cli_name='ds_algorithm', option_group='DS Record')
+option: Str('ds_part_digest?', cli_name='ds_digest', option_group='DS Record')
+option: Int('ds_part_digest_type?', cli_name='ds_digest_type', option_group='DS Record')
+option: Int('ds_part_key_tag?', cli_name='ds_key_tag', option_group='DS Record')
+option: DSRecord('dsrecord*', cli_name='ds_rec', option_group='DS Record')
 option: Flag('force', autofill=True, default=False)
-option: HIPRecord('hiprecord*', cli_name='hip_rec', option_group=u'HIP Record')
-option: IPSECKEYRecord('ipseckeyrecord*', cli_name='ipseckey_rec', option_group=u'IPSECKEY Record')
-option: KEYRecord('keyrecord*', cli_name='key_rec', option_group=u'KEY Record')
-option: DNSNameParam('kx_part_exchanger?', cli_name='kx_exchanger', option_group=u'KX Record')
-option: Int('kx_part_preference?', cli_name='kx_preference', option_group=u'KX Record')
-option: KXRecord('kxrecord*', cli_name='kx_rec', option_group=u'KX Record')
-option: Decimal('loc_part_altitude?', cli_name='loc_altitude', option_group=u'LOC Record')
-option: Decimal('loc_part_h_precision?', cli_name='loc_h_precision', option_group=u'LOC Record')
-option: Int('loc_part_lat_deg?', cli_name='loc_lat_deg', option_group=u'LOC Record')
-option: StrEnum('loc_part_lat_dir?', cli_name='loc_lat_dir', option_group=u'LOC Record', values=[u'N', u'S'])
-option: Int('loc_part_lat_min?', cli_name='loc_lat_min', option_group=u'LOC Record')
-option: Decimal('loc_part_lat_sec?', cli_name='loc_lat_sec', option_group=u'LOC Record')
-option: Int('loc_part_lon_deg?', cli_name='loc_lon_deg', option_group=u'LOC Record')
-option: StrEnum('loc_part_lon_dir?', cli_name='loc_lon_dir', option_group=u'LOC Record', values=[u'E', u'W'])
-option: Int('loc_part_lon_min?', cli_name='loc_lon_min', option_group=u'LOC Record')
-option: Decimal('loc_part_lon_sec?', cli_name='loc_lon_sec', option_group=u'LOC Record')
-option: Decimal('loc_part_size?', cli_name='loc_size', option_group=u'LOC Record')
-option: Decimal('loc_part_v_precision?', cli_name='loc_v_precision', option_group=u'LOC Record')
-option: LOCRecord('locrecord*', cli_name='loc_rec', option_group=u'LOC Record')
-option: DNSNameParam('mx_part_exchanger?', cli_name='mx_exchanger', option_group=u'MX Record')
-option: Int('mx_part_preference?', cli_name='mx_preference', option_group=u'MX Record')
-option: MXRecord('mxrecord*', cli_name='mx_rec', option_group=u'MX Record')
-option: Str('naptr_part_flags?', cli_name='naptr_flags', option_group=u'NAPTR Record')
-option: Int('naptr_part_order?', cli_name='naptr_order', option_group=u'NAPTR Record')
-option: Int('naptr_part_preference?', cli_name='naptr_preference', option_group=u'NAPTR Record')
-option: Str('naptr_part_regexp?', cli_name='naptr_regexp', option_group=u'NAPTR Record')
-option: Str('naptr_part_replacement?', cli_name='naptr_replacement', option_group=u'NAPTR Record')
-option: Str('naptr_part_service?', cli_name='naptr_service', option_group=u'NAPTR Record')
-option: NAPTRRecord('naptrrecord*', cli_name='naptr_rec', option_group=u'NAPTR Record')
-option: DNSNameParam('ns_part_hostname?', cli_name='ns_hostname', option_group=u'NS Record')
-option: NSECRecord('nsecrecord*', cli_name='nsec_rec', option_group=u'NSEC Record')
-option: NSRecord('nsrecord*', cli_name='ns_rec', option_group=u'NS Record')
-option: DNSNameParam('ptr_part_hostname?', cli_name='ptr_hostname', option_group=u'PTR Record')
-option: PTRRecord('ptrrecord*', cli_name='ptr_rec', option_group=u'PTR Record')
-option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: RPRecord('rprecord*', cli_name='rp_rec', option_group=u'RP Record')
-option: RRSIGRecord('rrsigrecord*', cli_name='rrsig_rec', option_group=u'RRSIG Record')
+option: HIPRecord('hiprecord*', cli_name='hip_rec', option_group='HIP Record')
+option: IPSECKEYRecord('ipseckeyrecord*', cli_name='ipseckey_rec', option_group='IPSECKEY Record')
+option: KEYRecord('keyrecord*', cli_name='key_rec', option_group='KEY Record')
+option: DNSNameParam('kx_part_exchanger?', cli_name='kx_exchanger', option_group='KX Record')
+option: Int('kx_part_preference?', cli_name='kx_preference', option_group='KX Record')
+option: KXRecord('kxrecord*', cli_name='kx_rec', option_group='KX Record')
+option: Decimal('loc_part_altitude?', cli_name='loc_altitude', option_group='LOC Record')
+option: Decimal('loc_part_h_precision?', cli_name='loc_h_precision', option_group='LOC Record')
+option: Int('loc_part_lat_deg?', cli_name='loc_lat_deg', option_group='LOC Record')
+option: StrEnum('loc_part_lat_dir?', cli_name='loc_lat_dir', option_group='LOC Record', values=['N', 'S'])
+option: Int('loc_part_lat_min?', cli_name='loc_lat_min', option_group='LOC Record')
+option: Decimal('loc_part_lat_sec?', cli_name='loc_lat_sec', option_group='LOC Record')
+option: Int('loc_part_lon_deg?', cli_name='loc_lon_deg', option_group='LOC Record')
+option: StrEnum('loc_part_lon_dir?', cli_name='loc_lon_dir', option_group='LOC Record', values=['E', 'W'])
+option: Int('loc_part_lon_min?', cli_name='loc_lon_min', option_group='LOC Record')
+option: Decimal('loc_part_lon_sec?', cli_name='loc_lon_sec', option_group='LOC Record')
+option: Decimal('loc_part_size?', cli_name='loc_size', option_group='LOC Record')
+option: Decimal('loc_part_v_precision?', cli_name='loc_v_precision', option_group='LOC Record')
+option: LOCRecord('locrecord*', cli_name='loc_rec', option_group='LOC Record')
+option: DNSNameParam('mx_part_exchanger?', cli_name='mx_exchanger', option_group='MX Record')
+option: Int('mx_part_preference?', cli_name='mx_preference', option_group='MX Record')
+option: MXRecord('mxrecord*', cli_name='mx_rec', option_group='MX Record')
+option: Str('naptr_part_flags?', cli_name='naptr_flags', option_group='NAPTR Record')
+option: Int('naptr_part_order?', cli_name='naptr_order', option_group='NAPTR Record')
+option: Int('naptr_part_preference?', cli_name='naptr_preference', option_group='NAPTR Record')
+option: Str('naptr_part_regexp?', cli_name='naptr_regexp', option_group='NAPTR Record')
+option: Str('naptr_part_replacement?', cli_name='naptr_replacement', option_group='NAPTR Record')
+option: Str('naptr_part_service?', cli_name='naptr_service', option_group='NAPTR Record')
+option: NAPTRRecord('naptrrecord*', cli_name='naptr_rec', option_group='NAPTR Record')
+option: DNSNameParam('ns_part_hostname?', cli_name='ns_hostname', option_group='NS Record')
+option: NSECRecord('nsecrecord*', cli_name='nsec_rec', option_group='NSEC Record')
+option: NSRecord('nsrecord*', cli_name='ns_rec', option_group='NS Record')
+option: DNSNameParam('ptr_part_hostname?', cli_name='ptr_hostname', option_group='PTR Record')
+option: PTRRecord('ptrrecord*', cli_name='ptr_rec', option_group='PTR Record')
+option: Flag('raw', autofill=True, cli_name='raw', default=False)
+option: RPRecord('rprecord*', cli_name='rp_rec', option_group='RP Record')
+option: RRSIGRecord('rrsigrecord*', cli_name='rrsig_rec', option_group='RRSIG Record')
 option: Str('setattr*', cli_name='setattr')
-option: SIGRecord('sigrecord*', cli_name='sig_rec', option_group=u'SIG Record')
-option: SPFRecord('spfrecord*', cli_name='spf_rec', option_group=u'SPF Record')
-option: Int('srv_part_port?', cli_name='srv_port', option_group=u'SRV Record')
-option: Int('srv_part_priority?', cli_name='srv_priority', option_group=u'SRV Record')
-option: DNSNameParam('srv_part_target?', cli_name='srv_target', option_group=u'SRV Record')
-option: Int('srv_part_weight?', cli_name='srv_weight', option_group=u'SRV Record')
-option: SRVRecord('srvrecord*', cli_name='srv_rec', option_group=u'SRV Record')
-option: Int('sshfp_part_algorithm?', cli_name='sshfp_algorithm', option_group=u'SSHFP Record')
-option: Str('sshfp_part_fingerprint?', cli_name='sshfp_fingerprint', option_group=u'SSHFP Record')
-option: Int('sshfp_part_fp_type?', cli_name='sshfp_fp_type', option_group=u'SSHFP Record')
-option: SSHFPRecord('sshfprecord*', cli_name='sshfp_rec', option_group=u'SSHFP Record')
+option: SIGRecord('sigrecord*', cli_name='sig_rec', option_group='SIG Record')
+option: SPFRecord('spfrecord*', cli_name='spf_rec', option_group='SPF Record')
+option: Int('srv_part_port?', cli_name='srv_port', option_group='SRV Record')
+option: Int('srv_part_priority?', cli_name='srv_priority', option_group='SRV Record')
+option: DNSNameParam('srv_part_target?', cli_name='srv_target', option_group='SRV Record')
+option: Int('srv_part_weight?', cli_name='srv_weight', option_group='SRV Record')
+option: SRVRecord('srvrecord*', cli_name='srv_rec', option_group='SRV Record')
+option: Int('sshfp_part_algorithm?', cli_name='sshfp_algorithm', option_group='SSHFP Record')
+option: Str('sshfp_part_fingerprint?', cli_name='sshfp_fingerprint', option_group='SSHFP Record')
+option: Int('sshfp_part_fp_type?', cli_name='sshfp_fp_type', option_group='SSHFP Record')
+option: SSHFPRecord('sshfprecord*', cli_name='sshfp_rec', option_group='SSHFP Record')
 option: Flag('structured', autofill=True, default=False)
-option: Str('tlsa_part_cert_association_data?', cli_name='tlsa_cert_association_data', option_group=u'TLSA Record')
-option: Int('tlsa_part_cert_usage?', cli_name='tlsa_cert_usage', option_group=u'TLSA Record')
-option: Int('tlsa_part_matching_type?', cli_name='tlsa_matching_type', option_group=u'TLSA Record')
-option: Int('tlsa_part_selector?', cli_name='tlsa_selector', option_group=u'TLSA Record')
-option: TLSARecord('tlsarecord*', cli_name='tlsa_rec', option_group=u'TLSA Record')
-option: Str('txt_part_data?', cli_name='txt_data', option_group=u'TXT Record')
-option: TXTRecord('txtrecord*', cli_name='txt_rec', option_group=u'TXT Record')
-option: Int('uri_part_priority?', cli_name='uri_priority', option_group=u'URI Record')
-option: Str('uri_part_target?', cli_name='uri_target', option_group=u'URI Record')
-option: Int('uri_part_weight?', cli_name='uri_weight', option_group=u'URI Record')
-option: URIRecord('urirecord*', cli_name='uri_rec', option_group=u'URI Record')
+option: Str('tlsa_part_cert_association_data?', cli_name='tlsa_cert_association_data', option_group='TLSA Record')
+option: Int('tlsa_part_cert_usage?', cli_name='tlsa_cert_usage', option_group='TLSA Record')
+option: Int('tlsa_part_matching_type?', cli_name='tlsa_matching_type', option_group='TLSA Record')
+option: Int('tlsa_part_selector?', cli_name='tlsa_selector', option_group='TLSA Record')
+option: TLSARecord('tlsarecord*', cli_name='tlsa_rec', option_group='TLSA Record')
+option: Str('txt_part_data?', cli_name='txt_data', option_group='TXT Record')
+option: TXTRecord('txtrecord*', cli_name='txt_rec', option_group='TXT Record')
+option: Int('uri_part_priority?', cli_name='uri_priority', option_group='URI Record')
+option: Str('uri_part_target?', cli_name='uri_target', option_group='URI Record')
+option: Int('uri_part_weight?', cli_name='uri_weight', option_group='URI Record')
+option: URIRecord('urirecord*', cli_name='uri_rec', option_group='URI Record')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsrecord_del/1
 args: 2,36,3
@@ -1483,7 +1483,7 @@ option: Flag('del_all', autofill=True, default=False)
 option: DHCIDRecord('dhcidrecord*', autofill=False, cli_name='dhcid_rec')
 option: DLVRecord('dlvrecord*', autofill=False, cli_name='dlv_rec')
 option: DNAMERecord('dnamerecord*', autofill=False, cli_name='dname_rec')
-option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsttl?', autofill=False, cli_name='ttl')
 option: DSRecord('dsrecord*', autofill=False, cli_name='ds_rec')
 option: HIPRecord('hiprecord*', autofill=False, cli_name='hip_rec')
@@ -1508,8 +1508,8 @@ option: TLSARecord('tlsarecord*', autofill=False, cli_name='tlsa_rec')
 option: TXTRecord('txtrecord*', autofill=False, cli_name='txt_rec')
 option: URIRecord('urirecord*', autofill=False, cli_name='uri_rec')
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: dnsrecord_delentry/1
 args: 2,2,3
@@ -1517,8 +1517,8 @@ arg: DNSNameParam('dnszoneidnsname', cli_name='dnszone')
 arg: DNSNameParam('idnsname+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: dnsrecord_find/1
 args: 2,40,4
@@ -1535,7 +1535,7 @@ option: CNAMERecord('cnamerecord*', autofill=False, cli_name='cname_rec')
 option: DHCIDRecord('dhcidrecord*', autofill=False, cli_name='dhcid_rec')
 option: DLVRecord('dlvrecord*', autofill=False, cli_name='dlv_rec')
 option: DNAMERecord('dnamerecord*', autofill=False, cli_name='dname_rec')
-option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsttl?', autofill=False, cli_name='ttl')
 option: DSRecord('dsrecord*', autofill=False, cli_name='ds_rec')
 option: HIPRecord('hiprecord*', autofill=False, cli_name='hip_rec')
@@ -1564,115 +1564,115 @@ option: TLSARecord('tlsarecord*', autofill=False, cli_name='tlsa_rec')
 option: TXTRecord('txtrecord*', autofill=False, cli_name='txt_rec')
 option: URIRecord('urirecord*', autofill=False, cli_name='uri_rec')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: dnsrecord_mod/1
 args: 2,99,3
 arg: DNSNameParam('dnszoneidnsname', cli_name='dnszone')
 arg: DNSNameParam('idnsname', cli_name='name')
-option: Str('a6_part_data?', autofill=False, cli_name='a6_data', option_group=u'A6 Record')
-option: A6Record('a6record*', autofill=False, cli_name='a6_rec', option_group=u'A6 Record')
-option: Str('a_part_ip_address?', autofill=False, cli_name='a_ip_address', option_group=u'A Record')
-option: Str('aaaa_part_ip_address?', autofill=False, cli_name='aaaa_ip_address', option_group=u'AAAA Record')
-option: AAAARecord('aaaarecord*', autofill=False, cli_name='aaaa_rec', option_group=u'AAAA Record')
+option: Str('a6_part_data?', autofill=False, cli_name='a6_data', option_group='A6 Record')
+option: A6Record('a6record*', autofill=False, cli_name='a6_rec', option_group='A6 Record')
+option: Str('a_part_ip_address?', autofill=False, cli_name='a_ip_address', option_group='A Record')
+option: Str('aaaa_part_ip_address?', autofill=False, cli_name='aaaa_ip_address', option_group='AAAA Record')
+option: AAAARecord('aaaarecord*', autofill=False, cli_name='aaaa_rec', option_group='AAAA Record')
 option: Str('addattr*', cli_name='addattr')
-option: DNSNameParam('afsdb_part_hostname?', autofill=False, cli_name='afsdb_hostname', option_group=u'AFSDB Record')
-option: Int('afsdb_part_subtype?', autofill=False, cli_name='afsdb_subtype', option_group=u'AFSDB Record')
-option: AFSDBRecord('afsdbrecord*', autofill=False, cli_name='afsdb_rec', option_group=u'AFSDB Record')
-option: Flag('all', autofill=True, cli_name='all', default=False)
-option: APLRecord('aplrecord*', autofill=False, cli_name='apl_rec', option_group=u'APL Record')
-option: ARecord('arecord*', autofill=False, cli_name='a_rec', option_group=u'A Record')
-option: Int('cert_part_algorithm?', autofill=False, cli_name='cert_algorithm', option_group=u'CERT Record')
-option: Str('cert_part_certificate_or_crl?', autofill=False, cli_name='cert_certificate_or_crl', option_group=u'CERT Record')
-option: Int('cert_part_key_tag?', autofill=False, cli_name='cert_key_tag', option_group=u'CERT Record')
-option: Int('cert_part_type?', autofill=False, cli_name='cert_type', option_group=u'CERT Record')
-option: CERTRecord('certrecord*', autofill=False, cli_name='cert_rec', option_group=u'CERT Record')
-option: DNSNameParam('cname_part_hostname?', autofill=False, cli_name='cname_hostname', option_group=u'CNAME Record')
-option: CNAMERecord('cnamerecord*', autofill=False, cli_name='cname_rec', option_group=u'CNAME Record')
+option: DNSNameParam('afsdb_part_hostname?', autofill=False, cli_name='afsdb_hostname', option_group='AFSDB Record')
+option: Int('afsdb_part_subtype?', autofill=False, cli_name='afsdb_subtype', option_group='AFSDB Record')
+option: AFSDBRecord('afsdbrecord*', autofill=False, cli_name='afsdb_rec', option_group='AFSDB Record')
+option: Flag('all', autofill=True, cli_name='all', default=False)
+option: APLRecord('aplrecord*', autofill=False, cli_name='apl_rec', option_group='APL Record')
+option: ARecord('arecord*', autofill=False, cli_name='a_rec', option_group='A Record')
+option: Int('cert_part_algorithm?', autofill=False, cli_name='cert_algorithm', option_group='CERT Record')
+option: Str('cert_part_certificate_or_crl?', autofill=False, cli_name='cert_certificate_or_crl', option_group='CERT Record')
+option: Int('cert_part_key_tag?', autofill=False, cli_name='cert_key_tag', option_group='CERT Record')
+option: Int('cert_part_type?', autofill=False, cli_name='cert_type', option_group='CERT Record')
+option: CERTRecord('certrecord*', autofill=False, cli_name='cert_rec', option_group='CERT Record')
+option: DNSNameParam('cname_part_hostname?', autofill=False, cli_name='cname_hostname', option_group='CNAME Record')
+option: CNAMERecord('cnamerecord*', autofill=False, cli_name='cname_rec', option_group='CNAME Record')
 option: Str('delattr*', cli_name='delattr')
-option: DHCIDRecord('dhcidrecord*', autofill=False, cli_name='dhcid_rec', option_group=u'DHCID Record')
-option: Int('dlv_part_algorithm?', autofill=False, cli_name='dlv_algorithm', option_group=u'DLV Record')
-option: Str('dlv_part_digest?', autofill=False, cli_name='dlv_digest', option_group=u'DLV Record')
-option: Int('dlv_part_digest_type?', autofill=False, cli_name='dlv_digest_type', option_group=u'DLV Record')
-option: Int('dlv_part_key_tag?', autofill=False, cli_name='dlv_key_tag', option_group=u'DLV Record')
-option: DLVRecord('dlvrecord*', autofill=False, cli_name='dlv_rec', option_group=u'DLV Record')
-option: DNSNameParam('dname_part_target?', autofill=False, cli_name='dname_target', option_group=u'DNAME Record')
-option: DNAMERecord('dnamerecord*', autofill=False, cli_name='dname_rec', option_group=u'DNAME Record')
-option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: DHCIDRecord('dhcidrecord*', autofill=False, cli_name='dhcid_rec', option_group='DHCID Record')
+option: Int('dlv_part_algorithm?', autofill=False, cli_name='dlv_algorithm', option_group='DLV Record')
+option: Str('dlv_part_digest?', autofill=False, cli_name='dlv_digest', option_group='DLV Record')
+option: Int('dlv_part_digest_type?', autofill=False, cli_name='dlv_digest_type', option_group='DLV Record')
+option: Int('dlv_part_key_tag?', autofill=False, cli_name='dlv_key_tag', option_group='DLV Record')
+option: DLVRecord('dlvrecord*', autofill=False, cli_name='dlv_rec', option_group='DLV Record')
+option: DNSNameParam('dname_part_target?', autofill=False, cli_name='dname_target', option_group='DNAME Record')
+option: DNAMERecord('dnamerecord*', autofill=False, cli_name='dname_rec', option_group='DNAME Record')
+option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsttl?', autofill=False, cli_name='ttl')
-option: Int('ds_part_algorithm?', autofill=False, cli_name='ds_algorithm', option_group=u'DS Record')
-option: Str('ds_part_digest?', autofill=False, cli_name='ds_digest', option_group=u'DS Record')
-option: Int('ds_part_digest_type?', autofill=False, cli_name='ds_digest_type', option_group=u'DS Record')
-option: Int('ds_part_key_tag?', autofill=False, cli_name='ds_key_tag', option_group=u'DS Record')
-option: DSRecord('dsrecord*', autofill=False, cli_name='ds_rec', option_group=u'DS Record')
-option: HIPRecord('hiprecord*', autofill=False, cli_name='hip_rec', option_group=u'HIP Record')
-option: IPSECKEYRecord('ipseckeyrecord*', autofill=False, cli_name='ipseckey_rec', option_group=u'IPSECKEY Record')
-option: KEYRecord('keyrecord*', autofill=False, cli_name='key_rec', option_group=u'KEY Record')
-option: DNSNameParam('kx_part_exchanger?', autofill=False, cli_name='kx_exchanger', option_group=u'KX Record')
-option: Int('kx_part_preference?', autofill=False, cli_name='kx_preference', option_group=u'KX Record')
-option: KXRecord('kxrecord*', autofill=False, cli_name='kx_rec', option_group=u'KX Record')
-option: Decimal('loc_part_altitude?', autofill=False, cli_name='loc_altitude', option_group=u'LOC Record')
-option: Decimal('loc_part_h_precision?', autofill=False, cli_name='loc_h_precision', option_group=u'LOC Record')
-option: Int('loc_part_lat_deg?', autofill=False, cli_name='loc_lat_deg', option_group=u'LOC Record')
-option: StrEnum('loc_part_lat_dir?', autofill=False, cli_name='loc_lat_dir', option_group=u'LOC Record', values=[u'N', u'S'])
-option: Int('loc_part_lat_min?', autofill=False, cli_name='loc_lat_min', option_group=u'LOC Record')
-option: Decimal('loc_part_lat_sec?', autofill=False, cli_name='loc_lat_sec', option_group=u'LOC Record')
-option: Int('loc_part_lon_deg?', autofill=False, cli_name='loc_lon_deg', option_group=u'LOC Record')
-option: StrEnum('loc_part_lon_dir?', autofill=False, cli_name='loc_lon_dir', option_group=u'LOC Record', values=[u'E', u'W'])
-option: Int('loc_part_lon_min?', autofill=False, cli_name='loc_lon_min', option_group=u'LOC Record')
-option: Decimal('loc_part_lon_sec?', autofill=False, cli_name='loc_lon_sec', option_group=u'LOC Record')
-option: Decimal('loc_part_size?', autofill=False, cli_name='loc_size', option_group=u'LOC Record')
-option: Decimal('loc_part_v_precision?', autofill=False, cli_name='loc_v_precision', option_group=u'LOC Record')
-option: LOCRecord('locrecord*', autofill=False, cli_name='loc_rec', option_group=u'LOC Record')
-option: DNSNameParam('mx_part_exchanger?', autofill=False, cli_name='mx_exchanger', option_group=u'MX Record')
-option: Int('mx_part_preference?', autofill=False, cli_name='mx_preference', option_group=u'MX Record')
-option: MXRecord('mxrecord*', autofill=False, cli_name='mx_rec', option_group=u'MX Record')
-option: Str('naptr_part_flags?', autofill=False, cli_name='naptr_flags', option_group=u'NAPTR Record')
-option: Int('naptr_part_order?', autofill=False, cli_name='naptr_order', option_group=u'NAPTR Record')
-option: Int('naptr_part_preference?', autofill=False, cli_name='naptr_preference', option_group=u'NAPTR Record')
-option: Str('naptr_part_regexp?', autofill=False, cli_name='naptr_regexp', option_group=u'NAPTR Record')
-option: Str('naptr_part_replacement?', autofill=False, cli_name='naptr_replacement', option_group=u'NAPTR Record')
-option: Str('naptr_part_service?', autofill=False, cli_name='naptr_service', option_group=u'NAPTR Record')
-option: NAPTRRecord('naptrrecord*', autofill=False, cli_name='naptr_rec', option_group=u'NAPTR Record')
-option: DNSNameParam('ns_part_hostname?', autofill=False, cli_name='ns_hostname', option_group=u'NS Record')
-option: NSECRecord('nsecrecord*', autofill=False, cli_name='nsec_rec', option_group=u'NSEC Record')
-option: NSRecord('nsrecord*', autofill=False, cli_name='ns_rec', option_group=u'NS Record')
-option: DNSNameParam('ptr_part_hostname?', autofill=False, cli_name='ptr_hostname', option_group=u'PTR Record')
-option: PTRRecord('ptrrecord*', autofill=False, cli_name='ptr_rec', option_group=u'PTR Record')
+option: Int('ds_part_algorithm?', autofill=False, cli_name='ds_algorithm', option_group='DS Record')
+option: Str('ds_part_digest?', autofill=False, cli_name='ds_digest', option_group='DS Record')
+option: Int('ds_part_digest_type?', autofill=False, cli_name='ds_digest_type', option_group='DS Record')
+option: Int('ds_part_key_tag?', autofill=False, cli_name='ds_key_tag', option_group='DS Record')
+option: DSRecord('dsrecord*', autofill=False, cli_name='ds_rec', option_group='DS Record')
+option: HIPRecord('hiprecord*', autofill=False, cli_name='hip_rec', option_group='HIP Record')
+option: IPSECKEYRecord('ipseckeyrecord*', autofill=False, cli_name='ipseckey_rec', option_group='IPSECKEY Record')
+option: KEYRecord('keyrecord*', autofill=False, cli_name='key_rec', option_group='KEY Record')
+option: DNSNameParam('kx_part_exchanger?', autofill=False, cli_name='kx_exchanger', option_group='KX Record')
+option: Int('kx_part_preference?', autofill=False, cli_name='kx_preference', option_group='KX Record')
+option: KXRecord('kxrecord*', autofill=False, cli_name='kx_rec', option_group='KX Record')
+option: Decimal('loc_part_altitude?', autofill=False, cli_name='loc_altitude', option_group='LOC Record')
+option: Decimal('loc_part_h_precision?', autofill=False, cli_name='loc_h_precision', option_group='LOC Record')
+option: Int('loc_part_lat_deg?', autofill=False, cli_name='loc_lat_deg', option_group='LOC Record')
+option: StrEnum('loc_part_lat_dir?', autofill=False, cli_name='loc_lat_dir', option_group='LOC Record', values=['N', 'S'])
+option: Int('loc_part_lat_min?', autofill=False, cli_name='loc_lat_min', option_group='LOC Record')
+option: Decimal('loc_part_lat_sec?', autofill=False, cli_name='loc_lat_sec', option_group='LOC Record')
+option: Int('loc_part_lon_deg?', autofill=False, cli_name='loc_lon_deg', option_group='LOC Record')
+option: StrEnum('loc_part_lon_dir?', autofill=False, cli_name='loc_lon_dir', option_group='LOC Record', values=['E', 'W'])
+option: Int('loc_part_lon_min?', autofill=False, cli_name='loc_lon_min', option_group='LOC Record')
+option: Decimal('loc_part_lon_sec?', autofill=False, cli_name='loc_lon_sec', option_group='LOC Record')
+option: Decimal('loc_part_size?', autofill=False, cli_name='loc_size', option_group='LOC Record')
+option: Decimal('loc_part_v_precision?', autofill=False, cli_name='loc_v_precision', option_group='LOC Record')
+option: LOCRecord('locrecord*', autofill=False, cli_name='loc_rec', option_group='LOC Record')
+option: DNSNameParam('mx_part_exchanger?', autofill=False, cli_name='mx_exchanger', option_group='MX Record')
+option: Int('mx_part_preference?', autofill=False, cli_name='mx_preference', option_group='MX Record')
+option: MXRecord('mxrecord*', autofill=False, cli_name='mx_rec', option_group='MX Record')
+option: Str('naptr_part_flags?', autofill=False, cli_name='naptr_flags', option_group='NAPTR Record')
+option: Int('naptr_part_order?', autofill=False, cli_name='naptr_order', option_group='NAPTR Record')
+option: Int('naptr_part_preference?', autofill=False, cli_name='naptr_preference', option_group='NAPTR Record')
+option: Str('naptr_part_regexp?', autofill=False, cli_name='naptr_regexp', option_group='NAPTR Record')
+option: Str('naptr_part_replacement?', autofill=False, cli_name='naptr_replacement', option_group='NAPTR Record')
+option: Str('naptr_part_service?', autofill=False, cli_name='naptr_service', option_group='NAPTR Record')
+option: NAPTRRecord('naptrrecord*', autofill=False, cli_name='naptr_rec', option_group='NAPTR Record')
+option: DNSNameParam('ns_part_hostname?', autofill=False, cli_name='ns_hostname', option_group='NS Record')
+option: NSECRecord('nsecrecord*', autofill=False, cli_name='nsec_rec', option_group='NSEC Record')
+option: NSRecord('nsrecord*', autofill=False, cli_name='ns_rec', option_group='NS Record')
+option: DNSNameParam('ptr_part_hostname?', autofill=False, cli_name='ptr_hostname', option_group='PTR Record')
+option: PTRRecord('ptrrecord*', autofill=False, cli_name='ptr_rec', option_group='PTR Record')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: DNSNameParam('rename?', cli_name='rename')
 option: Flag('rights', autofill=True, default=False)
-option: RPRecord('rprecord*', autofill=False, cli_name='rp_rec', option_group=u'RP Record')
-option: RRSIGRecord('rrsigrecord*', autofill=False, cli_name='rrsig_rec', option_group=u'RRSIG Record')
+option: RPRecord('rprecord*', autofill=False, cli_name='rp_rec', option_group='RP Record')
+option: RRSIGRecord('rrsigrecord*', autofill=False, cli_name='rrsig_rec', option_group='RRSIG Record')
 option: Str('setattr*', cli_name='setattr')
-option: SIGRecord('sigrecord*', autofill=False, cli_name='sig_rec', option_group=u'SIG Record')
-option: SPFRecord('spfrecord*', autofill=False, cli_name='spf_rec', option_group=u'SPF Record')
-option: Int('srv_part_port?', autofill=False, cli_name='srv_port', option_group=u'SRV Record')
-option: Int('srv_part_priority?', autofill=False, cli_name='srv_priority', option_group=u'SRV Record')
-option: DNSNameParam('srv_part_target?', autofill=False, cli_name='srv_target', option_group=u'SRV Record')
-option: Int('srv_part_weight?', autofill=False, cli_name='srv_weight', option_group=u'SRV Record')
-option: SRVRecord('srvrecord*', autofill=False, cli_name='srv_rec', option_group=u'SRV Record')
-option: Int('sshfp_part_algorithm?', autofill=False, cli_name='sshfp_algorithm', option_group=u'SSHFP Record')
-option: Str('sshfp_part_fingerprint?', autofill=False, cli_name='sshfp_fingerprint', option_group=u'SSHFP Record')
-option: Int('sshfp_part_fp_type?', autofill=False, cli_name='sshfp_fp_type', option_group=u'SSHFP Record')
-option: SSHFPRecord('sshfprecord*', autofill=False, cli_name='sshfp_rec', option_group=u'SSHFP Record')
+option: SIGRecord('sigrecord*', autofill=False, cli_name='sig_rec', option_group='SIG Record')
+option: SPFRecord('spfrecord*', autofill=False, cli_name='spf_rec', option_group='SPF Record')
+option: Int('srv_part_port?', autofill=False, cli_name='srv_port', option_group='SRV Record')
+option: Int('srv_part_priority?', autofill=False, cli_name='srv_priority', option_group='SRV Record')
+option: DNSNameParam('srv_part_target?', autofill=False, cli_name='srv_target', option_group='SRV Record')
+option: Int('srv_part_weight?', autofill=False, cli_name='srv_weight', option_group='SRV Record')
+option: SRVRecord('srvrecord*', autofill=False, cli_name='srv_rec', option_group='SRV Record')
+option: Int('sshfp_part_algorithm?', autofill=False, cli_name='sshfp_algorithm', option_group='SSHFP Record')
+option: Str('sshfp_part_fingerprint?', autofill=False, cli_name='sshfp_fingerprint', option_group='SSHFP Record')
+option: Int('sshfp_part_fp_type?', autofill=False, cli_name='sshfp_fp_type', option_group='SSHFP Record')
+option: SSHFPRecord('sshfprecord*', autofill=False, cli_name='sshfp_rec', option_group='SSHFP Record')
 option: Flag('structured', autofill=True, default=False)
-option: Str('tlsa_part_cert_association_data?', autofill=False, cli_name='tlsa_cert_association_data', option_group=u'TLSA Record')
-option: Int('tlsa_part_cert_usage?', autofill=False, cli_name='tlsa_cert_usage', option_group=u'TLSA Record')
-option: Int('tlsa_part_matching_type?', autofill=False, cli_name='tlsa_matching_type', option_group=u'TLSA Record')
-option: Int('tlsa_part_selector?', autofill=False, cli_name='tlsa_selector', option_group=u'TLSA Record')
-option: TLSARecord('tlsarecord*', autofill=False, cli_name='tlsa_rec', option_group=u'TLSA Record')
-option: Str('txt_part_data?', autofill=False, cli_name='txt_data', option_group=u'TXT Record')
-option: TXTRecord('txtrecord*', autofill=False, cli_name='txt_rec', option_group=u'TXT Record')
-option: Int('uri_part_priority?', autofill=False, cli_name='uri_priority', option_group=u'URI Record')
-option: Str('uri_part_target?', autofill=False, cli_name='uri_target', option_group=u'URI Record')
-option: Int('uri_part_weight?', autofill=False, cli_name='uri_weight', option_group=u'URI Record')
-option: URIRecord('urirecord*', autofill=False, cli_name='uri_rec', option_group=u'URI Record')
+option: Str('tlsa_part_cert_association_data?', autofill=False, cli_name='tlsa_cert_association_data', option_group='TLSA Record')
+option: Int('tlsa_part_cert_usage?', autofill=False, cli_name='tlsa_cert_usage', option_group='TLSA Record')
+option: Int('tlsa_part_matching_type?', autofill=False, cli_name='tlsa_matching_type', option_group='TLSA Record')
+option: Int('tlsa_part_selector?', autofill=False, cli_name='tlsa_selector', option_group='TLSA Record')
+option: TLSARecord('tlsarecord*', autofill=False, cli_name='tlsa_rec', option_group='TLSA Record')
+option: Str('txt_part_data?', autofill=False, cli_name='txt_data', option_group='TXT Record')
+option: TXTRecord('txtrecord*', autofill=False, cli_name='txt_rec', option_group='TXT Record')
+option: Int('uri_part_priority?', autofill=False, cli_name='uri_priority', option_group='URI Record')
+option: Str('uri_part_target?', autofill=False, cli_name='uri_target', option_group='URI Record')
+option: Int('uri_part_weight?', autofill=False, cli_name='uri_weight', option_group='URI Record')
+option: URIRecord('urirecord*', autofill=False, cli_name='uri_rec', option_group='URI Record')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsrecord_show/1
 args: 2,5,3
@@ -1684,7 +1684,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Flag('structured', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsrecord_split_parts/1
 args: 2,1,1
@@ -1698,28 +1698,28 @@ arg: Str('idnsserverid', cli_name='hostname')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('idnsforwarders*', cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', cli_name='forward_policy', values=['only', 'first', 'none'])
 option: DNSNameParam('idnssoamname?', cli_name='soa_mname_override')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsserver_del/1
 args: 1,2,3
 arg: Str('idnsserverid+', cli_name='hostname')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: dnsserver_find/1
 args: 1,10,4
 arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: Str('idnsserverid?', autofill=False, cli_name='hostname')
 option: DNSNameParam('idnssoamname?', autofill=False, cli_name='soa_mname_override')
 option: Flag('pkey_only?', autofill=True, default=False)
@@ -1727,10 +1727,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: dnsserver_mod/1
 args: 1,10,3
 arg: Str('idnsserverid', cli_name='hostname')
@@ -1738,14 +1738,14 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: DNSNameParam('idnssoamname?', autofill=False, cli_name='soa_mname_override')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnsserver_show/1
 args: 1,4,3
@@ -1755,23 +1755,23 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnszone_add/1
 args: 1,29,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('dnsclass?', cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: StrEnum('dnsclass?', cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsdefaultttl?', cli_name='default_ttl')
 option: Int('dnsttl?', cli_name='ttl')
 option: Flag('force', autofill=True, default=False)
 option: Bool('idnsallowdynupdate?', autofill=True, cli_name='dynamic_update', default=False)
-option: Str('idnsallowquery?', autofill=True, cli_name='allow_query', default=u'any;')
+option: Str('idnsallowquery?', autofill=True, cli_name='allow_query', default='any;')
 option: Bool('idnsallowsyncptr?', cli_name='allow_sync_ptr')
-option: Str('idnsallowtransfer?', autofill=True, cli_name='allow_transfer', default=u'none;')
+option: Str('idnsallowtransfer?', autofill=True, cli_name='allow_transfer', default='none;')
 option: Str('idnsforwarders*', cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', cli_name='forward_policy', values=['only', 'first', 'none'])
 option: Bool('idnssecinlinesigning?', cli_name='dnssec', default=False)
 option: Int('idnssoaexpire', autofill=True, cli_name='expire', default=1209600)
 option: Int('idnssoaminimum', autofill=True, cli_name='minimum', default=3600)
@@ -1790,51 +1790,51 @@ option: Flag('skip_nameserver_check', autofill=True, default=False)
 option: Flag('skip_overlap_check', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnszone_add_permission/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: dnszone_del/1
 args: 1,2,3
 arg: DNSNameParam('idnsname+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: dnszone_disable/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnszone_enable/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnszone_find/1
 args: 1,29,4
 arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsdefaultttl?', autofill=False, cli_name='default_ttl')
 option: Int('dnsttl?', autofill=False, cli_name='ttl')
 option: Flag('forward_only', autofill=True, cli_name='forward_only', default=False)
 option: Bool('idnsallowdynupdate?', autofill=False, cli_name='dynamic_update', default=False)
-option: Str('idnsallowquery?', autofill=False, cli_name='allow_query', default=u'any;')
+option: Str('idnsallowquery?', autofill=False, cli_name='allow_query', default='any;')
 option: Bool('idnsallowsyncptr?', autofill=False, cli_name='allow_sync_ptr')
-option: Str('idnsallowtransfer?', autofill=False, cli_name='allow_transfer', default=u'none;')
+option: Str('idnsallowtransfer?', autofill=False, cli_name='allow_transfer', default='none;')
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: DNSNameParam('idnsname?', autofill=False, cli_name='name')
 option: Bool('idnssecinlinesigning?', autofill=False, cli_name='dnssec', default=False)
 option: Int('idnssoaexpire?', autofill=False, cli_name='expire', default=1209600)
@@ -1853,26 +1853,26 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: dnszone_mod/1
 args: 1,28,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
-option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=[u'IN', u'CS', u'CH', u'HS'])
+option: StrEnum('dnsclass?', autofill=False, cli_name='class', values=['IN', 'CS', 'CH', 'HS'])
 option: Int('dnsdefaultttl?', autofill=False, cli_name='default_ttl')
 option: Int('dnsttl?', autofill=False, cli_name='ttl')
 option: Flag('force', autofill=True, default=False)
 option: Bool('idnsallowdynupdate?', autofill=False, cli_name='dynamic_update', default=False)
-option: Str('idnsallowquery?', autofill=False, cli_name='allow_query', default=u'any;')
+option: Str('idnsallowquery?', autofill=False, cli_name='allow_query', default='any;')
 option: Bool('idnsallowsyncptr?', autofill=False, cli_name='allow_sync_ptr')
-option: Str('idnsallowtransfer?', autofill=False, cli_name='allow_transfer', default=u'none;')
+option: Str('idnsallowtransfer?', autofill=False, cli_name='allow_transfer', default='none;')
 option: Str('idnsforwarders*', autofill=False, cli_name='forwarder')
-option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=[u'only', u'first', u'none'])
+option: StrEnum('idnsforwardpolicy?', autofill=False, cli_name='forward_policy', values=['only', 'first', 'none'])
 option: Bool('idnssecinlinesigning?', autofill=False, cli_name='dnssec', default=False)
 option: Int('idnssoaexpire?', autofill=False, cli_name='expire', default=1209600)
 option: Int('idnssoaminimum?', autofill=False, cli_name='minimum', default=3600)
@@ -1889,15 +1889,15 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: dnszone_remove_permission/1
 args: 1,1,3
 arg: DNSNameParam('idnsname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: dnszone_show/1
 args: 1,4,3
 arg: DNSNameParam('idnsname', cli_name='name')
@@ -1906,27 +1906,27 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: domainlevel_get/1
 args: 0,1,1
 option: Str('version?')
-output: Output('result', type=[<type 'int'>])
+output: Output('result', type=[<class 'int'>])
 command: domainlevel_set/1
 args: 1,1,1
 arg: Int('ipadomainlevel', cli_name='level')
 option: Str('version?')
-output: Output('result', type=[<type 'int'>])
+output: Output('result', type=[<class 'int'>])
 command: env/1
 args: 1,3,4
 arg: Str('variables*')
 option: Flag('all', autofill=True, cli_name='all', default=True)
 option: Flag('server?', autofill=True, default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('total', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('total', type=[<class 'int'>])
 command: group_add/1
 args: 1,10,3
 arg: Str('cn', cli_name='group_name')
@@ -1941,7 +1941,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: group_add_member/1
 args: 1,7,3
@@ -1953,23 +1953,23 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: group_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='group_name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: group_detach/1
 args: 1,1,3
 arg: Str('cn', cli_name='group_name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: group_find/1
 args: 1,28,4
@@ -2002,10 +2002,10 @@ option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('user*', cli_name='users')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: group_mod/1
 args: 1,13,3
 arg: Str('cn', cli_name='group_name')
@@ -2023,7 +2023,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: group_remove_member/1
 args: 1,7,3
@@ -2035,8 +2035,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: group_show/1
 args: 1,5,3
@@ -2047,27 +2047,27 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacrule_add/1
 args: 1,14,3
 arg: Str('cn', cli_name='name')
-option: StrEnum('accessruletype', autofill=True, cli_name='type', default=u'allow', values=[u'allow', u'deny'])
+option: StrEnum('accessruletype', autofill=True, cli_name='type', default='allow', values=['allow', 'deny'])
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
 option: Str('externalhost*')
-option: StrEnum('hostcategory?', cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('servicecategory?', cli_name='servicecat', values=[u'all'])
+option: StrEnum('servicecategory?', cli_name='servicecat', values=['all'])
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('sourcehostcategory?', cli_name='srchostcat', deprecated=True, values=[u'all'])
-option: StrEnum('usercategory?', cli_name='usercat', values=[u'all'])
+option: StrEnum('sourcehostcategory?', cli_name='srchostcat', deprecated=True, values=['all'])
+option: StrEnum('usercategory?', cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacrule_add_host/1
 args: 1,6,3
@@ -2078,8 +2078,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_add_service/1
 args: 1,6,3
@@ -2090,8 +2090,8 @@ option: Str('hbacsvcgroup*', alwaysask=True, cli_name='hbacsvcgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_add_sourcehost/1
 args: 1,6,3
@@ -2102,8 +2102,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_add_user/1
 args: 1,6,3
@@ -2114,76 +2114,76 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: hbacrule_disable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacrule_enable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacrule_find/1
 args: 1,16,4
 arg: Str('criteria?')
-option: StrEnum('accessruletype?', autofill=False, cli_name='type', default=u'allow', values=[u'allow', u'deny'])
+option: StrEnum('accessruletype?', autofill=False, cli_name='type', default='allow', values=['allow', 'deny'])
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('cn?', autofill=False, cli_name='name')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('externalhost*', autofill=False)
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Flag('no_members', autofill=True, default=True)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
-option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=[u'all'])
+option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=['all'])
 option: Int('sizelimit?', autofill=False)
-option: StrEnum('sourcehostcategory?', autofill=False, cli_name='srchostcat', deprecated=True, values=[u'all'])
+option: StrEnum('sourcehostcategory?', autofill=False, cli_name='srchostcat', deprecated=True, values=['all'])
 option: Int('timelimit?', autofill=False)
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: hbacrule_mod/1
 args: 1,17,3
 arg: Str('cn', cli_name='name')
-option: StrEnum('accessruletype?', autofill=False, cli_name='type', default=u'allow', values=[u'allow', u'deny'])
+option: StrEnum('accessruletype?', autofill=False, cli_name='type', default='allow', values=['allow', 'deny'])
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('externalhost*', autofill=False)
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('rename?', cli_name='rename')
 option: Flag('rights', autofill=True, default=False)
-option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=[u'all'])
+option: StrEnum('servicecategory?', autofill=False, cli_name='servicecat', values=['all'])
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('sourcehostcategory?', autofill=False, cli_name='srchostcat', deprecated=True, values=[u'all'])
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('sourcehostcategory?', autofill=False, cli_name='srchostcat', deprecated=True, values=['all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacrule_remove_host/1
 args: 1,6,3
@@ -2194,8 +2194,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_remove_service/1
 args: 1,6,3
@@ -2206,8 +2206,8 @@ option: Str('hbacsvcgroup*', alwaysask=True, cli_name='hbacsvcgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_remove_sourcehost/1
 args: 1,6,3
@@ -2218,8 +2218,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_remove_user/1
 args: 1,6,3
@@ -2230,8 +2230,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacrule_show/1
 args: 1,5,3
@@ -2242,7 +2242,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacsvc_add/1
 args: 1,7,3
@@ -2255,15 +2255,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacsvc_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='service')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: hbacsvc_find/1
 args: 1,9,4
@@ -2277,10 +2277,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: hbacsvc_mod/1
 args: 1,9,3
 arg: Str('cn', cli_name='service')
@@ -2294,7 +2294,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacsvc_show/1
 args: 1,5,3
@@ -2305,7 +2305,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacsvcgroup_add/1
 args: 1,7,3
@@ -2318,7 +2318,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacsvcgroup_add_member/1
 args: 1,5,3
@@ -2328,16 +2328,16 @@ option: Str('hbacsvc*', alwaysask=True, cli_name='hbacsvcs')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacsvcgroup_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: hbacsvcgroup_find/1
 args: 1,9,4
@@ -2351,10 +2351,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: hbacsvcgroup_mod/1
 args: 1,9,3
 arg: Str('cn', cli_name='name')
@@ -2368,7 +2368,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbacsvcgroup_remove_member/1
 args: 1,5,3
@@ -2378,8 +2378,8 @@ option: Str('hbacsvc*', alwaysask=True, cli_name='hbacsvcs')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hbacsvcgroup_show/1
 args: 1,5,3
@@ -2390,7 +2390,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hbactest/1
 args: 0,10,6
@@ -2404,12 +2404,12 @@ option: Str('sourcehost?', cli_name='srchost', deprecated=True)
 option: Str('targethost', cli_name='host')
 option: Str('user', cli_name='user')
 option: Str('version?')
-output: Output('error', type=[<type 'list'>, <type 'tuple'>, <type 'NoneType'>])
-output: Output('matched', type=[<type 'list'>, <type 'tuple'>, <type 'NoneType'>])
-output: Output('notmatched', type=[<type 'list'>, <type 'tuple'>, <type 'NoneType'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'bool'>])
-output: Output('warning', type=[<type 'list'>, <type 'tuple'>, <type 'NoneType'>])
+output: Output('error', type=[<class 'list'>, <class 'tuple'>, <class 'NoneType'>])
+output: Output('matched', type=[<class 'list'>, <class 'tuple'>, <class 'NoneType'>])
+output: Output('notmatched', type=[<class 'list'>, <class 'tuple'>, <class 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'bool'>])
+output: Output('warning', type=[<class 'list'>, <class 'tuple'>, <class 'NoneType'>])
 command: host_add/1
 args: 1,25,3
 arg: Str('fqdn', cli_name='hostname')
@@ -2439,7 +2439,7 @@ option: Str('userclass*', cli_name='class')
 option: Str('userpassword?', cli_name='password')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_add_cert/1
 args: 1,5,3
@@ -2450,7 +2450,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_add_managedby/1
 args: 1,5,3
@@ -2460,8 +2460,8 @@ option: Str('host*', alwaysask=True, cli_name='hosts')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: host_add_principal/1
 args: 2,4,3
@@ -2472,7 +2472,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_allow_create_keytab/1
 args: 1,8,3
@@ -2485,8 +2485,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: host_allow_retrieve_keytab/1
 args: 1,8,3
@@ -2499,8 +2499,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: host_del/1
 args: 1,3,3
@@ -2508,15 +2508,15 @@ arg: Str('fqdn+', cli_name='hostname')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Flag('updatedns?', autofill=True, default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: host_disable/1
 args: 1,1,3
 arg: Str('fqdn', cli_name='hostname')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_disallow_create_keytab/1
 args: 1,8,3
@@ -2529,8 +2529,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: host_disallow_retrieve_keytab/1
 args: 1,8,3
@@ -2543,8 +2543,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: host_find/1
 args: 1,35,4
@@ -2584,10 +2584,10 @@ option: Certificate('usercertificate*', autofill=False, cli_name='certificate')
 option: Str('userclass*', autofill=False, cli_name='class')
 option: Str('userpassword?', autofill=False, cli_name='password')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: host_mod/1
 args: 1,26,3
 arg: Str('fqdn', cli_name='hostname')
@@ -2618,7 +2618,7 @@ option: Str('userclass*', autofill=False, cli_name='class')
 option: Str('userpassword?', autofill=False, cli_name='password')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_remove_cert/1
 args: 1,5,3
@@ -2629,7 +2629,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_remove_managedby/1
 args: 1,5,3
@@ -2639,8 +2639,8 @@ option: Str('host*', alwaysask=True, cli_name='hosts')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: host_remove_principal/1
 args: 2,4,3
@@ -2651,7 +2651,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: host_show/1
 args: 1,6,3
@@ -2663,7 +2663,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hostgroup_add/1
 args: 1,7,3
@@ -2676,7 +2676,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hostgroup_add_member/1
 args: 1,6,3
@@ -2687,16 +2687,16 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hostgroup_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='hostgroup_name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: hostgroup_find/1
 args: 1,21,4
@@ -2722,10 +2722,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: hostgroup_mod/1
 args: 1,9,3
 arg: Str('cn', cli_name='hostgroup_name')
@@ -2739,7 +2739,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: hostgroup_remove_member/1
 args: 1,6,3
@@ -2750,8 +2750,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: hostgroup_show/1
 args: 1,5,3
@@ -2762,12 +2762,12 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: i18n_messages/1
 args: 0,1,1
 option: Str('version?')
-output: Output('texts', type=[<type 'dict'>])
+output: Output('texts', type=[<class 'dict'>])
 command: idoverridegroup_add/1
 args: 2,9,3
 arg: Str('idviewcn', cli_name='idview')
@@ -2782,7 +2782,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverridegroup_del/1
 args: 2,3,3
@@ -2791,8 +2791,8 @@ arg: Str('ipaanchoruuid+', cli_name='anchor')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Flag('fallback_to_ldap?', autofill=True, default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: idoverridegroup_find/1
 args: 2,11,4
@@ -2809,10 +2809,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: idoverridegroup_mod/1
 args: 2,12,3
 arg: Str('idviewcn', cli_name='idview')
@@ -2830,7 +2830,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverridegroup_show/1
 args: 2,5,3
@@ -2842,7 +2842,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverrideuser_add/1
 args: 2,16,3
@@ -2865,7 +2865,7 @@ option: Int('uidnumber?', cli_name='uid')
 option: Certificate('usercertificate*', cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverrideuser_add_cert/1
 args: 2,5,3
@@ -2877,7 +2877,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverrideuser_del/1
 args: 2,3,3
@@ -2886,8 +2886,8 @@ arg: Str('ipaanchoruuid+', cli_name='anchor')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Flag('fallback_to_ldap?', autofill=True, default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: idoverrideuser_find/1
 args: 2,16,4
@@ -2909,10 +2909,10 @@ option: Int('timelimit?', autofill=False)
 option: Str('uid?', autofill=False, cli_name='login')
 option: Int('uidnumber?', autofill=False, cli_name='uid')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: idoverrideuser_mod/1
 args: 2,19,3
 arg: Str('idviewcn', cli_name='idview')
@@ -2937,7 +2937,7 @@ option: Int('uidnumber?', autofill=False, cli_name='uid')
 option: Certificate('usercertificate*', autofill=False, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverrideuser_remove_cert/1
 args: 2,5,3
@@ -2949,7 +2949,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idoverrideuser_show/1
 args: 2,5,3
@@ -2961,7 +2961,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idrange_add/1
 args: 1,12,3
@@ -2973,21 +2973,21 @@ option: Int('ipabaserid?', cli_name='rid_base')
 option: Int('ipaidrangesize', cli_name='range_size')
 option: Str('ipanttrusteddomainname?', cli_name='dom_name')
 option: Str('ipanttrusteddomainsid?', cli_name='dom_sid')
-option: StrEnum('iparangetype?', cli_name='type', values=[u'ipa-ad-trust-posix', u'ipa-ad-trust', u'ipa-local'])
+option: StrEnum('iparangetype?', cli_name='type', values=['ipa-local', 'ipa-ad-trust', 'ipa-ad-trust-posix'])
 option: Int('ipasecondarybaserid?', cli_name='secondary_rid_base')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idrange_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: idrange_find/1
 args: 1,13,4
@@ -2998,17 +2998,17 @@ option: Int('ipabaseid?', autofill=False, cli_name='base_id')
 option: Int('ipabaserid?', autofill=False, cli_name='rid_base')
 option: Int('ipaidrangesize?', autofill=False, cli_name='range_size')
 option: Str('ipanttrusteddomainsid?', autofill=False, cli_name='dom_sid')
-option: StrEnum('iparangetype?', autofill=False, cli_name='type', values=[u'ipa-ad-trust-posix', u'ipa-ad-trust', u'ipa-local'])
+option: StrEnum('iparangetype?', autofill=False, cli_name='type', values=['ipa-local', 'ipa-ad-trust', 'ipa-ad-trust-posix'])
 option: Int('ipasecondarybaserid?', autofill=False, cli_name='secondary_rid_base')
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: idrange_mod/1
 args: 1,13,3
 arg: Str('cn', cli_name='name')
@@ -3026,7 +3026,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idrange_show/1
 args: 1,4,3
@@ -3036,7 +3036,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idview_add/1
 args: 1,7,3
@@ -3049,7 +3049,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idview_apply/1
 args: 1,3,4
@@ -3057,17 +3057,17 @@ arg: Str('cn', cli_name='name')
 option: Str('host*', cli_name='hosts')
 option: Str('hostgroup*', cli_name='hostgroups')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
-output: Output('succeeded', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
+output: Output('succeeded', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 command: idview_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: idview_find/1
 args: 1,8,4
@@ -3080,10 +3080,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: idview_mod/1
 args: 1,10,3
 arg: Str('cn', cli_name='name')
@@ -3098,7 +3098,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idview_show/1
 args: 1,5,3
@@ -3109,17 +3109,17 @@ option: Flag('rights', autofill=True, default=False)
 option: Flag('show_hosts?', autofill=True, cli_name='show_hosts', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: idview_unapply/1
 args: 0,3,4
 option: Str('host*', cli_name='hosts')
 option: Str('hostgroup*', cli_name='hostgroups')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
-output: Output('succeeded', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
+output: Output('succeeded', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 command: join/1
 args: 1,4,0
 arg: Str('cn', autofill=True, cli_name='hostname')
@@ -3135,14 +3135,14 @@ option: Str('command?')
 option: Str('method?')
 option: Str('object?')
 option: Str('version?')
-output: Output('commands', type=[<type 'dict'>])
-output: Output('methods', type=[<type 'dict'>])
-output: Output('objects', type=[<type 'dict'>])
+output: Output('commands', type=[<class 'dict'>])
+output: Output('methods', type=[<class 'dict'>])
+output: Output('objects', type=[<class 'dict'>])
 command: kra_is_enabled/1
 args: 0,1,3
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: krbtpolicy_mod/1
 args: 1,9,3
@@ -3157,7 +3157,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: krbtpolicy_reset/1
 args: 1,3,3
@@ -3166,7 +3166,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: krbtpolicy_show/1
 args: 1,4,3
@@ -3176,7 +3176,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: location_add/1
 args: 1,6,3
@@ -3188,15 +3188,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: location_del/1
 args: 1,2,3
 arg: DNSNameParam('idnsname+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: location_find/1
 args: 1,8,4
@@ -3209,10 +3209,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: location_mod/1
 args: 1,8,3
 arg: DNSNameParam('idnsname', cli_name='name')
@@ -3225,7 +3225,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: location_show/1
 args: 1,4,4
@@ -3235,8 +3235,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('servers', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('servers', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: migrate_ds/1
 args: 2,20,4
@@ -3252,20 +3252,20 @@ option: Str('exclude_users*', autofill=True, cli_name='exclude_users', default=[
 option: DNParam('groupcontainer', autofill=True, cli_name='group_container', default=ipapython.dn.DN('ou=groups'))
 option: Str('groupignoreattribute*', autofill=True, cli_name='group_ignore_attribute', default=[])
 option: Str('groupignoreobjectclass*', autofill=True, cli_name='group_ignore_objectclass', default=[])
-option: Str('groupobjectclass+', autofill=True, cli_name='group_objectclass', default=[u'groupOfUniqueNames', u'groupOfNames'])
+option: Str('groupobjectclass+', autofill=True, cli_name='group_objectclass', default=['groupOfUniqueNames', 'groupOfNames'])
 option: Flag('groupoverwritegid', autofill=True, cli_name='group_overwrite_gid', default=False)
-option: StrEnum('schema?', autofill=True, cli_name='schema', default=u'RFC2307bis', values=[u'RFC2307bis', u'RFC2307'])
-option: StrEnum('scope', autofill=True, cli_name='scope', default=u'onelevel', values=[u'base', u'subtree', u'onelevel'])
+option: StrEnum('schema?', autofill=True, cli_name='schema', default='RFC2307bis', values=['RFC2307bis', 'RFC2307'])
+option: StrEnum('scope', autofill=True, cli_name='scope', default='onelevel', values=['base', 'onelevel', 'subtree'])
 option: Bool('use_def_group?', autofill=True, cli_name='use_default_group', default=True)
 option: DNParam('usercontainer', autofill=True, cli_name='user_container', default=ipapython.dn.DN('ou=people'))
 option: Str('userignoreattribute*', autofill=True, cli_name='user_ignore_attribute', default=[])
 option: Str('userignoreobjectclass*', autofill=True, cli_name='user_ignore_objectclass', default=[])
-option: Str('userobjectclass+', autofill=True, cli_name='user_objectclass', default=[u'person'])
+option: Str('userobjectclass+', autofill=True, cli_name='user_objectclass', default=['person'])
 option: Str('version?')
-output: Output('compat', type=[<type 'bool'>])
-output: Output('enabled', type=[<type 'bool'>])
-output: Output('failed', type=[<type 'dict'>])
-output: Output('result', type=[<type 'dict'>])
+output: Output('compat', type=[<class 'bool'>])
+output: Output('enabled', type=[<class 'bool'>])
+output: Output('failed', type=[<class 'dict'>])
+output: Output('result', type=[<class 'dict'>])
 command: netgroup_add/1
 args: 1,11,3
 arg: Str('cn', cli_name='name')
@@ -3273,15 +3273,15 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
 option: Str('externalhost*')
-option: StrEnum('hostcategory?', cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', cli_name='hostcat', values=['all'])
 option: Str('nisdomainname?', cli_name='nisdomain')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('usercategory?', cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: netgroup_add_member/1
 args: 1,9,3
@@ -3295,16 +3295,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: netgroup_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: netgroup_find/1
 args: 1,28,4
@@ -3315,7 +3315,7 @@ option: Str('description?', autofill=False, cli_name='desc')
 option: Str('externalhost*', autofill=False)
 option: Str('group*', cli_name='groups')
 option: Str('host*', cli_name='hosts')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Str('hostgroup*', cli_name='hostgroups')
 option: Str('in_netgroup*', cli_name='in_netgroups')
 option: Str('ipauniqueid?', autofill=False, cli_name='uuid')
@@ -3335,12 +3335,12 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('user*', cli_name='users')
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: netgroup_mod/1
 args: 1,13,3
 arg: Str('cn', cli_name='name')
@@ -3349,16 +3349,16 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('externalhost*', autofill=False)
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Str('nisdomainname?', autofill=False, cli_name='nisdomain')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: netgroup_remove_member/1
 args: 1,9,3
@@ -3372,8 +3372,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: netgroup_show/1
 args: 1,5,3
@@ -3384,7 +3384,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: otpconfig_mod/1
 args: 0,11,3
@@ -3400,7 +3400,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: otpconfig_show/1
 args: 0,4,3
@@ -3409,7 +3409,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: otptoken_add/1
 args: 1,23,3
@@ -3422,7 +3422,7 @@ option: Int('ipatokenhotpcounter?', autofill=True, cli_name='counter', default=0
 option: Str('ipatokenmodel?', cli_name='model')
 option: DateTime('ipatokennotafter?', cli_name='not_after')
 option: DateTime('ipatokennotbefore?', cli_name='not_before')
-option: StrEnum('ipatokenotpalgorithm?', autofill=True, cli_name='algo', default=u'sha1', values=[u'sha1', u'sha256', u'sha384', u'sha512'])
+option: StrEnum('ipatokenotpalgorithm?', autofill=True, cli_name='algo', default='sha1', values=['sha1', 'sha256', 'sha384', 'sha512'])
 option: IntEnum('ipatokenotpdigits?', autofill=True, cli_name='digits', default=6, values=[6, 8])
 option: OTPTokenKey('ipatokenotpkey?', autofill=True, cli_name='key')
 option: Str('ipatokenowner?', cli_name='owner')
@@ -3435,10 +3435,10 @@ option: Flag('no_qrcode', autofill=True, default=False)
 option: Flag('qrcode?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('type?', autofill=True, default=u'totp', values=[u'totp', u'hotp', u'TOTP', u'HOTP'])
+option: StrEnum('type?', autofill=True, default='totp', values=['totp', 'hotp', 'TOTP', 'HOTP'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: otptoken_add_managedby/1
 args: 1,5,3
@@ -3448,16 +3448,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: otptoken_del/1
 args: 1,2,3
 arg: Str('ipatokenuniqueid+', cli_name='id')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: otptoken_find/1
 args: 1,22,4
@@ -3469,7 +3469,7 @@ option: Int('ipatokenhotpcounter?', autofill=False, cli_name='counter', default=
 option: Str('ipatokenmodel?', autofill=False, cli_name='model')
 option: DateTime('ipatokennotafter?', autofill=False, cli_name='not_after')
 option: DateTime('ipatokennotbefore?', autofill=False, cli_name='not_before')
-option: StrEnum('ipatokenotpalgorithm?', autofill=False, cli_name='algo', default=u'sha1', values=[u'sha1', u'sha256', u'sha384', u'sha512'])
+option: StrEnum('ipatokenotpalgorithm?', autofill=False, cli_name='algo', default='sha1', values=['sha1', 'sha256', 'sha384', 'sha512'])
 option: IntEnum('ipatokenotpdigits?', autofill=False, cli_name='digits', default=6, values=[6, 8])
 option: Str('ipatokenowner?', autofill=False, cli_name='owner')
 option: Str('ipatokenserial?', autofill=False, cli_name='serial')
@@ -3482,12 +3482,12 @@ option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
-option: StrEnum('type?', autofill=False, default=u'totp', values=[u'totp', u'hotp', u'TOTP', u'HOTP'])
+option: StrEnum('type?', autofill=False, default='totp', values=['totp', 'hotp', 'TOTP', 'HOTP'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: otptoken_mod/1
 args: 1,17,3
 arg: Str('ipatokenuniqueid', cli_name='id')
@@ -3509,7 +3509,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: otptoken_remove_managedby/1
 args: 1,5,3
@@ -3519,8 +3519,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: otptoken_show/1
 args: 1,5,3
@@ -3531,7 +3531,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: output_find/1
 args: 2,4,4
@@ -3541,10 +3541,10 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: output_show/1
 args: 2,3,3
 arg: Str('commandfull_name', cli_name='command')
@@ -3553,7 +3553,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: param_find/1
 args: 2,4,4
@@ -3563,10 +3563,10 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: param_show/1
 args: 2,3,3
 arg: Str('metaobjectfull_name', cli_name='metaobject')
@@ -3575,7 +3575,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: passwd/1
 args: 3,2,3
@@ -3584,9 +3584,9 @@ arg: Password('password')
 arg: Password('current_password', autofill=True, confirm=False)
 option: Password('otp?', confirm=False)
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: permission_add/1
 args: 1,21,3
 arg: Str('cn', cli_name='name')
@@ -3595,9 +3595,9 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('attrs*')
 option: Str('extratargetfilter*', cli_name='filter')
 option: Str('filter*')
-option: StrEnum('ipapermbindruletype', autofill=True, cli_name='bindtype', default=u'permission', values=[u'permission', u'all', u'anonymous'])
+option: StrEnum('ipapermbindruletype', autofill=True, cli_name='bindtype', default='permission', values=['permission', 'all', 'anonymous'])
 option: DNOrURL('ipapermlocation?', alwaysask=True, autofill=False, cli_name='subtree')
-option: StrEnum('ipapermright*', alwaysask=True, autofill=False, cli_name='right', values=[u'read', u'search', u'compare', u'write', u'add', u'delete', u'all'])
+option: StrEnum('ipapermright*', alwaysask=True, autofill=False, cli_name='right', values=['read', 'search', 'compare', 'write', 'add', 'delete', 'all'])
 option: DNParam('ipapermtarget?', cli_name='target')
 option: Str('ipapermtargetfilter*', cli_name='rawfilter')
 option: DNParam('ipapermtargetfrom?', cli_name='targetfrom')
@@ -3612,7 +3612,7 @@ option: Str('targetgroup?', alwaysask=True, autofill=False)
 option: Str('type?', alwaysask=True, autofill=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: permission_add_member/1
 args: 1,5,3
@@ -3622,8 +3622,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('privilege*', alwaysask=True, cli_name='privileges')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: permission_add_noaci/1
 args: 1,5,3
@@ -3634,7 +3634,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: permission_del/1
 args: 1,3,3
@@ -3642,8 +3642,8 @@ arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Flag('force', autofill=True, default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: permission_find/1
 args: 1,26,4
@@ -3653,12 +3653,12 @@ option: Str('attrs*', autofill=False)
 option: Str('cn?', autofill=False, cli_name='name')
 option: Str('extratargetfilter*', autofill=False, cli_name='filter')
 option: Str('filter*', autofill=False)
-option: StrEnum('ipapermbindruletype?', autofill=False, cli_name='bindtype', default=u'permission', values=[u'permission', u'all', u'anonymous'])
+option: StrEnum('ipapermbindruletype?', autofill=False, cli_name='bindtype', default='permission', values=['permission', 'all', 'anonymous'])
 option: Str('ipapermdefaultattr*', autofill=False, cli_name='defaultattrs')
 option: Str('ipapermexcludedattr*', autofill=False, cli_name='excludedattrs')
 option: Str('ipapermincludedattr*', autofill=False, cli_name='includedattrs')
 option: DNOrURL('ipapermlocation?', autofill=False, cli_name='subtree')
-option: StrEnum('ipapermright*', autofill=False, cli_name='right', values=[u'read', u'search', u'compare', u'write', u'add', u'delete', u'all'])
+option: StrEnum('ipapermright*', autofill=False, cli_name='right', values=['read', 'search', 'compare', 'write', 'add', 'delete', 'all'])
 option: DNParam('ipapermtarget?', autofill=False, cli_name='target')
 option: Str('ipapermtargetfilter*', autofill=False, cli_name='rawfilter')
 option: DNParam('ipapermtargetfrom?', autofill=False, cli_name='targetfrom')
@@ -3674,10 +3674,10 @@ option: Str('targetgroup?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('type?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: permission_mod/1
 args: 1,26,3
 arg: Str('cn', cli_name='name')
@@ -3687,11 +3687,11 @@ option: Str('attrs*', autofill=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('extratargetfilter*', autofill=False, cli_name='filter')
 option: Str('filter*', autofill=False)
-option: StrEnum('ipapermbindruletype?', autofill=False, cli_name='bindtype', default=u'permission', values=[u'permission', u'all', u'anonymous'])
+option: StrEnum('ipapermbindruletype?', autofill=False, cli_name='bindtype', default='permission', values=['permission', 'all', 'anonymous'])
 option: Str('ipapermexcludedattr*', autofill=False, cli_name='excludedattrs')
 option: Str('ipapermincludedattr*', autofill=False, cli_name='includedattrs')
 option: DNOrURL('ipapermlocation?', autofill=False, cli_name='subtree')
-option: StrEnum('ipapermright*', autofill=False, cli_name='right', values=[u'read', u'search', u'compare', u'write', u'add', u'delete', u'all'])
+option: StrEnum('ipapermright*', autofill=False, cli_name='right', values=['read', 'search', 'compare', 'write', 'add', 'delete', 'all'])
 option: DNParam('ipapermtarget?', autofill=False, cli_name='target')
 option: Str('ipapermtargetfilter*', autofill=False, cli_name='rawfilter')
 option: DNParam('ipapermtargetfrom?', autofill=False, cli_name='targetfrom')
@@ -3708,7 +3708,7 @@ option: Str('targetgroup?', autofill=False)
 option: Str('type?', autofill=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: permission_remove_member/1
 args: 1,5,3
@@ -3718,8 +3718,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('privilege*', alwaysask=True, cli_name='privileges')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: permission_show/1
 args: 1,5,3
@@ -3730,12 +3730,12 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: ping/1
 args: 0,1,1
 option: Str('version?')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 command: pkinit_status/1
 args: 1,7,4
 arg: Str('criteria?')
@@ -3743,21 +3743,21 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('server_server?', autofill=False, cli_name='server')
 option: Int('sizelimit?', autofill=False)
-option: StrEnum('status?', autofill=False, cli_name='status', values=[u'enabled', u'disabled'])
+option: StrEnum('status?', autofill=False, cli_name='status', values=['enabled', 'disabled'])
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: plugins/1
 args: 0,3,3
 option: Flag('all', autofill=True, cli_name='all', default=True)
 option: Flag('server?', autofill=True, default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('count', type=[<class 'int'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 command: privilege_add/1
 args: 1,7,3
 arg: Str('cn', cli_name='name')
@@ -3769,7 +3769,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: privilege_add_member/1
 args: 1,5,3
@@ -3779,8 +3779,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('role*', alwaysask=True, cli_name='roles')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: privilege_add_permission/1
 args: 1,5,3
@@ -3790,16 +3790,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('permission*', alwaysask=True, cli_name='permissions')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: privilege_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: privilege_find/1
 args: 1,9,4
@@ -3813,10 +3813,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: privilege_mod/1
 args: 1,10,3
 arg: Str('cn', cli_name='name')
@@ -3831,7 +3831,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: privilege_remove_member/1
 args: 1,5,3
@@ -3841,8 +3841,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('role*', alwaysask=True, cli_name='roles')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: privilege_remove_permission/1
 args: 1,5,3
@@ -3852,8 +3852,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('permission*', alwaysask=True, cli_name='permissions')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: privilege_show/1
 args: 1,5,3
@@ -3864,7 +3864,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: pwpolicy_add/1
 args: 1,14,3
@@ -3884,15 +3884,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: pwpolicy_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='group')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: pwpolicy_find/1
 args: 1,16,4
@@ -3913,10 +3913,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: pwpolicy_mod/1
 args: 1,16,3
 arg: Str('cn?', cli_name='group')
@@ -3937,7 +3937,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: pwpolicy_show/1
 args: 1,5,3
@@ -3948,7 +3948,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('user?')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: radiusproxy_add/1
 args: 1,11,3
@@ -3965,15 +3965,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: radiusproxy_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: radiusproxy_find/1
 args: 1,13,4
@@ -3991,10 +3991,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: radiusproxy_mod/1
 args: 1,14,3
 arg: Str('cn', cli_name='name')
@@ -4013,7 +4013,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: radiusproxy_show/1
 args: 1,4,3
@@ -4023,7 +4023,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: realmdomains_mod/1
 args: 0,11,3
@@ -4039,7 +4039,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: realmdomains_show/1
 args: 0,4,3
@@ -4048,7 +4048,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: role_add/1
 args: 1,7,3
@@ -4061,7 +4061,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: role_add_member/1
 args: 1,9,3
@@ -4075,8 +4075,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('service*', alwaysask=True, cli_name='services')
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: role_add_privilege/1
 args: 1,5,3
@@ -4086,16 +4086,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('privilege*', alwaysask=True, cli_name='privileges')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: role_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: role_find/1
 args: 1,9,4
@@ -4109,10 +4109,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: role_mod/1
 args: 1,10,3
 arg: Str('cn', cli_name='name')
@@ -4127,7 +4127,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: role_remove_member/1
 args: 1,9,3
@@ -4141,8 +4141,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('service*', alwaysask=True, cli_name='services')
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: role_remove_privilege/1
 args: 1,5,3
@@ -4152,8 +4152,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('privilege*', alwaysask=True, cli_name='privileges')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: role_show/1
 args: 1,5,3
@@ -4164,7 +4164,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: schema/1
 args: 0,2,1
@@ -4180,14 +4180,14 @@ option: Str('permissions*', cli_name='permissions')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selfservice_del/1
 args: 1,1,3
 arg: Str('aciname', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selfservice_find/1
 args: 1,7,4
@@ -4199,10 +4199,10 @@ option: Str('permissions*', autofill=False, cli_name='permissions')
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: selfservice_mod/1
 args: 1,5,3
 arg: Str('aciname', cli_name='name')
@@ -4212,7 +4212,7 @@ option: Str('permissions*', autofill=False, cli_name='permissions')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selfservice_show/1
 args: 1,3,3
@@ -4221,7 +4221,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selinuxusermap_add/1
 args: 1,12,3
@@ -4229,17 +4229,17 @@ arg: Str('cn', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
-option: StrEnum('hostcategory?', cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?')
 option: Str('ipaselinuxuser', cli_name='selinuxuser')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('seealso?', cli_name='hbacrule')
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('usercategory?', cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selinuxusermap_add_host/1
 args: 1,6,3
@@ -4250,8 +4250,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: selinuxusermap_add_user/1
 args: 1,6,3
@@ -4262,30 +4262,30 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: selinuxusermap_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: selinuxusermap_disable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selinuxusermap_enable/1
 args: 1,1,3
 arg: Str('cn', cli_name='name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selinuxusermap_find/1
 args: 1,14,4
@@ -4293,7 +4293,7 @@ arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('cn?', autofill=False, cli_name='name')
 option: Str('description?', autofill=False, cli_name='desc')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Str('ipaselinuxuser?', autofill=False, cli_name='selinuxuser')
 option: Flag('no_members', autofill=True, default=True)
@@ -4302,12 +4302,12 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('seealso?', autofill=False, cli_name='hbacrule')
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: selinuxusermap_mod/1
 args: 1,14,3
 arg: Str('cn', cli_name='name')
@@ -4315,7 +4315,7 @@ option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
 option: Str('description?', autofill=False, cli_name='desc')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Str('ipaselinuxuser?', autofill=False, cli_name='selinuxuser')
 option: Flag('no_members', autofill=True, default=False)
@@ -4323,10 +4323,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('seealso?', autofill=False, cli_name='hbacrule')
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: selinuxusermap_remove_host/1
 args: 1,6,3
@@ -4337,8 +4337,8 @@ option: Str('hostgroup*', alwaysask=True, cli_name='hostgroups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: selinuxusermap_remove_user/1
 args: 1,6,3
@@ -4349,8 +4349,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: selinuxusermap_show/1
 args: 1,5,3
@@ -4361,15 +4361,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: server_conncheck/1
 args: 2,1,3
 arg: Str('cn', cli_name='name')
 arg: Str('remote_cn', cli_name='remote_name')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: server_del/1
 args: 1,5,3
@@ -4379,8 +4379,8 @@ option: Flag('force?', autofill=True, default=False)
 option: Flag('ignore_last_of_role?', autofill=True, default=False)
 option: Flag('ignore_topology_disconnect?', autofill=True, default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: server_find/1
 args: 1,15,4
@@ -4400,10 +4400,10 @@ option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('topologysuffix*', cli_name='topologysuffixes')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: server_mod/1
 args: 1,10,3
 arg: Str('cn', cli_name='name')
@@ -4418,7 +4418,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: server_role_find/1
 args: 1,8,4
@@ -4428,13 +4428,13 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('role_servrole?', autofill=False, cli_name='role')
 option: Str('server_server?', autofill=False, cli_name='server')
 option: Int('sizelimit?', autofill=False)
-option: StrEnum('status?', autofill=False, cli_name='status', default=u'enabled', values=[u'enabled', u'configured', u'absent'])
+option: StrEnum('status?', autofill=False, cli_name='status', default='enabled', values=['enabled', 'configured', 'absent'])
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: server_role_show/1
 args: 2,3,3
 arg: Str('server_server', cli_name='server')
@@ -4443,7 +4443,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: server_show/1
 args: 1,5,3
@@ -4454,7 +4454,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_add/1
 args: 1,13,3
@@ -4462,7 +4462,7 @@ arg: Principal('krbcanonicalname', cli_name='canonical_principal')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('force', autofill=True, default=False)
-option: StrEnum('ipakrbauthzdata*', cli_name='pac_type', values=[u'MS-PAC', u'PAD', u'NONE'])
+option: StrEnum('ipakrbauthzdata*', cli_name='pac_type', values=['MS-PAC', 'PAD', 'NONE'])
 option: Bool('ipakrbokasdelegate?', cli_name='ok_as_delegate')
 option: Bool('ipakrboktoauthasdelegate?', cli_name='ok_to_auth_as_delegate')
 option: Bool('ipakrbrequirespreauth?', cli_name='requires_pre_auth')
@@ -4473,7 +4473,7 @@ option: Str('setattr*', cli_name='setattr')
 option: Certificate('usercertificate*', cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_add_cert/1
 args: 1,5,3
@@ -4484,7 +4484,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_add_host/1
 args: 1,5,3
@@ -4494,8 +4494,8 @@ option: Str('host*', alwaysask=True, cli_name='hosts')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: service_add_principal/1
 args: 2,4,3
@@ -4506,7 +4506,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_allow_create_keytab/1
 args: 1,8,3
@@ -4519,8 +4519,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: service_allow_retrieve_keytab/1
 args: 1,8,3
@@ -4533,23 +4533,23 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: service_del/1
 args: 1,2,3
 arg: Principal('krbcanonicalname+', cli_name='canonical_principal')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: service_disable/1
 args: 1,1,3
 arg: Principal('krbcanonicalname', cli_name='canonical_principal')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_disallow_create_keytab/1
 args: 1,8,3
@@ -4562,8 +4562,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: service_disallow_retrieve_keytab/1
 args: 1,8,3
@@ -4576,14 +4576,14 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: service_find/1
 args: 1,13,4
 arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('ipakrbauthzdata*', autofill=False, cli_name='pac_type', values=[u'MS-PAC', u'PAD', u'NONE'])
+option: StrEnum('ipakrbauthzdata*', autofill=False, cli_name='pac_type', values=['MS-PAC', 'PAD', 'NONE'])
 option: Principal('krbcanonicalname?', autofill=False, cli_name='canonical_principal')
 option: Str('krbprincipalauthind*', autofill=False, cli_name='auth_ind')
 option: Principal('krbprincipalname*', autofill=False, cli_name='principal')
@@ -4595,17 +4595,17 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: service_mod/1
 args: 1,15,3
 arg: Principal('krbcanonicalname', cli_name='canonical_principal')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
-option: StrEnum('ipakrbauthzdata*', autofill=False, cli_name='pac_type', values=[u'MS-PAC', u'PAD', u'NONE'])
+option: StrEnum('ipakrbauthzdata*', autofill=False, cli_name='pac_type', values=['MS-PAC', 'PAD', 'NONE'])
 option: Bool('ipakrbokasdelegate?', autofill=False, cli_name='ok_as_delegate')
 option: Bool('ipakrboktoauthasdelegate?', autofill=False, cli_name='ok_to_auth_as_delegate')
 option: Bool('ipakrbrequirespreauth?', autofill=False, cli_name='requires_pre_auth')
@@ -4618,7 +4618,7 @@ option: Str('setattr*', cli_name='setattr')
 option: Certificate('usercertificate*', autofill=False, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_remove_cert/1
 args: 1,5,3
@@ -4629,7 +4629,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_remove_host/1
 args: 1,5,3
@@ -4639,8 +4639,8 @@ option: Str('host*', alwaysask=True, cli_name='hosts')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: service_remove_principal/1
 args: 2,4,3
@@ -4651,7 +4651,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: service_show/1
 args: 1,6,3
@@ -4663,7 +4663,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: servicedelegationrule_add/1
 args: 1,6,3
@@ -4675,7 +4675,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: servicedelegationrule_add_member/1
 args: 1,5,3
@@ -4685,8 +4685,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('principal*', alwaysask=True, cli_name='principals')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: servicedelegationrule_add_target/1
 args: 1,5,3
@@ -4696,16 +4696,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('servicedelegationtarget*', alwaysask=True, cli_name='servicedelegationtargets')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: servicedelegationrule_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='delegation_name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: servicedelegationrule_find/1
 args: 1,8,4
@@ -4718,10 +4718,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: servicedelegationrule_remove_member/1
 args: 1,5,3
 arg: Str('cn', cli_name='delegation_name')
@@ -4730,8 +4730,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Str('principal*', alwaysask=True, cli_name='principals')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: servicedelegationrule_remove_target/1
 args: 1,5,3
@@ -4741,8 +4741,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('servicedelegationtarget*', alwaysask=True, cli_name='servicedelegationtargets')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: servicedelegationrule_show/1
 args: 1,5,3
@@ -4753,7 +4753,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: servicedelegationtarget_add/1
 args: 1,5,3
@@ -4764,7 +4764,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: servicedelegationtarget_add_member/1
 args: 1,4,3
@@ -4773,16 +4773,16 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('principal*', alwaysask=True, cli_name='principals')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: servicedelegationtarget_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='delegation_name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: servicedelegationtarget_find/1
 args: 1,7,4
@@ -4794,10 +4794,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: servicedelegationtarget_remove_member/1
 args: 1,4,3
 arg: Str('cn', cli_name='delegation_name')
@@ -4805,8 +4805,8 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('principal*', alwaysask=True, cli_name='principals')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: servicedelegationtarget_show/1
 args: 1,4,3
@@ -4816,7 +4816,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: session_logout/1
 args: 0,1,1
@@ -4834,7 +4834,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_add/1
 args: 1,45,3
@@ -4857,7 +4857,7 @@ option: Str('initials?', autofill=True)
 option: Str('ipasshpubkey*', cli_name='sshpubkey')
 option: Str('ipatokenradiusconfiglink?', cli_name='radius')
 option: Str('ipatokenradiususername?', cli_name='radius_username')
-option: StrEnum('ipauserauthtype*', cli_name='user_auth_type', values=[u'password', u'radius', u'otp'])
+option: StrEnum('ipauserauthtype*', cli_name='user_auth_type', values=['password', 'radius', 'otp'])
 option: DateTime('krbpasswordexpiration?', cli_name='password_expiration')
 option: DateTime('krbprincipalexpiration?', cli_name='principal_expiration')
 option: Principal('krbprincipalname*', autofill=True, cli_name='principal')
@@ -4885,7 +4885,7 @@ option: Str('userclass*', cli_name='class')
 option: Password('userpassword?', cli_name='password')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_add_cert/1
 args: 1,5,3
@@ -4896,7 +4896,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_add_certmapdata/1
 args: 2,7,3
@@ -4910,7 +4910,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: DNParam('subject?', cli_name='subject')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_add_manager/1
 args: 1,5,3
@@ -4920,8 +4920,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: stageuser_add_principal/1
 args: 2,4,3
@@ -4932,15 +4932,15 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_del/1
 args: 1,2,3
 arg: Str('uid+', cli_name='login')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: stageuser_find/1
 args: 1,54,4
@@ -4965,7 +4965,7 @@ option: Str('in_sudorule*', cli_name='in_sudorules')
 option: Str('initials?', autofill=False)
 option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius')
 option: Str('ipatokenradiususername?', autofill=False, cli_name='radius_username')
-option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=[u'password', u'radius', u'otp'])
+option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=['password', 'radius', 'otp'])
 option: DateTime('krbpasswordexpiration?', autofill=False, cli_name='password_expiration')
 option: DateTime('krbprincipalexpiration?', autofill=False, cli_name='principal_expiration')
 option: Principal('krbprincipalname*', autofill=False, cli_name='principal')
@@ -4999,10 +4999,10 @@ option: Certificate('usercertificate*', autofill=False, cli_name='certificate')
 option: Str('userclass*', autofill=False, cli_name='class')
 option: Password('userpassword?', autofill=False, cli_name='password')
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: stageuser_mod/1
 args: 1,47,3
 arg: Str('uid', cli_name='login')
@@ -5024,7 +5024,7 @@ option: Str('initials?', autofill=False)
 option: Str('ipasshpubkey*', autofill=False, cli_name='sshpubkey')
 option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius')
 option: Str('ipatokenradiususername?', autofill=False, cli_name='radius_username')
-option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=[u'password', u'radius', u'otp'])
+option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=['password', 'radius', 'otp'])
 option: DateTime('krbpasswordexpiration?', autofill=False, cli_name='password_expiration')
 option: DateTime('krbprincipalexpiration?', autofill=False, cli_name='principal_expiration')
 option: Principal('krbprincipalname*', autofill=False, cli_name='principal')
@@ -5054,7 +5054,7 @@ option: Str('userclass*', autofill=False, cli_name='class')
 option: Password('userpassword?', autofill=False, cli_name='password')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_remove_cert/1
 args: 1,5,3
@@ -5065,7 +5065,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_remove_certmapdata/1
 args: 2,7,3
@@ -5079,7 +5079,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: DNParam('subject?', cli_name='subject')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_remove_manager/1
 args: 1,5,3
@@ -5089,8 +5089,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: stageuser_remove_principal/1
 args: 2,4,3
@@ -5101,7 +5101,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: stageuser_show/1
 args: 1,5,3
@@ -5112,7 +5112,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudocmd_add/1
 args: 1,7,3
@@ -5125,15 +5125,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudocmd_del/1
 args: 1,2,3
 arg: Str('sudocmd+', cli_name='command')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: sudocmd_find/1
 args: 1,9,4
@@ -5147,10 +5147,10 @@ option: Int('sizelimit?', autofill=False)
 option: Str('sudocmd?', autofill=False, cli_name='command')
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: sudocmd_mod/1
 args: 1,9,3
 arg: Str('sudocmd', cli_name='command')
@@ -5164,7 +5164,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudocmd_show/1
 args: 1,5,3
@@ -5175,7 +5175,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudocmdgroup_add/1
 args: 1,7,3
@@ -5188,7 +5188,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudocmdgroup_add_member/1
 args: 1,5,3
@@ -5198,16 +5198,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('sudocmd*', alwaysask=True, cli_name='sudocmds')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudocmdgroup_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='sudocmdgroup_name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: sudocmdgroup_find/1
 args: 1,9,4
@@ -5221,10 +5221,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: sudocmdgroup_mod/1
 args: 1,9,3
 arg: Str('cn', cli_name='sudocmdgroup_name')
@@ -5238,7 +5238,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudocmdgroup_remove_member/1
 args: 1,5,3
@@ -5248,8 +5248,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('sudocmd*', alwaysask=True, cli_name='sudocmds')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudocmdgroup_show/1
 args: 1,5,3
@@ -5260,31 +5260,31 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudorule_add/1
 args: 1,18,3
 arg: Str('cn', cli_name='sudorule_name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('cmdcategory?', cli_name='cmdcat', values=[u'all'])
+option: StrEnum('cmdcategory?', cli_name='cmdcat', values=['all'])
 option: Str('description?', cli_name='desc')
 option: Str('externalhost*')
 option: Str('externaluser?', cli_name='externaluser')
-option: StrEnum('hostcategory?', cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?')
 option: Str('ipasudorunasextgroup?', cli_name='runasexternalgroup')
 option: Str('ipasudorunasextuser?', cli_name='runasexternaluser')
-option: StrEnum('ipasudorunasgroupcategory?', cli_name='runasgroupcat', values=[u'all'])
-option: StrEnum('ipasudorunasusercategory?', cli_name='runasusercat', values=[u'all'])
+option: StrEnum('ipasudorunasgroupcategory?', cli_name='runasgroupcat', values=['all'])
+option: StrEnum('ipasudorunasusercategory?', cli_name='runasusercat', values=['all'])
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Int('sudoorder?', cli_name='order', default=0)
-option: StrEnum('usercategory?', cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudorule_add_allow_command/1
 args: 1,6,3
@@ -5295,8 +5295,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('sudocmd*', alwaysask=True, cli_name='sudocmds')
 option: Str('sudocmdgroup*', alwaysask=True, cli_name='sudocmdgroups')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_add_deny_command/1
 args: 1,6,3
@@ -5307,8 +5307,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('sudocmd*', alwaysask=True, cli_name='sudocmds')
 option: Str('sudocmdgroup*', alwaysask=True, cli_name='sudocmdgroups')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_add_host/1
 args: 1,7,3
@@ -5320,8 +5320,8 @@ option: Str('hostmask*')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_add_option/1
 args: 1,5,3
@@ -5332,7 +5332,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudorule_add_runasgroup/1
 args: 1,5,3
@@ -5342,8 +5342,8 @@ option: Str('group*', alwaysask=True, cli_name='groups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_add_runasuser/1
 args: 1,6,3
@@ -5354,8 +5354,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_add_user/1
 args: 1,6,3
@@ -5366,16 +5366,16 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='sudorule_name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: sudorule_disable/1
 args: 1,1,1
@@ -5391,55 +5391,55 @@ command: sudorule_find/1
 args: 1,20,4
 arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('cmdcategory?', autofill=False, cli_name='cmdcat', values=[u'all'])
+option: StrEnum('cmdcategory?', autofill=False, cli_name='cmdcat', values=['all'])
 option: Str('cn?', autofill=False, cli_name='sudorule_name')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('externalhost*', autofill=False)
 option: Str('externaluser?', autofill=False, cli_name='externaluser')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Str('ipasudorunasextgroup?', autofill=False, cli_name='runasexternalgroup')
 option: Str('ipasudorunasextuser?', autofill=False, cli_name='runasexternaluser')
-option: StrEnum('ipasudorunasgroupcategory?', autofill=False, cli_name='runasgroupcat', values=[u'all'])
-option: StrEnum('ipasudorunasusercategory?', autofill=False, cli_name='runasusercat', values=[u'all'])
+option: StrEnum('ipasudorunasgroupcategory?', autofill=False, cli_name='runasgroupcat', values=['all'])
+option: StrEnum('ipasudorunasusercategory?', autofill=False, cli_name='runasusercat', values=['all'])
 option: Flag('no_members', autofill=True, default=True)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('sudoorder?', autofill=False, cli_name='order', default=0)
 option: Int('timelimit?', autofill=False)
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: sudorule_mod/1
 args: 1,21,3
 arg: Str('cn', cli_name='sudorule_name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('cmdcategory?', autofill=False, cli_name='cmdcat', values=[u'all'])
+option: StrEnum('cmdcategory?', autofill=False, cli_name='cmdcat', values=['all'])
 option: Str('delattr*', cli_name='delattr')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Str('externalhost*', autofill=False)
 option: Str('externaluser?', autofill=False, cli_name='externaluser')
-option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=[u'all'])
+option: StrEnum('hostcategory?', autofill=False, cli_name='hostcat', values=['all'])
 option: Bool('ipaenabledflag?', autofill=False)
 option: Str('ipasudorunasextgroup?', autofill=False, cli_name='runasexternalgroup')
 option: Str('ipasudorunasextuser?', autofill=False, cli_name='runasexternaluser')
-option: StrEnum('ipasudorunasgroupcategory?', autofill=False, cli_name='runasgroupcat', values=[u'all'])
-option: StrEnum('ipasudorunasusercategory?', autofill=False, cli_name='runasusercat', values=[u'all'])
+option: StrEnum('ipasudorunasgroupcategory?', autofill=False, cli_name='runasgroupcat', values=['all'])
+option: StrEnum('ipasudorunasusercategory?', autofill=False, cli_name='runasusercat', values=['all'])
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('rename?', cli_name='rename')
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Int('sudoorder?', autofill=False, cli_name='order', default=0)
-option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=[u'all'])
+option: StrEnum('usercategory?', autofill=False, cli_name='usercat', values=['all'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudorule_remove_allow_command/1
 args: 1,6,3
@@ -5450,8 +5450,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('sudocmd*', alwaysask=True, cli_name='sudocmds')
 option: Str('sudocmdgroup*', alwaysask=True, cli_name='sudocmdgroups')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_remove_deny_command/1
 args: 1,6,3
@@ -5462,8 +5462,8 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('sudocmd*', alwaysask=True, cli_name='sudocmds')
 option: Str('sudocmdgroup*', alwaysask=True, cli_name='sudocmdgroups')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_remove_host/1
 args: 1,7,3
@@ -5475,8 +5475,8 @@ option: Str('hostmask*')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_remove_option/1
 args: 1,5,3
@@ -5487,7 +5487,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: sudorule_remove_runasgroup/1
 args: 1,5,3
@@ -5497,8 +5497,8 @@ option: Str('group*', alwaysask=True, cli_name='groups')
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_remove_runasuser/1
 args: 1,6,3
@@ -5509,8 +5509,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_remove_user/1
 args: 1,6,3
@@ -5521,8 +5521,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: sudorule_show/1
 args: 1,5,3
@@ -5533,7 +5533,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topic_find/1
 args: 1,4,4
@@ -5542,10 +5542,10 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: topic_show/1
 args: 1,3,3
 arg: Str('full_name')
@@ -5553,7 +5553,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysegment_add/1
 args: 2,13,3
@@ -5561,10 +5561,10 @@ arg: Str('topologysuffixcn', cli_name='topologysuffix')
 arg: Str('cn', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
-option: StrEnum('iparepltoposegmentdirection', autofill=True, cli_name='direction', default=u'both', values=[u'both', u'left-right', u'right-left'])
+option: StrEnum('iparepltoposegmentdirection', autofill=True, cli_name='direction', default='both', values=['both', 'left-right', 'right-left'])
 option: Str('iparepltoposegmentleftnode', cli_name='leftnode')
 option: Str('iparepltoposegmentrightnode', cli_name='rightnode')
-option: StrEnum('nsds5replicaenabled?', cli_name='enabled', values=[u'on', u'off'])
+option: StrEnum('nsds5replicaenabled?', cli_name='enabled', values=['on', 'off'])
 option: Str('nsds5replicastripattrs?', cli_name='stripattrs')
 option: Str('nsds5replicatedattributelist?', cli_name='replattrs')
 option: Str('nsds5replicatedattributelisttotal?', cli_name='replattrstotal')
@@ -5573,7 +5573,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysegment_del/1
 args: 2,2,3
@@ -5581,8 +5581,8 @@ arg: Str('topologysuffixcn', cli_name='topologysuffix')
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: topologysegment_find/1
 args: 2,15,4
@@ -5590,10 +5590,10 @@ arg: Str('topologysuffixcn', cli_name='topologysuffix')
 arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('cn?', autofill=False, cli_name='name')
-option: StrEnum('iparepltoposegmentdirection?', autofill=False, cli_name='direction', default=u'both', values=[u'both', u'left-right', u'right-left'])
+option: StrEnum('iparepltoposegmentdirection?', autofill=False, cli_name='direction', default='both', values=['both', 'left-right', 'right-left'])
 option: Str('iparepltoposegmentleftnode?', autofill=False, cli_name='leftnode')
 option: Str('iparepltoposegmentrightnode?', autofill=False, cli_name='rightnode')
-option: StrEnum('nsds5replicaenabled?', autofill=False, cli_name='enabled', values=[u'on', u'off'])
+option: StrEnum('nsds5replicaenabled?', autofill=False, cli_name='enabled', values=['on', 'off'])
 option: Str('nsds5replicastripattrs?', autofill=False, cli_name='stripattrs')
 option: Str('nsds5replicatedattributelist?', autofill=False, cli_name='replattrs')
 option: Str('nsds5replicatedattributelisttotal?', autofill=False, cli_name='replattrstotal')
@@ -5603,10 +5603,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: topologysegment_mod/1
 args: 2,12,3
 arg: Str('topologysuffixcn', cli_name='topologysuffix')
@@ -5614,7 +5614,7 @@ arg: Str('cn', cli_name='name')
 option: Str('addattr*', cli_name='addattr')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('delattr*', cli_name='delattr')
-option: StrEnum('nsds5replicaenabled?', autofill=False, cli_name='enabled', values=[u'on', u'off'])
+option: StrEnum('nsds5replicaenabled?', autofill=False, cli_name='enabled', values=['on', 'off'])
 option: Str('nsds5replicastripattrs?', autofill=False, cli_name='stripattrs')
 option: Str('nsds5replicatedattributelist?', autofill=False, cli_name='replattrs')
 option: Str('nsds5replicatedattributelisttotal?', autofill=False, cli_name='replattrstotal')
@@ -5624,7 +5624,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysegment_reinitialize/1
 args: 2,4,3
@@ -5634,8 +5634,8 @@ option: Flag('left?', autofill=True, default=False)
 option: Flag('right?', autofill=True, default=False)
 option: Flag('stop?', autofill=True, default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysegment_show/1
 args: 2,4,3
@@ -5646,7 +5646,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysuffix_add/1
 args: 1,6,3
@@ -5658,15 +5658,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysuffix_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='name')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: topologysuffix_find/1
 args: 1,8,4
@@ -5679,10 +5679,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: topologysuffix_mod/1
 args: 1,8,3
 arg: Str('cn', cli_name='name')
@@ -5695,7 +5695,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysuffix_show/1
 args: 1,4,3
@@ -5705,7 +5705,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: topologysuffix_verify/1
 args: 1,1,1
@@ -5721,25 +5721,25 @@ option: Int('base_id?', cli_name='base_id')
 option: Bool('bidirectional?', cli_name='two_way', default=False)
 option: Bool('external?', cli_name='external', default=False)
 option: Int('range_size?', cli_name='range_size')
-option: StrEnum('range_type?', cli_name='range_type', values=[u'ipa-ad-trust-posix', u'ipa-ad-trust'])
+option: StrEnum('range_type?', cli_name='range_type', values=['ipa-ad-trust', 'ipa-ad-trust-posix'])
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('realm_admin?', cli_name='admin')
 option: Password('realm_passwd?', cli_name='password', confirm=False)
 option: Str('realm_server?', cli_name='server')
 option: Str('setattr*', cli_name='setattr')
 option: Password('trust_secret?', cli_name='trust_secret', confirm=False)
-option: StrEnum('trust_type', autofill=True, cli_name='type', default=u'ad', values=[u'ad'])
+option: StrEnum('trust_type', autofill=True, cli_name='type', default='ad', values=['ad'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: trust_del/1
 args: 1,2,3
 arg: Str('cn+', cli_name='realm')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: trust_fetch_domains/1
 args: 1,5,4
@@ -5749,10 +5749,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('realm_server?', cli_name='server')
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: trust_find/1
 args: 1,11,4
 arg: Str('criteria?')
@@ -5767,10 +5767,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: trust_mod/1
 args: 1,10,3
 arg: Str('cn', cli_name='realm')
@@ -5785,7 +5785,7 @@ option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: trust_resolve/1
 args: 0,4,1
@@ -5802,7 +5802,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: trustconfig_mod/1
 args: 0,9,3
@@ -5813,21 +5813,21 @@ option: Str('ipantfallbackprimarygroup?', autofill=False, cli_name='fallback_pri
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('trust_type', autofill=True, cli_name='type', default=u'ad', values=[u'ad'])
+option: StrEnum('trust_type', autofill=True, cli_name='type', default='ad', values=['ad'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: trustconfig_show/1
 args: 0,5,3
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
-option: StrEnum('trust_type', autofill=True, cli_name='type', default=u'ad', values=[u'ad'])
+option: StrEnum('trust_type', autofill=True, cli_name='type', default='ad', values=['ad'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('value', type=[<type 'unicode'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('value', type=[<class 'str'>])
 command: trustdomain_add/1
 args: 2,8,3
 arg: Str('trustcn', cli_name='trust')
@@ -5838,10 +5838,10 @@ option: Str('ipantflatname?', cli_name='flat_name')
 option: Str('ipanttrusteddomainsid?', cli_name='sid')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('trust_type', autofill=True, cli_name='type', default=u'ad', values=[u'ad'])
+option: StrEnum('trust_type', autofill=True, cli_name='type', default='ad', values=['ad'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: trustdomain_del/1
 args: 2,2,3
@@ -5849,24 +5849,24 @@ arg: Str('trustcn', cli_name='trust')
 arg: Str('cn+', cli_name='domain')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: trustdomain_disable/1
 args: 2,1,3
 arg: Str('trustcn', cli_name='trust')
 arg: Str('cn', cli_name='domain')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: trustdomain_enable/1
 args: 2,1,3
 arg: Str('trustcn', cli_name='trust')
 arg: Str('cn', cli_name='domain')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: trustdomain_find/1
 args: 2,9,4
@@ -5881,10 +5881,10 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Int('sizelimit?', autofill=False)
 option: Int('timelimit?', autofill=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: trustdomain_mod/1
 args: 2,10,3
 arg: Str('trustcn', cli_name='trust')
@@ -5897,10 +5897,10 @@ option: Str('ipanttrusteddomainsid?', autofill=False, cli_name='sid')
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('setattr*', cli_name='setattr')
-option: StrEnum('trust_type', autofill=True, cli_name='type', default=u'ad', values=[u'ad'])
+option: StrEnum('trust_type', autofill=True, cli_name='type', default='ad', values=['ad'])
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_add/1
 args: 1,46,3
@@ -5922,7 +5922,7 @@ option: Str('initials?', autofill=True)
 option: Str('ipasshpubkey*', cli_name='sshpubkey')
 option: Str('ipatokenradiusconfiglink?', cli_name='radius')
 option: Str('ipatokenradiususername?', cli_name='radius_username')
-option: StrEnum('ipauserauthtype*', cli_name='user_auth_type', values=[u'password', u'radius', u'otp'])
+option: StrEnum('ipauserauthtype*', cli_name='user_auth_type', values=['password', 'radius', 'otp'])
 option: DateTime('krbpasswordexpiration?', cli_name='password_expiration')
 option: DateTime('krbprincipalexpiration?', cli_name='principal_expiration')
 option: Principal('krbprincipalname*', autofill=True, cli_name='principal')
@@ -5952,7 +5952,7 @@ option: Str('userclass*', cli_name='class')
 option: Password('userpassword?', cli_name='password')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_add_cert/1
 args: 1,5,3
@@ -5963,7 +5963,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_add_certmapdata/1
 args: 2,7,3
@@ -5977,7 +5977,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: DNParam('subject?', cli_name='subject')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_add_manager/1
 args: 1,5,3
@@ -5987,8 +5987,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: user_add_principal/1
 args: 2,4,3
@@ -5999,7 +5999,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_del/1
 args: 1,3,3
@@ -6007,22 +6007,22 @@ arg: Str('uid+', cli_name='login')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Bool('preserve?')
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: user_disable/1
 args: 1,1,3
 arg: Str('uid', cli_name='login')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_enable/1
 args: 1,1,3
 arg: Str('uid', cli_name='login')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_find/1
 args: 1,57,4
@@ -6047,7 +6047,7 @@ option: Str('in_sudorule*', cli_name='in_sudorules')
 option: Str('initials?', autofill=False)
 option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius')
 option: Str('ipatokenradiususername?', autofill=False, cli_name='radius_username')
-option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=[u'password', u'radius', u'otp'])
+option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=['password', 'radius', 'otp'])
 option: DateTime('krbpasswordexpiration?', autofill=False, cli_name='password_expiration')
 option: DateTime('krbprincipalexpiration?', autofill=False, cli_name='principal_expiration')
 option: Principal('krbprincipalname*', autofill=False, cli_name='principal')
@@ -6084,10 +6084,10 @@ option: Str('userclass*', autofill=False, cli_name='class')
 option: Password('userpassword?', autofill=False, cli_name='password')
 option: Str('version?')
 option: Flag('whoami', autofill=True, default=False)
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: user_mod/1
 args: 1,48,3
 arg: Str('uid', cli_name='login')
@@ -6109,7 +6109,7 @@ option: Str('initials?', autofill=False)
 option: Str('ipasshpubkey*', autofill=False, cli_name='sshpubkey')
 option: Str('ipatokenradiusconfiglink?', autofill=False, cli_name='radius')
 option: Str('ipatokenradiususername?', autofill=False, cli_name='radius_username')
-option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=[u'password', u'radius', u'otp'])
+option: StrEnum('ipauserauthtype*', autofill=False, cli_name='user_auth_type', values=['password', 'radius', 'otp'])
 option: DateTime('krbpasswordexpiration?', autofill=False, cli_name='password_expiration')
 option: DateTime('krbprincipalexpiration?', autofill=False, cli_name='principal_expiration')
 option: Principal('krbprincipalname*', autofill=False, cli_name='principal')
@@ -6140,7 +6140,7 @@ option: Str('userclass*', autofill=False, cli_name='class')
 option: Password('userpassword?', autofill=False, cli_name='password')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_remove_cert/1
 args: 1,5,3
@@ -6151,7 +6151,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Certificate('usercertificate+', alwaysask=True, cli_name='certificate')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_remove_certmapdata/1
 args: 2,7,3
@@ -6165,7 +6165,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: DNParam('subject?', cli_name='subject')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_remove_manager/1
 args: 1,5,3
@@ -6175,8 +6175,8 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: user_remove_principal/1
 args: 2,4,3
@@ -6187,7 +6187,7 @@ option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_show/1
 args: 1,6,3
@@ -6199,15 +6199,15 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_stage/1
 args: 1,2,3
 arg: Str('uid+', cli_name='login')
 option: Flag('continue', autofill=True, cli_name='continue', default=False)
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: user_status/1
 args: 1,3,4
@@ -6215,23 +6215,23 @@ arg: Str('useruid', cli_name='login')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: user_undel/1
 args: 1,1,3
 arg: Str('uid', cli_name='login')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: user_unlock/1
 args: 1,1,3
 arg: Str('uid', cli_name='login')
 option: Str('version?')
-output: Output('result', type=[<type 'bool'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vault_add_internal/1
 args: 1,13,3
@@ -6241,7 +6241,7 @@ option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('description?', cli_name='desc')
 option: Bytes('ipavaultpublickey?', cli_name='public_key')
 option: Bytes('ipavaultsalt?', cli_name='salt')
-option: StrEnum('ipavaulttype?', autofill=True, cli_name='type', default=u'symmetric', values=[u'standard', u'symmetric', u'asymmetric'])
+option: StrEnum('ipavaulttype?', autofill=True, cli_name='type', default='symmetric', values=['standard', 'symmetric', 'asymmetric'])
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Principal('service?')
@@ -6250,7 +6250,7 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vault_add_member/1
 args: 1,10,3
@@ -6265,8 +6265,8 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: vault_add_owner/1
 args: 1,10,3
@@ -6281,8 +6281,8 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: vault_archive_internal/1
 args: 1,9,3
@@ -6297,7 +6297,7 @@ option: Str('username?', cli_name='user')
 option: Bytes('vault_data')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vault_del/1
 args: 1,5,3
@@ -6307,8 +6307,8 @@ option: Principal('service?')
 option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: vault_find/1
 args: 1,15,4
@@ -6316,7 +6316,7 @@ arg: Str('criteria?')
 option: Flag('all', autofill=True, cli_name='all', default=False)
 option: Str('cn?', autofill=False, cli_name='name')
 option: Str('description?', autofill=False, cli_name='desc')
-option: StrEnum('ipavaulttype?', autofill=False, cli_name='type', default=u'symmetric', values=[u'standard', u'symmetric', u'asymmetric'])
+option: StrEnum('ipavaulttype?', autofill=False, cli_name='type', default='symmetric', values=['standard', 'symmetric', 'asymmetric'])
 option: Flag('no_members', autofill=True, default=True)
 option: Flag('pkey_only?', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
@@ -6328,10 +6328,10 @@ option: Int('timelimit?', autofill=False)
 option: Str('username?', cli_name='user')
 option: Flag('users?', autofill=True, default=False)
 option: Str('version?')
-output: Output('count', type=[<type 'int'>])
+output: Output('count', type=[<class 'int'>])
 output: ListOfEntries('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
-output: Output('truncated', type=[<type 'bool'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
+output: Output('truncated', type=[<class 'bool'>])
 command: vault_mod_internal/1
 args: 1,15,3
 arg: Str('cn', cli_name='name')
@@ -6341,7 +6341,7 @@ option: Str('delattr*', cli_name='delattr')
 option: Str('description?', autofill=False, cli_name='desc')
 option: Bytes('ipavaultpublickey?', autofill=False, cli_name='public_key')
 option: Bytes('ipavaultsalt?', autofill=False, cli_name='salt')
-option: StrEnum('ipavaulttype?', autofill=False, cli_name='type', default=u'symmetric', values=[u'standard', u'symmetric', u'asymmetric'])
+option: StrEnum('ipavaulttype?', autofill=False, cli_name='type', default='symmetric', values=['standard', 'symmetric', 'asymmetric'])
 option: Flag('no_members', autofill=True, default=False)
 option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Flag('rights', autofill=True, default=False)
@@ -6351,7 +6351,7 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vault_remove_member/1
 args: 1,10,3
@@ -6366,8 +6366,8 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: vault_remove_owner/1
 args: 1,10,3
@@ -6382,8 +6382,8 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: vault_retrieve_internal/1
 args: 1,7,3
@@ -6396,7 +6396,7 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vault_show/1
 args: 1,8,3
@@ -6410,7 +6410,7 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vaultconfig_show/1
 args: 0,4,3
@@ -6419,7 +6419,7 @@ option: Flag('raw', autofill=True, cli_name='raw', default=False)
 option: Str('transport_out?')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: vaultcontainer_add_owner/1
 args: 0,10,3
@@ -6433,8 +6433,8 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: vaultcontainer_del/1
 args: 0,5,3
@@ -6443,8 +6443,8 @@ option: Principal('service?')
 option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('result', type=[<type 'dict'>])
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('result', type=[<class 'dict'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: ListOfPrimaryKeys('value')
 command: vaultcontainer_remove_owner/1
 args: 0,10,3
@@ -6458,8 +6458,8 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('user*', alwaysask=True, cli_name='users')
 option: Str('username?', cli_name='user')
 option: Str('version?')
-output: Output('completed', type=[<type 'int'>])
-output: Output('failed', type=[<type 'dict'>])
+output: Output('completed', type=[<class 'int'>])
+output: Output('failed', type=[<class 'dict'>])
 output: Entry('result')
 command: vaultcontainer_show/1
 args: 0,8,3
@@ -6472,14 +6472,14 @@ option: Flag('shared?', autofill=True, default=False)
 option: Str('username?', cli_name='user')
 option: Str('version?')
 output: Entry('result')
-output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
+output: Output('summary', type=[<class 'str'>, <class 'NoneType'>])
 output: PrimaryKey('value')
 command: whoami/1
 args: 0,1,3
 option: Str('version?')
-output: Output('arguments', type=[<type 'list'>, <type 'tuple'>])
-output: Output('command', type=[<type 'unicode'>])
-output: Output('object', type=[<type 'unicode'>])
+output: Output('arguments', type=[<class 'list'>, <class 'tuple'>])
+output: Output('command', type=[<class 'str'>])
+output: Output('object', type=[<class 'str'>])
 default: aci/1
 default: aci_add/1
 default: aci_del/1
diff --git a/makeapi b/makeapi
index 2b1d154672..d84b886a5e 100755
--- a/makeapi
+++ b/makeapi
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
 #   John Dennis <jdennis@redhat.com>

From 4b48a7051d81dffbb90f0373160c855c48f1c071 Mon Sep 17 00:00:00 2001
From: Stanislav Laznicka <slaznick@redhat.com>
Date: Thu, 31 Aug 2017 10:45:31 +0200
Subject: [PATCH 2/2] Have all the scripts run in python 3 by default

The Python 3 refactoring effort is finishing, it should be safe
to turn all scripts to run in Python 3 by default.

https://pagure.io/freeipa/issue/4985
---
 client/ipa-client-automount                        |  2 +-
 daemons/dnssec/ipa-dnskeysync-replica              |  2 +-
 daemons/dnssec/ipa-dnskeysyncd                     |  2 +-
 daemons/dnssec/ipa-ods-exporter                    |  2 +-
 daemons/ipa-otpd/test.py                           |  2 +-
 doc/examples/python-api.py                         |  2 +-
 freeipa.spec.in                                    | 61 +---------------------
 .../certmonger/dogtag-ipa-ca-renew-agent-submit    |  2 +-
 install/certmonger/ipa-server-guard                |  2 +-
 install/oddjob/com.redhat.idm.trust-fetch-domains  |  2 +-
 install/restart_scripts/renew_ca_cert              |  2 +-
 install/restart_scripts/renew_kdc_cert             |  2 +-
 install/restart_scripts/renew_ra_cert              |  2 +-
 install/restart_scripts/renew_ra_cert_pre          |  2 +-
 install/restart_scripts/restart_dirsrv             |  2 +-
 install/restart_scripts/restart_httpd              |  2 +-
 install/restart_scripts/stop_pkicad                |  2 +-
 install/tools/ipa-compat-manage                    |  2 +-
 install/tools/ipa-custodia                         |  2 +-
 install/tools/ipa-httpd-kdcproxy                   |  2 +-
 install/tools/ipa-ldap-updater                     |  2 +-
 install/tools/ipa-managed-entries                  |  2 +-
 install/tools/ipa-nis-manage                       |  2 +-
 install/tools/ipa-pki-retrieve-key                 |  2 +-
 install/tools/ipa-server-upgrade                   |  2 +-
 install/tools/ipactl                               |  2 +-
 ipa                                                |  2 +-
 ipaclient/csrgen_ffi.py                            | 14 +++--
 ipaclient/setup.py                                 |  2 +-
 ipalib/setup.py                                    |  2 +-
 ipaplatform/setup.py                               |  2 +-
 ipapython/setup.py                                 |  2 +-
 ipaserver/dnssec/localhsm.py                       |  2 +-
 ipaserver/dnssec/odsmgr.py                         |  2 +-
 ipaserver/setup.py                                 |  2 +-
 ipatests/i18n.py                                   |  2 +-
 ipatests/ipa-run-tests                             |  2 +-
 ipatests/pytest_plugins/beakerlib.py               |  2 +-
 ipatests/setup.py                                  |  2 +-
 makeaci                                            |  2 +-
 40 files changed, 51 insertions(+), 100 deletions(-)

diff --git a/client/ipa-client-automount b/client/ipa-client-automount
index ee55d655c9..7a8374852e 100755
--- a/client/ipa-client-automount
+++ b/client/ipa-client-automount
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
diff --git a/daemons/dnssec/ipa-dnskeysync-replica b/daemons/dnssec/ipa-dnskeysync-replica
index 5a64b84cb4..8e993d93ec 100755
--- a/daemons/dnssec/ipa-dnskeysync-replica
+++ b/daemons/dnssec/ipa-dnskeysync-replica
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # Copyright (C) 2014  FreeIPA Contributors see COPYING for license
 #
diff --git a/daemons/dnssec/ipa-dnskeysyncd b/daemons/dnssec/ipa-dnskeysyncd
index f0f413549a..83df5129a9 100755
--- a/daemons/dnssec/ipa-dnskeysyncd
+++ b/daemons/dnssec/ipa-dnskeysyncd
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # Copyright (C) 2014  FreeIPA Contributors see COPYING for license
 #
diff --git a/daemons/dnssec/ipa-ods-exporter b/daemons/dnssec/ipa-ods-exporter
index b1e69df864..51a8807a49 100755
--- a/daemons/dnssec/ipa-ods-exporter
+++ b/daemons/dnssec/ipa-ods-exporter
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # Copyright (C) 2014  FreeIPA Contributors see COPYING for license
 #
diff --git a/daemons/ipa-otpd/test.py b/daemons/ipa-otpd/test.py
index ea55f9b2a7..5c288e57c9 100644
--- a/daemons/ipa-otpd/test.py
+++ b/daemons/ipa-otpd/test.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # FreeIPA 2FA companion daemon
 #
diff --git a/doc/examples/python-api.py b/doc/examples/python-api.py
index 3fde3fe327..533f269519 100755
--- a/doc/examples/python-api.py
+++ b/doc/examples/python-api.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors:
 #   Jason Gerard DeRose <jderose@redhat.com>
 #
diff --git a/freeipa.spec.in b/freeipa.spec.in
index ccc61784f3..a219825e48 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -867,71 +867,14 @@ export JAVA_STACK_SIZE="8m"
 # PATH is workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1005235
 export PATH=/usr/bin:/usr/sbin:$PATH
 export PYTHON=%{__python2}
-# Workaround: make sure all shebangs are pointing to Python 2
+# Workaround: make sure all shebangs are pointing to Python 3
 # This should be solved properly using setuptools
 # and this hack should be removed.
 find \
 	! -name '*.pyc' -a \
 	! -name '*.pyo' -a \
 	-type f -exec grep -qsm1 '^#!.*\bpython' {} \; \
-	-exec sed -i -e '1 s|^#!.*\bpython[^ ]*|#!%{__python2}|' {} \;
-
-%if 0%{?with_python3}
-# TODO: temporary solution until all scripts are ported to python3,
-# TODO: workaround: some scripts are copied over, so the are always py2.
-# We have to explicitly set python3 here for ported files here
-PY3_SUBST_PATHS='
-client/ipa-certupdate
-client/ipa-client-automount
-client/ipa-client-install
-daemons/dnssec/ipa-dnskeysync-replica
-daemons/dnssec/ipa-dnskeysyncd
-daemons/dnssec/ipa-ods-exporter
-daemons/ipa-otpd/test.py
-install/certmonger/ipa-server-guard
-install/certmonger/dogtag-ipa-ca-renew-agent-submit
-install/oddjob/com.redhat.idm.trust-fetch-domains
-install/restart_scripts/renew_ra_cert_pre
-install/restart_scripts/renew_ca_cert
-install/restart_scripts/renew_ra_cert
-install/restart_scripts/restart_httpd
-install/restart_scripts/renew_kdc_cert
-install/restart_scripts/stop_pkicad
-install/restart_scripts/restart_dirsrv
-install/tools/ipa-advise
-install/tools/ipa-adtrust-install
-install/tools/ipa-backup
-install/tools/ipa-ca-install
-install/tools/ipa-cacert-manage
-install/tools/ipa-compat-manage
-install/tools/ipa-csreplica-manage
-install/tools/ipa-custodia
-install/tools/ipa-dns-install
-install/tools/ipa-httpd-kdcproxy
-install/tools/ipa-kra-install
-install/tools/ipa-ldap-updater
-install/tools/ipa-managed-entries
-install/tools/ipa-nis-manage
-install/tools/ipa-otptoken-import
-install/tools/ipa-pkinit-manage
-install/tools/ipa-pki-retrieve-key
-install/tools/ipa-replica-conncheck
-install/tools/ipa-replica-install
-install/tools/ipa-replica-manage
-install/tools/ipa-replica-prepare
-install/tools/ipa-restore
-install/tools/ipa-server-certinstall
-install/tools/ipa-server-install
-install/tools/ipa-server-upgrade
-install/tools/ipa-winsync-migrate
-install/tools/ipactl
-ipa
-'
-for P in $PY3_SUBST_PATHS; do
-    sed -i -e '1 s|^#!.*\bpython[0-9]*\(\s\+-\)\?|#!%{__python3} -bb|' $P
-done;
-
-%endif # with_python3
+	-exec sed -i -e '1 s|^#!.*\bpython[^ ]*|#!%{__python3}|' {} \;
 
 %configure --with-vendor-suffix=-%{release} \
            %{enable_server_option} \
diff --git a/install/certmonger/dogtag-ipa-ca-renew-agent-submit b/install/certmonger/dogtag-ipa-ca-renew-agent-submit
index 8d94fe2ec1..e8136acaec 100755
--- a/install/certmonger/dogtag-ipa-ca-renew-agent-submit
+++ b/install/certmonger/dogtag-ipa-ca-renew-agent-submit
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Jan Cholasta <jcholast@redhat.com>
diff --git a/install/certmonger/ipa-server-guard b/install/certmonger/ipa-server-guard
index 2c54097185..9ee2a5fa05 100755
--- a/install/certmonger/ipa-server-guard
+++ b/install/certmonger/ipa-server-guard
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Jan Cholasta <jcholast@redhat.com>
diff --git a/install/oddjob/com.redhat.idm.trust-fetch-domains b/install/oddjob/com.redhat.idm.trust-fetch-domains
index 30150793d9..51ffd8c358 100755
--- a/install/oddjob/com.redhat.idm.trust-fetch-domains
+++ b/install/oddjob/com.redhat.idm.trust-fetch-domains
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 
 from ipaserver import dcerpc
 from ipaserver.install.installutils import is_ipa_configured, ScriptError
diff --git a/install/restart_scripts/renew_ca_cert b/install/restart_scripts/renew_ca_cert
index 30716531d2..4ae15e50ae 100644
--- a/install/restart_scripts/renew_ca_cert
+++ b/install/restart_scripts/renew_ca_cert
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
diff --git a/install/restart_scripts/renew_kdc_cert b/install/restart_scripts/renew_kdc_cert
index 14902893f0..48935b29e0 100755
--- a/install/restart_scripts/renew_kdc_cert
+++ b/install/restart_scripts/renew_kdc_cert
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Copyright (C) 2017  FreeIPA Contributors see COPYING for license
 #
diff --git a/install/restart_scripts/renew_ra_cert b/install/restart_scripts/renew_ra_cert
index 486ee78662..cc6ed34461 100644
--- a/install/restart_scripts/renew_ra_cert
+++ b/install/restart_scripts/renew_ra_cert
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
diff --git a/install/restart_scripts/renew_ra_cert_pre b/install/restart_scripts/renew_ra_cert_pre
index d0f743c099..151d98a5e3 100755
--- a/install/restart_scripts/renew_ra_cert_pre
+++ b/install/restart_scripts/renew_ra_cert_pre
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Copyright (C) 2015  FreeIPA Contributors see COPYING for license
 #
diff --git a/install/restart_scripts/restart_dirsrv b/install/restart_scripts/restart_dirsrv
index ff476cac46..01fca480e9 100644
--- a/install/restart_scripts/restart_dirsrv
+++ b/install/restart_scripts/restart_dirsrv
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
diff --git a/install/restart_scripts/restart_httpd b/install/restart_scripts/restart_httpd
index d168481290..9b342bf1e9 100644
--- a/install/restart_scripts/restart_httpd
+++ b/install/restart_scripts/restart_httpd
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
diff --git a/install/restart_scripts/stop_pkicad b/install/restart_scripts/stop_pkicad
index 133a4ef8fd..f245a276fe 100644
--- a/install/restart_scripts/stop_pkicad
+++ b/install/restart_scripts/stop_pkicad
@@ -1,4 +1,4 @@
-#!/usr/bin/python2 -E
+#!/usr/bin/python3 -E
 #
 # Authors:
 #   Rob Crittenden <rcritten@redhat.com>
diff --git a/install/tools/ipa-compat-manage b/install/tools/ipa-compat-manage
index 6dd259d2aa..6444e09926 100755
--- a/install/tools/ipa-compat-manage
+++ b/install/tools/ipa-compat-manage
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors: Rob Crittenden <rcritten@redhat.com>
 # Authors: Simo Sorce <ssorce@redhat.com>
 #
diff --git a/install/tools/ipa-custodia b/install/tools/ipa-custodia
index 5deeeffdd7..8a112e2c50 100755
--- a/install/tools/ipa-custodia
+++ b/install/tools/ipa-custodia
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2017  IPA Project Contributors, see COPYING for license
 from ipaserver.secrets.service import main
 
diff --git a/install/tools/ipa-httpd-kdcproxy b/install/tools/ipa-httpd-kdcproxy
index 988dcedfb3..5c65788645 100755
--- a/install/tools/ipa-httpd-kdcproxy
+++ b/install/tools/ipa-httpd-kdcproxy
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors:
 #   Christian Heimes <cheimes@redhat.com>
 #
diff --git a/install/tools/ipa-ldap-updater b/install/tools/ipa-ldap-updater
index 98081d791e..b341781591 100755
--- a/install/tools/ipa-ldap-updater
+++ b/install/tools/ipa-ldap-updater
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors: Rob Crittenden <rcritten@redhat.com>
 #
 # Copyright (C) 2008  Red Hat
diff --git a/install/tools/ipa-managed-entries b/install/tools/ipa-managed-entries
index 5bf0e43b61..e9be41b7a3 100755
--- a/install/tools/ipa-managed-entries
+++ b/install/tools/ipa-managed-entries
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors: Jr Aquino <jr.aquino@citrix.com>
 #
 # Copyright (C) 2011  Red Hat
diff --git a/install/tools/ipa-nis-manage b/install/tools/ipa-nis-manage
index c44b0f9edc..dbac9cb09c 100755
--- a/install/tools/ipa-nis-manage
+++ b/install/tools/ipa-nis-manage
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors: Rob Crittenden <rcritten@redhat.com>
 # Authors: Simo Sorce <ssorce@redhat.com>
 #
diff --git a/install/tools/ipa-pki-retrieve-key b/install/tools/ipa-pki-retrieve-key
index 505ed238ef..cdf2e831da 100755
--- a/install/tools/ipa-pki-retrieve-key
+++ b/install/tools/ipa-pki-retrieve-key
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 
 from __future__ import print_function
 
diff --git a/install/tools/ipa-server-upgrade b/install/tools/ipa-server-upgrade
index 781b0d3dbc..a3a36cd39f 100644
--- a/install/tools/ipa-server-upgrade
+++ b/install/tools/ipa-server-upgrade
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # Copyright (C) 2015  FreeIPA Contributors see COPYING for license
 #
diff --git a/install/tools/ipactl b/install/tools/ipactl
index 03f41e5674..a185205755 100755
--- a/install/tools/ipactl
+++ b/install/tools/ipactl
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors: Simo Sorce <ssorce@redhat.com>
 #
 # Copyright (C) 2008-2010  Red Hat
diff --git a/ipa b/ipa
index d6e01a2288..4d9498afc0 100755
--- a/ipa
+++ b/ipa
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 
 # Authors:
 #   Jason Gerard DeRose <jderose@redhat.com>
diff --git a/ipaclient/csrgen_ffi.py b/ipaclient/csrgen_ffi.py
index c45db5f147..7d932d3ce4 100644
--- a/ipaclient/csrgen_ffi.py
+++ b/ipaclient/csrgen_ffi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 
 from cffi import FFI
 import ctypes.util
@@ -37,6 +37,10 @@
 int sk_num(const _STACK *);
 void *sk_value(const _STACK *, int);
 
+/* OpenSSL >= 1.1 prepends these symbols with "OPENSSL_" */
+int OPENSSL_sk_num(const _STACK *);
+void *OPENSSL_sk_value(const _STACK *, int);
+
 /* openssl/bio.h */
 BIO *BIO_new_mem_buf(const void *buf, int len);
 int BIO_free(BIO *a);
@@ -125,8 +129,12 @@
 NCONF_get_string = _libcrypto.NCONF_get_string
 
 # openssl/stack.h
-sk_num = _libcrypto.sk_num
-sk_value = _libcrypto.sk_value
+try:
+    sk_num = _libcrypto.OPENSSL_sk_num
+    sk_value = _libcrypto.OPENSSL_sk_value
+except AttributeError:
+    sk_num = _libcrypto.sk_num
+    sk_value = _libcrypto.sk_value
 
 
 def sk_CONF_VALUE_num(sk):
diff --git a/ipaclient/setup.py b/ipaclient/setup.py
index ac947e772e..aaab5c9793 100644
--- a/ipaclient/setup.py
+++ b/ipaclient/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2007  Red Hat
 # see file 'COPYING' for use and warranty information
 #
diff --git a/ipalib/setup.py b/ipalib/setup.py
index cdbd61c012..46d3f62914 100644
--- a/ipalib/setup.py
+++ b/ipalib/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2007  Red Hat
 # see file 'COPYING' for use and warranty information
 #
diff --git a/ipaplatform/setup.py b/ipaplatform/setup.py
index 501e2bc568..76419c0f7e 100644
--- a/ipaplatform/setup.py
+++ b/ipaplatform/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2014  Red Hat
 # see file 'COPYING' for use and warranty information
 #
diff --git a/ipapython/setup.py b/ipapython/setup.py
index 4f71530391..79bcc9f5fa 100755
--- a/ipapython/setup.py
+++ b/ipapython/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2007  Red Hat
 # see file 'COPYING' for use and warranty information
 #
diff --git a/ipaserver/dnssec/localhsm.py b/ipaserver/dnssec/localhsm.py
index 50a11714ff..a1de9a174b 100755
--- a/ipaserver/dnssec/localhsm.py
+++ b/ipaserver/dnssec/localhsm.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # Copyright (C) 2014  FreeIPA Contributors see COPYING for license
 #
diff --git a/ipaserver/dnssec/odsmgr.py b/ipaserver/dnssec/odsmgr.py
index 6b181e2e03..4bd051e28b 100644
--- a/ipaserver/dnssec/odsmgr.py
+++ b/ipaserver/dnssec/odsmgr.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 #
 # Copyright (C) 2014  FreeIPA Contributors see COPYING for license
 #
diff --git a/ipaserver/setup.py b/ipaserver/setup.py
index 96af1a7e8c..279887294d 100755
--- a/ipaserver/setup.py
+++ b/ipaserver/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 
 # Authors:
 #   Jason Gerard DeRose <jderose@redhat.com>
diff --git a/ipatests/i18n.py b/ipatests/i18n.py
index 9a3bf5b7f0..a1c331080f 100755
--- a/ipatests/i18n.py
+++ b/ipatests/i18n.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors:
 #   John Dennis <jdennis@redhat.com>
 #
diff --git a/ipatests/ipa-run-tests b/ipatests/ipa-run-tests
index 6b2070bdb7..394f55205c 100755
--- a/ipatests/ipa-run-tests
+++ b/ipatests/ipa-run-tests
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 
 # Authors:
 #   Petr Viktorin <pviktori@redhat.com>
diff --git a/ipatests/pytest_plugins/beakerlib.py b/ipatests/pytest_plugins/beakerlib.py
index 0bb4c978f6..53e2a80e00 100644
--- a/ipatests/pytest_plugins/beakerlib.py
+++ b/ipatests/pytest_plugins/beakerlib.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2014  Red Hat
 # see file 'COPYING' for use and warranty information
 #
diff --git a/ipatests/setup.py b/ipatests/setup.py
index 00b9334041..681caafd59 100644
--- a/ipatests/setup.py
+++ b/ipatests/setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Copyright (C) 2007  Red Hat
 # see file 'COPYING' for use and warranty information
 #
diff --git a/makeaci b/makeaci
index 57622fe046..4e62239f15 100755
--- a/makeaci
+++ b/makeaci
@@ -1,4 +1,4 @@
-#!/usr/bin/python2
+#!/usr/bin/python3
 # Authors:
 #   Petr Viktorin <pviktori@redhat.com>
 #   John Dennis <jdennis@redhat.com>
