From 346615d4a0029fb3f59344a98963b7fea8356b8c Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Fri, 24 Sep 2010 19:50:29 -0400 Subject: Test framework for Web UI. Test framework for Web UI has been created using qUnit. The test files are located in install/static/test. The main page is index.html which contains links to all test suites (xxx_tests.html). The test cases are stored in xxx_tests.js. All test suites can be executed at once using all_tests.html. The test data is stored in data folder. This patch includes test suites for ipa.js and entity.js. Some variables and functions in ipa.js have been modified to accomodate testing (e.g. JSON URL, error handler, synchronous operation). The sampledata has been moved to test/data. The develop.js and webui.js also have been modified accordingly. --- install/static/develop.js | 6 +- install/static/ipa.js | 69 +- install/static/sampledata/group_add.json | 31 - install/static/sampledata/group_add_member.json | 25 - install/static/sampledata/group_find.json | 75 - install/static/sampledata/group_show.json | 38 - install/static/sampledata/host_add.json | 40 - install/static/sampledata/host_find.json | 45 - install/static/sampledata/host_show.json | 56 - install/static/sampledata/hostgroup_add.json | 27 - .../static/sampledata/hostgroup_add_member.json | 37 - install/static/sampledata/hostgroup_find.json | 33 - install/static/sampledata/hostgroup_show.json | 22 - install/static/sampledata/json_metadata.json | 3362 -------------------- install/static/sampledata/netgroup_add.json | 28 - install/static/sampledata/netgroup_add_member.json | 40 - install/static/sampledata/netgroup_find.json | 56 - install/static/sampledata/netgroup_show.json | 38 - install/static/sampledata/rolegroup_add.json | 22 - .../static/sampledata/rolegroup_add_member.json | 27 - install/static/sampledata/rolegroup_del.json | 9 - install/static/sampledata/rolegroup_find.json | 185 -- .../static/sampledata/rolegroup_remove_member.json | 24 - install/static/sampledata/rolegroup_show.json | 20 - install/static/sampledata/service_add.json | 29 - install/static/sampledata/service_add_host.json | 21 - install/static/sampledata/service_del.json | 9 - install/static/sampledata/service_find.json | 48 - install/static/sampledata/service_remove_host.sh | 18 - install/static/sampledata/service_show.json | 18 - install/static/sampledata/user_add.json | 50 - install/static/sampledata/user_find.json | 246 -- install/static/sampledata/user_show.json | 71 - install/static/sampledata/whoami.json | 7 - install/static/test/all_tests.html | 24 + install/static/test/data/group_add.json | 31 + install/static/test/data/group_add_member.json | 25 + install/static/test/data/group_find.json | 75 + install/static/test/data/group_show.json | 38 + install/static/test/data/host_add.json | 40 + install/static/test/data/host_find.json | 45 + install/static/test/data/host_show.json | 56 + install/static/test/data/hostgroup_add.json | 27 + install/static/test/data/hostgroup_add_member.json | 37 + install/static/test/data/hostgroup_find.json | 33 + install/static/test/data/hostgroup_show.json | 22 + install/static/test/data/json_metadata.json | 3362 ++++++++++++++++++++ install/static/test/data/netgroup_add.json | 28 + install/static/test/data/netgroup_add_member.json | 40 + install/static/test/data/netgroup_find.json | 56 + install/static/test/data/netgroup_show.json | 38 + install/static/test/data/rolegroup_add.json | 22 + install/static/test/data/rolegroup_add_member.json | 27 + install/static/test/data/rolegroup_del.json | 9 + install/static/test/data/rolegroup_find.json | 185 ++ .../static/test/data/rolegroup_remove_member.json | 24 + install/static/test/data/rolegroup_show.json | 20 + install/static/test/data/service_add.json | 29 + install/static/test/data/service_add_host.json | 21 + install/static/test/data/service_del.json | 9 + install/static/test/data/service_find.json | 48 + install/static/test/data/service_remove_host.sh | 18 + install/static/test/data/service_show.json | 18 + install/static/test/data/user_add.json | 50 + install/static/test/data/user_find.json | 246 ++ install/static/test/data/user_show.json | 71 + install/static/test/data/whoami.json | 7 + install/static/test/entity_tests.html | 23 + install/static/test/entity_tests.js | 120 + install/static/test/index.html | 37 + install/static/test/ipa_tests.html | 19 + install/static/test/ipa_tests.js | 94 + install/static/test/qunit.css | 155 + install/static/test/qunit.js | 1261 ++++++++ install/static/webui.js | 13 +- 75 files changed, 6542 insertions(+), 4793 deletions(-) delete mode 100644 install/static/sampledata/group_add.json delete mode 100644 install/static/sampledata/group_add_member.json delete mode 100644 install/static/sampledata/group_find.json delete mode 100644 install/static/sampledata/group_show.json delete mode 100644 install/static/sampledata/host_add.json delete mode 100644 install/static/sampledata/host_find.json delete mode 100644 install/static/sampledata/host_show.json delete mode 100644 install/static/sampledata/hostgroup_add.json delete mode 100644 install/static/sampledata/hostgroup_add_member.json delete mode 100644 install/static/sampledata/hostgroup_find.json delete mode 100644 install/static/sampledata/hostgroup_show.json delete mode 100644 install/static/sampledata/json_metadata.json delete mode 100644 install/static/sampledata/netgroup_add.json delete mode 100644 install/static/sampledata/netgroup_add_member.json delete mode 100644 install/static/sampledata/netgroup_find.json delete mode 100644 install/static/sampledata/netgroup_show.json delete mode 100644 install/static/sampledata/rolegroup_add.json delete mode 100644 install/static/sampledata/rolegroup_add_member.json delete mode 100644 install/static/sampledata/rolegroup_del.json delete mode 100644 install/static/sampledata/rolegroup_find.json delete mode 100644 install/static/sampledata/rolegroup_remove_member.json delete mode 100644 install/static/sampledata/rolegroup_show.json delete mode 100644 install/static/sampledata/service_add.json delete mode 100644 install/static/sampledata/service_add_host.json delete mode 100644 install/static/sampledata/service_del.json delete mode 100644 install/static/sampledata/service_find.json delete mode 100644 install/static/sampledata/service_remove_host.sh delete mode 100644 install/static/sampledata/service_show.json delete mode 100644 install/static/sampledata/user_add.json delete mode 100644 install/static/sampledata/user_find.json delete mode 100644 install/static/sampledata/user_show.json delete mode 100644 install/static/sampledata/whoami.json create mode 100644 install/static/test/all_tests.html create mode 100644 install/static/test/data/group_add.json create mode 100644 install/static/test/data/group_add_member.json create mode 100644 install/static/test/data/group_find.json create mode 100644 install/static/test/data/group_show.json create mode 100644 install/static/test/data/host_add.json create mode 100644 install/static/test/data/host_find.json create mode 100644 install/static/test/data/host_show.json create mode 100644 install/static/test/data/hostgroup_add.json create mode 100644 install/static/test/data/hostgroup_add_member.json create mode 100644 install/static/test/data/hostgroup_find.json create mode 100644 install/static/test/data/hostgroup_show.json create mode 100644 install/static/test/data/json_metadata.json create mode 100644 install/static/test/data/netgroup_add.json create mode 100644 install/static/test/data/netgroup_add_member.json create mode 100644 install/static/test/data/netgroup_find.json create mode 100644 install/static/test/data/netgroup_show.json create mode 100644 install/static/test/data/rolegroup_add.json create mode 100644 install/static/test/data/rolegroup_add_member.json create mode 100644 install/static/test/data/rolegroup_del.json create mode 100644 install/static/test/data/rolegroup_find.json create mode 100644 install/static/test/data/rolegroup_remove_member.json create mode 100644 install/static/test/data/rolegroup_show.json create mode 100644 install/static/test/data/service_add.json create mode 100644 install/static/test/data/service_add_host.json create mode 100644 install/static/test/data/service_del.json create mode 100644 install/static/test/data/service_find.json create mode 100644 install/static/test/data/service_remove_host.sh create mode 100644 install/static/test/data/service_show.json create mode 100644 install/static/test/data/user_add.json create mode 100644 install/static/test/data/user_find.json create mode 100644 install/static/test/data/user_show.json create mode 100644 install/static/test/data/whoami.json create mode 100644 install/static/test/entity_tests.html create mode 100644 install/static/test/entity_tests.js create mode 100644 install/static/test/index.html create mode 100644 install/static/test/ipa_tests.html create mode 100644 install/static/test/ipa_tests.js create mode 100644 install/static/test/qunit.css create mode 100644 install/static/test/qunit.js diff --git a/install/static/develop.js b/install/static/develop.js index 1a80e94a..f161f782 100644 --- a/install/static/develop.js +++ b/install/static/develop.js @@ -1,2 +1,4 @@ -ipa_use_sampledata = (window.location.protocol == 'file:'); - +if (window.location.protocol == 'file:') { + ipa_json_url = "test/data"; + ipa_use_static_files = true; +} diff --git a/install/static/ipa.js b/install/static/ipa.js index 8110f3bf..b7f98e8d 100644 --- a/install/static/ipa.js +++ b/install/static/ipa.js @@ -21,9 +21,17 @@ /* IPA JSON-RPC helper */ var IPA_DEFAULT_JSON_URL = '/ipa/json'; -var IPA_SAMPLEDATA_URL = 'sampledata'; -var ipa_use_sampledata = false; +var ipa_json_url; +var ipa_use_static_files; + +var ipa_ajax_options = { + type: 'POST', + contentType: 'application/json', + dataType: 'json', + async: true, + processData: false, +}; /* JSON-RPC ID counter */ var ipa_jsonrpc_id = 0; @@ -31,42 +39,27 @@ var ipa_jsonrpc_id = 0; /* IPA objects data in JSON format */ var ipa_objs = {}; -var _ipa_init_on_win_callback = null; /* initialize the IPA JSON-RPC helper * arguments: * url - JSON-RPC URL to use (optional) */ -function ipa_init(url, on_win, use_sampledata) +function ipa_init(url, use_static_files, on_win, on_error) { if (url) ipa_json_url = url; - else - ipa_json_url = IPA_DEFAULT_JSON_URL; - if (use_sampledata) - ipa_use_sampledata = use_sampledata; - - _ipa_init_on_win_callback = on_win; - var options = { - type: 'POST', - contentType: 'application/json', - dataType: 'json', - processData: false, - }; - - $.ajaxSetup(options); + if (use_static_files) + ipa_use_static_files = use_static_files; - ipa_cmd('json_metadata', [], {}, _ipa_load_objs, - function(response){ - alert('init failed'); - }); -} + $.ajaxSetup(ipa_ajax_options); -function _ipa_load_objs(data, textStatus, xhr) -{ - ipa_objs = data.result.result; - if (_ipa_init_on_win_callback) - _ipa_init_on_win_callback(data, textStatus, xhr); + ipa_cmd('json_metadata', [], {}, + function(data, status, xhr) { + ipa_objs = data.result.result; + if (on_win) on_win(data, status, xhr); + }, + on_error + ); } /* call an IPA command over JSON-RPC @@ -84,8 +77,12 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname) name = objname + '_' + name; var url = ipa_json_url; - if (ipa_use_sampledata && IPA_SAMPLEDATA_URL) - url = IPA_SAMPLEDATA_URL + '/' + name + '.json'; + + if (!url) + url = IPA_DEFAULT_JSON_URL; + + if (ipa_use_static_files) + url += '/' + name + '.json'; var data = { method: name, @@ -132,7 +129,10 @@ function ipa_parse_qs(qs) /* helper function used to retrieve information about an attribute */ function ipa_get_param_info(obj_name, attr) { - var takes_params = ipa_objs[obj_name].takes_params; + var ipa_obj = ipa_objs[obj_name]; + if (!ipa_obj) return null; + + var takes_params = ipa_obj.takes_params; if (!takes_params) return (null); @@ -147,7 +147,10 @@ function ipa_get_param_info(obj_name, attr) /* helper function used to retrieve attr name with members of type `member` */ function ipa_get_member_attribute(obj_name, member) { - var attribute_members = ipa_objs[obj_name].attribute_members + var ipa_obj = ipa_objs[obj_name]; + if (!ipa_obj) return null; + + var attribute_members = ipa_obj.attribute_members for (var a in attribute_members) { var objs = attribute_members[a]; for (var i = 0; i < objs.length; ++i) { @@ -155,5 +158,7 @@ function ipa_get_member_attribute(obj_name, member) return a; } } + + return null; } diff --git a/install/static/sampledata/group_add.json b/install/static/sampledata/group_add.json deleted file mode 100644 index 180f5f11..00000000 --- a/install/static/sampledata/group_add.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "error": null, - "id": 12, - "result": { - "result": { - "cn": [ - "neighbors" - ], - "description": [ - "The People in Your Neighborhood" - ], - "dn": "cn=neighbors,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gidnumber": [ - "123456" - ], - "ipauniqueid": [ - "0dbae87a-b43a-11df-ac8e-525400674dcd" - ], - "objectclass": [ - "top", - "groupofnames", - "nestedgroup", - "ipausergroup", - "ipaobject", - "posixgroup" - ] - }, - "summary": null, - "value": "neighbors" - } -} \ No newline at end of file diff --git a/install/static/sampledata/group_add_member.json b/install/static/sampledata/group_add_member.json deleted file mode 100644 index 7f10d105..00000000 --- a/install/static/sampledata/group_add_member.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 1, - "failed": { - "member": { - "group": [], - "user": [] - } - }, - "result": { - "cn": [ - "testgroup" - ], - "description": [ - "testgroup" - ], - "dn": "cn=testgroup,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "member_user": [ - "kfrog" - ] - } - } -} \ No newline at end of file diff --git a/install/static/sampledata/group_find.json b/install/static/sampledata/group_find.json deleted file mode 100644 index 902689a0..00000000 --- a/install/static/sampledata/group_find.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "count": 5, - "result": [ - { - "cn": [ - "admins" - ], - "description": [ - "Account administrators group" - ], - "dn": "cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gidnumber": [ - "1948497956" - ], - "member_user": [ - "admin" - ] - }, - { - "cn": [ - "ipausers" - ], - "description": [ - "Default group for all users" - ], - "dn": "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gidnumber": [ - "1948497957" - ], - "member_user": [ - "kfrog", - "moi" - ] - }, - { - "cn": [ - "editors" - ], - "description": [ - "Limited admins who can edit other users" - ], - "dn": "cn=editors,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gidnumber": [ - "1948497958" - ] - }, - { - "cn": [ - "deleteme" - ], - "description": [ - "This is a group that should go away." - ], - "dn": "cn=deleteme,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" - }, - { - "cn": [ - "testgroup" - ], - "description": [ - "Detlete this if you see it" - ], - "dn": "cn=testgroup,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gidnumber": [ - "1948497959" - ] - } - ], - "summary": "5 groups matched", - "truncated": false - } -} \ No newline at end of file diff --git a/install/static/sampledata/group_show.json b/install/static/sampledata/group_show.json deleted file mode 100644 index 536b120c..00000000 --- a/install/static/sampledata/group_show.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "ipausers" - ], - "description": [ - "Default group for all users" - ], - "dn": "cn=ipausers,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "gidnumber": [ - "1079249048" - ], - "member": [ - "uid=gsmile,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "uid=kfrog,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "uid=count123,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" - ], - "member_user": [ - "gsmile", - "kfrog", - "count123" - ], - "memberof": [], - "objectclass": [ - "top", - "groupofnames", - "nestedgroup", - "ipausergroup", - "posixgroup" - ] - }, - "summary": null, - "value": "ipausers" - } -} diff --git a/install/static/sampledata/host_add.json b/install/static/sampledata/host_add.json deleted file mode 100644 index 8b4d8b93..00000000 --- a/install/static/sampledata/host_add.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "error": null, - "id": 14, - "result": { - "result": { - "cn": [ - "www.pbs.org" - ], - "dn": "fqdn=www.pbs.org,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "fqdn": [ - "www.pbs.org" - ], - "has_keytab": false, - "ipauniqueid": [ - "3ad2e63d-b43a-11df-8dd1-525400674dcd" - ], - "krbprincipalname": [ - "host/www.pbs.org@AYOUNG.BOSTON.DEVEL.REDHAT.COM" - ], - "managedby": [ - "fqdn=www.pbs.org,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" - ], - "objectclass": [ - "ipaobject", - "nshost", - "ipahost", - "pkiuser", - "ipaservice", - "krbprincipalaux", - "krbprincipal", - "top" - ], - "serverhostname": [ - "www" - ] - }, - "summary": null, - "value": "www.pbs.org" - } -} \ No newline at end of file diff --git a/install/static/sampledata/host_find.json b/install/static/sampledata/host_find.json deleted file mode 100644 index 83a65d1b..00000000 --- a/install/static/sampledata/host_find.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "count": 2, - "result": [ - { - "dn": "fqdn=vm-121.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "enrolledby": [], - "fqdn": [ - "vm-121.idm.lab.bos.redhat.com" - ], - "krbprincipalname": [ - "host/vm-121.idm.lab.bos.redhat.com@IDM.LAB.BOS.REDHAT.COM" - ], - "memberof": [] - }, - { - "description": [ - "sample host" - ], - "dn": "fqdn=ayounghost1.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "enrolledby": [], - "fqdn": [ - "ayounghost1.idm.lab.bos.redhat.com" - ], - "l": [ - "VM-lab" - ], - "memberof": [], - "nshardwareplatform": [ - "kvm" - ], - "nshostlocation": [ - "VM-lab" - ], - "nsosversion": [ - "F13" - ] - } - ], - "summary": "2 hosts matched", - "truncated": false - } -} \ No newline at end of file diff --git a/install/static/sampledata/host_show.json b/install/static/sampledata/host_show.json deleted file mode 100644 index 64a7fb31..00000000 --- a/install/static/sampledata/host_show.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "vm-121.idm.lab.bos.redhat.com" - ], - "dn": "fqdn=vm-121.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "enrolledby": [], - "fqdn": [ - "vm-121.idm.lab.bos.redhat.com" - ], - "ipauniqueid": [ - "b54b73a8-8ba8-11df-80bc-00163e26b89e" - ], - "krbextradata": [ - { - "__base64__": "AAKOoTdMYWRtaW4vYWRtaW5ASURNLkxBQi5CT1MuUkVESEFULkNPTQA=" - } - ], - "krblastpwdchange": [ - "20100709222414Z" - ], - "krbpasswordexpiration": [ - "19700101000000Z" - ], - "krbprincipalname": [ - "host/vm-121.idm.lab.bos.redhat.com@IDM.LAB.BOS.REDHAT.COM" - ], - "krbticketflags": [ - "0" - ], - "managedby": [ - "fqdn=vm-121.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" - ], - "memberof": [], - "objectclass": [ - "top", - "ipaobject", - "nshost", - "ipahost", - "ipaservice", - "pkiuser", - "krbprincipalaux", - "krbprincipal", - "krbticketpolicyaux" - ], - "serverhostname": [ - "vm-121" - ] - }, - "summary": null, - "value": "vm-121.idm.lab.bos.redhat.com" - } -} diff --git a/install/static/sampledata/hostgroup_add.json b/install/static/sampledata/hostgroup_add.json deleted file mode 100644 index bc41ee7d..00000000 --- a/install/static/sampledata/hostgroup_add.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "error": null, - "id": 15, - "result": { - "result": { - "cn": [ - "guest_hosts" - ], - "description": [ - "Special Guest Stars" - ], - "dn": "cn=guest_hosts,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "ipauniqueid": [ - "7f8c57ae-b43a-11df-8016-525400674dcd" - ], - "objectclass": [ - "ipaobject", - "ipahostgroup", - "nestedGroup", - "groupOfNames", - "top" - ] - }, - "summary": "Added hostgroup \"guest_hosts\"", - "value": "guest_hosts" - } -} \ No newline at end of file diff --git a/install/static/sampledata/hostgroup_add_member.json b/install/static/sampledata/hostgroup_add_member.json deleted file mode 100644 index a9220175..00000000 --- a/install/static/sampledata/hostgroup_add_member.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 3, - "failed": { - "member": { - "host": [], - "hostgroup": [] - } - }, - "result": { - "cn": [ - "host-live" - ], - "description": [ - "Live servers" - ], - "dn": "cn=host-live,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "ipauniqueid": [ - "1ba89342-b683-11df-8d5b-525400674dcd" - ], - "member_host": [ - "live3.pbs.org", - "live2.pbs.org", - "live1.pbs.org" - ], - "objectclass": [ - "ipaobject", - "ipahostgroup", - "nestedGroup", - "groupOfNames", - "top" - ] - } - } -} \ No newline at end of file diff --git a/install/static/sampledata/hostgroup_find.json b/install/static/sampledata/hostgroup_find.json deleted file mode 100644 index 6732910c..00000000 --- a/install/static/sampledata/hostgroup_find.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "count": 2, - "result": [ - { - "cn": [ - "host-live" - ], - "description": [ - "Live servers" - ], - "dn": "cn=host-live,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "member": [], - "memberof": [] - }, - { - "cn": [ - "stage-live" - ], - "description": [ - "Staging servers" - ], - "dn": "cn=stage-live,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "member": [], - "memberof": [] - } - ], - "summary": "2 hostgroups matched", - "truncated": false - } -} \ No newline at end of file diff --git a/install/static/sampledata/hostgroup_show.json b/install/static/sampledata/hostgroup_show.json deleted file mode 100644 index 776d446d..00000000 --- a/install/static/sampledata/hostgroup_show.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "host-live" - ], - "description": [ - "Live servers" - ], - "dn": "cn=host-live,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "member_host": [ - "live3.pbs.org", - "live2.pbs.org", - "live1.pbs.org" - ] - }, - "summary": null, - "value": "host-live" - } -} \ No newline at end of file diff --git a/install/static/sampledata/json_metadata.json b/install/static/sampledata/json_metadata.json deleted file mode 100644 index 07acb3e4..00000000 --- a/install/static/sampledata/json_metadata.json +++ /dev/null @@ -1,3362 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "aci": { - "__base64__": "" - }, - "automountkey": { - "attribute_members": {}, - "container_dn": "cn=automount", - "default_attributes": [ - "automountkey", - "automountinformation", - "description" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Automount Keys", - "methods": [ - "add", - "del", - "find", - "mod", - "show" - ], - "name": "automountkey", - "object_class": [ - "automount" - ], - "object_class_config": null, - "object_name": "automount key", - "object_name_plural": "automount keys", - "parent_object": "automountmap", - "primary_key": "automountkey", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "key", - "cli_short_name": null, - "default": null, - "doc": "Automount key name", - "exclude": null, - "flags": [], - "include": null, - "label": "Key", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "automountkey", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "info", - "cli_short_name": null, - "default": null, - "doc": "Mount information", - "exclude": null, - "flags": [], - "include": null, - "label": "Mount information", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "automountinformation", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "description", - "exclude": null, - "flags": [], - "include": null, - "label": "description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "" - }, - "automountlocation": { - "attribute_members": {}, - "container_dn": "cn=automount", - "default_attributes": [ - "cn" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "", - "methods": [ - "add", - "del", - "find", - "show", - "tofiles" - ], - "name": "automountlocation", - "object_class": [ - "nscontainer" - ], - "object_class_config": null, - "object_name": "automount location", - "object_name_plural": "automount locations", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "location", - "cli_short_name": null, - "default": null, - "doc": "Automount location name", - "exclude": null, - "flags": [], - "include": null, - "label": "Location", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - } - ], - "uuid_attribute": "" - }, - "automountmap": { - "attribute_members": {}, - "container_dn": "cn=automount", - "default_attributes": [ - "automountmapname", - "description" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Automount Maps", - "methods": [ - "add", - "add_indirect", - "del", - "find", - "mod", - "show" - ], - "name": "automountmap", - "object_class": [ - "automountmap" - ], - "object_class_config": null, - "object_name": "automount map", - "object_name_plural": "automount maps", - "parent_object": "automountlocation", - "primary_key": "automountmapname", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "map", - "cli_short_name": null, - "default": null, - "doc": "Automount map name", - "exclude": null, - "flags": [], - "include": null, - "label": "Map", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "automountmapname", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "Description", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "" - }, - "config": { - "attribute_members": {}, - "container_dn": "", - "default_attributes": [ - "ipamaxusernamelength", - "ipahomesrootdir", - "ipadefaultloginshell", - "ipadefaultprimarygroup", - "ipadefaultdomain", - "ipasearchtimelimit", - "ipasearchrecordslimit", - "ipausersearchfields", - "ipagroupsearchfields", - "ipamigrationenabled", - "ipacertificatesubjectbase" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "", - "methods": [ - "mod", - "show" - ], - "name": "config", - "object_class": [], - "object_class_config": null, - "object_name": "configuration options", - "object_name_plural": "entries", - "parent_object": "", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "maxusername", - "cli_short_name": null, - "default": null, - "doc": "Max username length", - "exclude": null, - "flags": [], - "include": null, - "label": "Max username length", - "maxvalue": null, - "minvalue": 1, - "multivalue": false, - "name": "ipamaxusernamelength", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "homedirectory", - "cli_short_name": null, - "default": null, - "doc": "Default location of home directories", - "exclude": null, - "flags": [], - "include": null, - "label": "Home directory base", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipahomesrootdir", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "defaultshell", - "cli_short_name": null, - "default": null, - "doc": "Default shell for new users", - "exclude": null, - "flags": [], - "include": null, - "label": "Default shell", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipadefaultloginshell", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "defaultgroup", - "cli_short_name": null, - "default": null, - "doc": "Default group for new users", - "exclude": null, - "flags": [], - "include": null, - "label": "Default users group", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipadefaultprimarygroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "emaildomain", - "cli_short_name": null, - "default": null, - "doc": "Default e-mail domain new users", - "exclude": null, - "flags": [], - "include": null, - "label": "Default e-mail domain", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipadefaultemaildomain", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "searchtimelimit", - "cli_short_name": null, - "default": null, - "doc": "Max. amount of time (sec.) for a search (-1 is unlimited)", - "exclude": null, - "flags": [], - "include": null, - "label": "Search time limit", - "maxvalue": null, - "minvalue": -1, - "multivalue": false, - "name": "ipasearchtimelimit", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "searchrecordslimit", - "cli_short_name": null, - "default": null, - "doc": "Max. number of records to search (-1 is unlimited)", - "exclude": null, - "flags": [], - "include": null, - "label": "Search size limit", - "maxvalue": null, - "minvalue": -1, - "multivalue": false, - "name": "ipasearchrecordslimit", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "usersearch", - "cli_short_name": null, - "default": null, - "doc": "A comma-separated list of fields to search when searching for users", - "exclude": null, - "flags": [], - "include": null, - "label": "User search fields", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipausersearchfields", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "groupsearch", - "cli_short_name": null, - "default": null, - "doc": "A comma-separated list of fields to search when searching for groups", - "exclude": null, - "flags": [], - "include": null, - "label": "Group search fields", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipagroupsearchfields", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Bool", - "cli_name": "enable_migration", - "cli_short_name": null, - "default": null, - "doc": "Enable migration mode", - "exclude": null, - "falsehoods": [ - 0, - "0", - "false" - ], - "flags": [], - "include": null, - "label": "Migration mode", - "multivalue": false, - "name": "ipamigrationenabled", - "primary_key": false, - "query": false, - "required": false, - "truths": [ - "1", - 1, - "true" - ], - "type": "bool" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "subject", - "cli_short_name": null, - "default": null, - "doc": "base for certificate subjects (OU=Test,O=Example)", - "exclude": null, - "flags": [], - "include": null, - "label": "Certificate Subject base", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipacertificatesubjectbase", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "" - }, - "cosentry": { - "attribute_members": {}, - "container_dn": "cn=costemplates,cn=accounts", - "default_attributes": [ - "cn", - "cospriority", - "krbpwdpolicyreference" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "", - "methods": [ - "add", - "del", - "find", - "mod", - "show" - ], - "name": "cosentry", - "object_class": [ - "top", - "costemplate", - "extensibleobject", - "krbcontainer" - ], - "object_class_config": null, - "object_name": "entry", - "object_name_plural": "entries", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "cn", - "cli_short_name": null, - "default": null, - "doc": "", - "exclude": null, - "flags": [], - "include": null, - "label": "", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "krbpwdpolicyreference", - "cli_short_name": null, - "default": null, - "doc": "", - "exclude": null, - "flags": [], - "include": null, - "label": "", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "krbpwdpolicyreference", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "cospriority", - "cli_short_name": null, - "default": null, - "doc": "", - "exclude": null, - "flags": [], - "include": null, - "label": "", - "maxvalue": null, - "minvalue": 0, - "multivalue": false, - "name": "cospriority", - "primary_key": false, - "query": false, - "required": true, - "type": "int" - } - ], - "uuid_attribute": "" - }, - "dns": { - "__base64__": "" - }, - "group": { - "attribute_members": { - "member": [ - "user", - "group" - ], - "memberof": [ - "group", - "netgroup", - "rolegroup", - "taskgroup" - ] - }, - "container_dn": "cn=groups,cn=accounts", - "default_attributes": [ - "cn", - "description", - "gidnumber", - "member", - "memberof" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "User Groups", - "methods": [ - "add", - "add_member", - "del", - "detach", - "find", - "mod", - "remove_member", - "show" - ], - "name": "group", - "object_class": [ - "ipausergroup" - ], - "object_class_config": "ipagroupobjectclasses", - "object_name": "group", - "object_name_plural": "groups", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Group name", - "exclude": null, - "flags": [], - "include": null, - "label": "Group name", - "length": null, - "maxlength": 33, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$", - "pattern_errmsg": "may only include letters, numbers, _, -, . and $", - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "Group description", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "gid", - "cli_short_name": null, - "default": null, - "doc": "GID (use this option to set it manually)", - "exclude": null, - "flags": [], - "include": null, - "label": "GID", - "maxvalue": null, - "minvalue": null, - "multivalue": false, - "name": "gidnumber", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_group", - "cli_short_name": null, - "default": null, - "doc": "Member groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_group", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_user", - "cli_short_name": null, - "default": null, - "doc": "Member users", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member users", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_user", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "hbac": { - "attribute_members": { - "memberhost": [ - "host", - "hostgroup" - ], - "memberservice": [ - "hbacsvc", - "hbacsvcgroup" - ], - "memberuser": [ - "user", - "group" - ], - "sourcehost": [ - "host", - "hostgroup" - ] - }, - "container_dn": "cn=hbac", - "default_attributes": [ - "cn", - "accessruletype", - "ipaenabledflag", - "accesstime", - "description", - "usercategory", - "hostcategory", - "sourcehostcategory", - "servicecategory", - "ipaenabledflag", - "memberuser", - "sourcehost", - "memberhost", - "memberservice", - "memberhostgroup" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "HBAC", - "methods": [ - "add", - "add_accesstime", - "add_host", - "add_service", - "add_sourcehost", - "add_user", - "del", - "disable", - "enable", - "find", - "mod", - "remove_accesstime", - "remove_host", - "remove_service", - "remove_sourcehost", - "remove_user", - "show" - ], - "name": "hbac", - "object_class": [ - "ipaassociation", - "ipahbacrule" - ], - "object_class_config": null, - "object_name": "HBAC rule", - "object_name_plural": "HBAC rules", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Rule name", - "exclude": null, - "flags": [], - "include": null, - "label": "Rule name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "StrEnum", - "cli_name": "type", - "cli_short_name": null, - "default": null, - "doc": "Rule type (allow or deny)", - "exclude": null, - "flags": [], - "include": null, - "label": "Rule type", - "multivalue": false, - "name": "accessruletype", - "primary_key": false, - "query": false, - "required": true, - "type": "unicode", - "values": [ - "allow", - "deny" - ] - }, - { - "attribute": false, - "autofill": false, - "class": "StrEnum", - "cli_name": "usercat", - "cli_short_name": null, - "default": null, - "doc": "User category the rule applies to", - "exclude": null, - "flags": [], - "include": null, - "label": "User category", - "multivalue": false, - "name": "usercategory", - "primary_key": false, - "query": false, - "required": false, - "type": "unicode", - "values": [ - "all" - ] - }, - { - "attribute": false, - "autofill": false, - "class": "StrEnum", - "cli_name": "hostcat", - "cli_short_name": null, - "default": null, - "doc": "Host category the rule applies to", - "exclude": null, - "flags": [], - "include": null, - "label": "Host category", - "multivalue": false, - "name": "hostcategory", - "primary_key": false, - "query": false, - "required": false, - "type": "unicode", - "values": [ - "all" - ] - }, - { - "attribute": false, - "autofill": false, - "class": "StrEnum", - "cli_name": "srchostcat", - "cli_short_name": null, - "default": null, - "doc": "Source host category the rule applies to", - "exclude": null, - "flags": [], - "include": null, - "label": "Source host category", - "multivalue": false, - "name": "sourcehostcategory", - "primary_key": false, - "query": false, - "required": false, - "type": "unicode", - "values": [ - "all" - ] - }, - { - "attribute": false, - "autofill": false, - "class": "StrEnum", - "cli_name": "servicecat", - "cli_short_name": null, - "default": null, - "doc": "Service category the rule applies to", - "exclude": null, - "flags": [], - "include": null, - "label": "Service category", - "multivalue": false, - "name": "servicecategory", - "primary_key": false, - "query": false, - "required": false, - "type": "unicode", - "values": [ - "all" - ] - }, - { - "attribute": false, - "autofill": false, - "class": "AccessTime", - "cli_name": "time", - "cli_short_name": null, - "default": null, - "doc": "Access time", - "exclude": null, - "flags": [], - "include": null, - "label": "Access time", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "accesstime", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "Description", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": true, - "class": "Flag", - "cli_name": "ipaenabledflag", - "cli_short_name": null, - "default": false, - "doc": "Enabled", - "exclude": null, - "falsehoods": [ - 0, - "0", - "false" - ], - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Enabled", - "multivalue": false, - "name": "ipaenabledflag", - "primary_key": false, - "query": false, - "required": false, - "truths": [ - "1", - 1, - "true" - ], - "type": "bool" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberuser_user", - "cli_short_name": null, - "default": null, - "doc": "Users", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Users", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberuser_user", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberhost_host", - "cli_short_name": null, - "default": null, - "doc": "Hosts", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Hosts", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberhost_host", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberhost_hostgroup", - "cli_short_name": null, - "default": null, - "doc": "Host Groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Host Groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberhost_hostgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "sourcehost_host", - "cli_short_name": null, - "default": null, - "doc": "Source hosts", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Source hosts", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "sourcehost_host", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberservice_service", - "cli_short_name": null, - "default": null, - "doc": "Services", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Services", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberservice_service", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberservice_servicegroup", - "cli_short_name": null, - "default": null, - "doc": "Service Groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Service Groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberservice_servicegroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "hbacsvc": { - "attribute_members": {}, - "container_dn": "cn=hbacservices,cn=accounts", - "default_attributes": [ - "cn", - "description" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Services", - "methods": [ - "add", - "del", - "find", - "mod", - "show" - ], - "name": "hbacsvc", - "object_class": [ - "ipaobject", - "ipahbacservice" - ], - "object_class_config": null, - "object_name": "service", - "object_name_plural": "services", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "service", - "cli_short_name": null, - "default": null, - "doc": "HBAC Service", - "exclude": null, - "flags": [], - "include": null, - "label": "Service name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "Description of service", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "hbacsvcgroup": { - "attribute_members": { - "member": [ - "hbacsvc", - "hbacsvcgroup" - ], - "memberof": [ - "hbacsvcgroup" - ] - }, - "container_dn": "cn=hbacservicegroups,cn=accounts", - "default_attributes": [ - "cn", - "description", - "member", - "memberof" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "HBAC Service Groups", - "methods": [ - "add", - "add_member", - "del", - "find", - "mod", - "remove_member", - "show" - ], - "name": "hbacsvcgroup", - "object_class": [ - "ipaobject", - "ipahbacservicegroup" - ], - "object_class_config": null, - "object_name": "servicegroup", - "object_name_plural": "servicegroups", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Service group name", - "exclude": null, - "flags": [], - "include": null, - "label": "Service group name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "HBAC service group description", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_service", - "cli_short_name": null, - "default": null, - "doc": "Member services", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member services", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_service", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_servicegroup", - "cli_short_name": null, - "default": null, - "doc": "Member service groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member service groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_servicegroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_servicegroup", - "cli_short_name": null, - "default": null, - "doc": "Member of service groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member of service groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_servicegroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "host": { - "attribute_members": { - "enrolledby": [ - "user" - ], - "memberof": [ - "hostgroup", - "netgroup", - "rolegroup" - ] - }, - "container_dn": "cn=computers,cn=accounts", - "default_attributes": [ - "fqdn", - "description", - "l", - "nshostlocation", - "krbprincipalname", - "nshardwareplatform", - "nsosversion", - "usercertificate", - "memberof", - "krblastpwdchange" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Hosts", - "methods": [ - "add", - "del", - "disable", - "find", - "mod", - "show" - ], - "name": "host", - "object_class": [ - "ipaobject", - "nshost", - "ipahost", - "pkiuser", - "ipaservice" - ], - "object_class_config": null, - "object_name": "host", - "object_name_plural": "hosts", - "parent_object": "", - "primary_key": "fqdn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "hostname", - "cli_short_name": null, - "default": null, - "doc": "Host name", - "exclude": null, - "flags": [], - "include": null, - "label": "Host name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "fqdn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "A description of this host", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "locality", - "cli_short_name": null, - "default": null, - "doc": "Host locality (e.g. \"Baltimore, MD\")", - "exclude": null, - "flags": [], - "include": null, - "label": "Locality", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "l", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "location", - "cli_short_name": null, - "default": null, - "doc": "Host location (e.g. \"Lab 2\")", - "exclude": null, - "flags": [], - "include": null, - "label": "Location", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "nshostlocation", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "platform", - "cli_short_name": null, - "default": null, - "doc": "Host hardware platform (e.g. \"Lenovo T61\")", - "exclude": null, - "flags": [], - "include": null, - "label": "Platform", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "nshardwareplatform", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "os", - "cli_short_name": null, - "default": null, - "doc": "Host operating system and version (e.g. \"Fedora 9\")", - "exclude": null, - "flags": [], - "include": null, - "label": "Operating system", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "nsosversion", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "password", - "cli_short_name": null, - "default": null, - "doc": "Password used in bulk enrollment", - "exclude": null, - "flags": [], - "include": null, - "label": "User password", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "userpassword", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Bytes", - "cli_name": "certificate", - "cli_short_name": null, - "default": null, - "doc": "Base-64 encoded server certificate", - "exclude": null, - "flags": [], - "include": null, - "label": "Certificate", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "usercertificate", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "str" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "krbprincipalname", - "cli_short_name": null, - "default": null, - "doc": "Principal name", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Principal name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "krbprincipalname", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_hostgroup", - "cli_short_name": null, - "default": null, - "doc": "Member of host-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member of host-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_hostgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_netgroup", - "cli_short_name": null, - "default": null, - "doc": "Member of net-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member of net-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_netgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_rolegroup", - "cli_short_name": null, - "default": null, - "doc": "Member of role-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member of role-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_rolegroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "hostgroup": { - "attribute_members": { - "member": [ - "host", - "hostgroup" - ], - "memberof": [ - "hostgroup" - ] - }, - "container_dn": "cn=hostgroups,cn=accounts", - "default_attributes": [ - "cn", - "description", - "member", - "memberof" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Host Groups", - "methods": [ - "add", - "add_member", - "del", - "find", - "mod", - "remove_member", - "show" - ], - "name": "hostgroup", - "object_class": [ - "ipaobject", - "ipahostgroup" - ], - "object_class_config": null, - "object_name": "hostgroup", - "object_name_plural": "hostgroups", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Name of host-group", - "exclude": null, - "flags": [], - "include": null, - "label": "Host-group", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "A description of this host-group", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_host", - "cli_short_name": null, - "default": null, - "doc": "Member hosts", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member hosts", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_host", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_hostgroup", - "cli_short_name": null, - "default": null, - "doc": "Member host-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member host-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_hostgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_hostgroup", - "cli_short_name": null, - "default": null, - "doc": "Member of host-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member of host-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_hostgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "krbtpolicy": { - "attribute_members": {}, - "container_dn": "cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos", - "default_attributes": [ - "krbmaxticketlife", - "krbmaxrenewableage" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "", - "methods": [ - "mod", - "reset", - "show" - ], - "name": "krbtpolicy", - "object_class": [], - "object_class_config": null, - "object_name": "kerberos ticket policy settings", - "object_name_plural": "entries", - "parent_object": "", - "primary_key": "uid", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "user", - "cli_short_name": null, - "default": null, - "doc": "Manage ticket policy for specific user", - "exclude": null, - "flags": [], - "include": null, - "label": "User name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "uid", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "maxlife", - "cli_short_name": null, - "default": null, - "doc": "Maximum ticket life (seconds)", - "exclude": null, - "flags": [], - "include": null, - "label": "Max life", - "maxvalue": null, - "minvalue": null, - "multivalue": false, - "name": "krbmaxticketlife", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "maxrenew", - "cli_short_name": null, - "default": null, - "doc": "Maximum renewable age (seconds)", - "exclude": null, - "flags": [], - "include": null, - "label": "Max renew", - "maxvalue": null, - "minvalue": null, - "multivalue": false, - "name": "krbmaxrenewableage", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - } - ], - "uuid_attribute": "" - }, - "netgroup": { - "attribute_members": { - "memberhost": [ - "host", - "hostgroup" - ], - "memberof": [ - "netgroup" - ], - "memberuser": [ - "user", - "group" - ] - }, - "container_dn": "cn=ng,cn=alt", - "default_attributes": [ - "cn", - "description", - "memberof", - "externalhost", - "nisdomainname", - "memberuser", - "memberhost" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Net Groups", - "methods": [ - "add", - "add_member", - "del", - "find", - "mod", - "remove_member", - "show" - ], - "name": "netgroup", - "object_class": [ - "ipaobject", - "ipaassociation", - "ipanisnetgroup" - ], - "object_class_config": null, - "object_name": "netgroup", - "object_name_plural": "netgroups", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Netgroup name", - "exclude": null, - "flags": [], - "include": null, - "label": "Netgroup name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "Netgroup description", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "nisdomain", - "cli_short_name": null, - "default": null, - "doc": "NIS domain name", - "exclude": null, - "flags": [], - "include": null, - "label": "NIS domain name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "nisdomainname", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "uuid", - "cli_short_name": null, - "default": null, - "doc": "IPA unique ID", - "exclude": null, - "flags": [ - "no_update", - "no_create" - ], - "include": null, - "label": "IPA unique ID", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "ipauniqueid", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "pwpolicy": { - "attribute_members": {}, - "container_dn": "cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos", - "default_attributes": [ - "cn", - "cospriority", - "krbmaxpwdlife", - "krbminpwdlife", - "krbpwdhistorylength", - "krbpwdmindiffchars", - "krbpwdminlength" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "", - "methods": [ - "add", - "del", - "find", - "mod", - "show" - ], - "name": "pwpolicy", - "object_class": [ - "top", - "nscontainer", - "krbpwdpolicy" - ], - "object_class_config": null, - "object_name": "password policy", - "object_name_plural": "password policies", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "group", - "cli_short_name": null, - "default": null, - "doc": "Manage password policy for specific group", - "exclude": null, - "flags": [], - "include": null, - "label": "Group", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "maxlife", - "cli_short_name": null, - "default": null, - "doc": "Maximum password lifetime (in days)", - "exclude": null, - "flags": [], - "include": null, - "label": "Max lifetime (days)", - "maxvalue": null, - "minvalue": 0, - "multivalue": false, - "name": "krbmaxpwdlife", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "minlife", - "cli_short_name": null, - "default": null, - "doc": "Minimum password lifetime (in hours)", - "exclude": null, - "flags": [], - "include": null, - "label": "Min lifetime (hours)", - "maxvalue": null, - "minvalue": 0, - "multivalue": false, - "name": "krbminpwdlife", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "history", - "cli_short_name": null, - "default": null, - "doc": "Password history size", - "exclude": null, - "flags": [], - "include": null, - "label": "History size", - "maxvalue": null, - "minvalue": 0, - "multivalue": false, - "name": "krbpwdhistorylength", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "minclasses", - "cli_short_name": null, - "default": null, - "doc": "Minimum number of character classes", - "exclude": null, - "flags": [], - "include": null, - "label": "Character classes", - "maxvalue": 5, - "minvalue": 0, - "multivalue": false, - "name": "krbpwdmindiffchars", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "minlength", - "cli_short_name": null, - "default": null, - "doc": "Minimum length of password", - "exclude": null, - "flags": [], - "include": null, - "label": "Min length", - "maxvalue": null, - "minvalue": 0, - "multivalue": false, - "name": "krbpwdminlength", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Int", - "cli_name": "priority", - "cli_short_name": null, - "default": null, - "doc": "Priority of the policy (higher number means lower priority", - "exclude": null, - "flags": [], - "include": null, - "label": "Priority", - "maxvalue": null, - "minvalue": 0, - "multivalue": false, - "name": "cospriority", - "primary_key": false, - "query": false, - "required": true, - "type": "int" - } - ], - "uuid_attribute": "" - }, - "rolegroup": { - "attribute_members": { - "member": [ - "user", - "group", - "host", - "hostgroup" - ], - "memberof": [ - "taskgroup" - ] - }, - "container_dn": "cn=rolegroups,cn=accounts", - "default_attributes": [ - "cn", - "description", - "member", - "memberof" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Role Groups", - "methods": [ - "add", - "add_member", - "del", - "find", - "mod", - "remove_member", - "show" - ], - "name": "rolegroup", - "object_class": [ - "groupofnames", - "nestedgroup" - ], - "object_class_config": null, - "object_name": "rolegroup", - "object_name_plural": "rolegroups", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Role-group name", - "exclude": null, - "flags": [], - "include": null, - "label": "Role-group name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "A description of this role-group", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_group", - "cli_short_name": null, - "default": null, - "doc": "Member groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_group", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_user", - "cli_short_name": null, - "default": null, - "doc": "Member users", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member users", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_user", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_taskgroup", - "cli_short_name": null, - "default": null, - "doc": "Member of task-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member of task-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_taskgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "" - }, - "service": { - "attribute_members": { - "managedby": [ - "host" - ] - }, - "container_dn": "cn=services,cn=accounts", - "default_attributes": [ - "krbprincipalname", - "usercertificate", - "managedby", - "krblastpwdchange" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Services", - "methods": [ - "add", - "add_host", - "del", - "disable", - "find", - "mod", - "remove_host", - "show" - ], - "name": "service", - "object_class": [ - "krbprincipal", - "krbprincipalaux", - "krbticketpolicyaux", - "ipaobject", - "ipaservice", - "pkiuser" - ], - "object_class_config": null, - "object_name": "service", - "object_name_plural": "services", - "parent_object": "", - "primary_key": "krbprincipalname", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "principal", - "cli_short_name": null, - "default": null, - "doc": "Service principal", - "exclude": null, - "flags": [], - "include": null, - "label": "Principal", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "krbprincipalname", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - }, - "taskgroup": { - "attribute_members": { - "member": [ - "user", - "group", - "rolegroup" - ] - }, - "container_dn": "cn=taskgroups,cn=accounts", - "default_attributes": [ - "cn", - "description", - "member", - "memberof" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Task Groups", - "methods": [ - "add", - "add_member", - "del", - "find", - "mod", - "remove_member", - "show" - ], - "name": "taskgroup", - "object_class": [ - "groupofnames" - ], - "object_class_config": null, - "object_name": "taskgroup", - "object_name_plural": "taskgroups", - "parent_object": "", - "primary_key": "cn", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "name", - "cli_short_name": null, - "default": null, - "doc": "Task-group name", - "exclude": null, - "flags": [], - "include": null, - "label": "Task-group name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "cn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "desc", - "cli_short_name": null, - "default": null, - "doc": "Task-group description", - "exclude": null, - "flags": [], - "include": null, - "label": "Description", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "description", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_group", - "cli_short_name": null, - "default": null, - "doc": "Member groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_group", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_user", - "cli_short_name": null, - "default": null, - "doc": "Member users", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member users", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_user", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "member_rolegroup", - "cli_short_name": null, - "default": null, - "doc": "Member role-groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Member role-groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "member_rolegroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "" - }, - "user": { - "attribute_members": { - "memberof": [ - "group", - "netgroup", - "rolegroup", - "taskgroup" - ] - }, - "container_dn": "cn=users,cn=accounts", - "default_attributes": [ - "uid", - "givenname", - "sn", - "homedirectory", - "loginshell", - "ou", - "telephonenumber", - "title", - "memberof" - ], - "hidden_attributes": [ - "objectclass", - "aci" - ], - "label": "Users", - "methods": [ - "add", - "del", - "find", - "lock", - "mod", - "show", - "unlock" - ], - "name": "user", - "object_class": [ - "posixaccount" - ], - "object_class_config": "ipauserobjectclasses", - "object_name": "user", - "object_name_plural": "users", - "parent_object": "", - "primary_key": "uid", - "takes_params": [ - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "login", - "cli_short_name": null, - "default": null, - "doc": "User login", - "exclude": null, - "flags": [], - "include": null, - "label": "User login", - "length": null, - "maxlength": 33, - "minlength": null, - "multivalue": false, - "name": "uid", - "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$", - "pattern_errmsg": "may only include letters, numbers, _, -, . and $", - "primary_key": true, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "first", - "cli_short_name": null, - "default": null, - "doc": "First name", - "exclude": null, - "flags": [], - "include": null, - "label": "First name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "givenname", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "last", - "cli_short_name": null, - "default": null, - "doc": "Last name", - "exclude": null, - "flags": [], - "include": null, - "label": "Last name", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "sn", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": true, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "homedir", - "cli_short_name": null, - "default": null, - "doc": "Home directory", - "exclude": null, - "flags": [], - "include": null, - "label": "Home directory", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "homedirectory", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": true, - "class": "Str", - "cli_name": "gecos", - "cli_short_name": null, - "default": null, - "doc": "GECOS field", - "exclude": null, - "flags": [], - "include": null, - "label": "GECOS field", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "gecos", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "shell", - "cli_short_name": null, - "default": "/bin/sh", - "doc": "Login shell", - "exclude": null, - "flags": [], - "include": null, - "label": "Login shell", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "loginshell", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": true, - "class": "Str", - "cli_name": "principal", - "cli_short_name": null, - "default": null, - "doc": "Kerberos principal", - "exclude": null, - "flags": [], - "include": null, - "label": "Kerberos principal", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "krbprincipalname", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "email", - "cli_short_name": null, - "default": null, - "doc": "Email address", - "exclude": null, - "flags": [], - "include": null, - "label": "Email address", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "mail", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Password", - "cli_name": "password", - "cli_short_name": null, - "default": null, - "doc": "Set the user password", - "exclude": [ - "webui" - ], - "flags": [], - "include": null, - "label": "Password", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "userpassword", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": true, - "class": "Int", - "cli_name": "uid", - "cli_short_name": null, - "default": 999, - "doc": "User ID Number (system will assign one if not provided)", - "exclude": null, - "flags": [], - "include": null, - "label": "UID", - "maxvalue": null, - "minvalue": null, - "multivalue": false, - "name": "uidnumber", - "primary_key": false, - "query": false, - "required": false, - "type": "int" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "street", - "cli_short_name": null, - "default": null, - "doc": "Street address", - "exclude": null, - "flags": [], - "include": null, - "label": "Street address", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "street", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_group", - "cli_short_name": null, - "default": null, - "doc": "Groups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Groups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_group", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_netgroup", - "cli_short_name": null, - "default": null, - "doc": "Netgroups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Netgroups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_netgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_rolegroup", - "cli_short_name": null, - "default": null, - "doc": "Rolegroups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Rolegroups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_rolegroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - }, - { - "attribute": false, - "autofill": false, - "class": "Str", - "cli_name": "memberof_taskgroup", - "cli_short_name": null, - "default": null, - "doc": "Taskgroups", - "exclude": null, - "flags": [ - "no_update", - "no_create", - "no_search" - ], - "include": null, - "label": "Taskgroups", - "length": null, - "maxlength": null, - "minlength": null, - "multivalue": false, - "name": "memberof_taskgroup", - "pattern": null, - "pattern_errmsg": null, - "primary_key": false, - "query": false, - "required": false, - "type": "unicode" - } - ], - "uuid_attribute": "ipauniqueid" - } - } - } -} \ No newline at end of file diff --git a/install/static/sampledata/netgroup_add.json b/install/static/sampledata/netgroup_add.json deleted file mode 100644 index 989bb5db..00000000 --- a/install/static/sampledata/netgroup_add.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "error": null, - "id": 17, - "result": { - "result": { - "cn": [ - "butterfly_net" - ], - "description": [ - "Butterfly Networks" - ], - "dn": "ipauniqueid=b16f7240-b43a-11df-89fa-525400674dcd,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "ipauniqueid": [ - "b16f7240-b43a-11df-89fa-525400674dcd" - ], - "nisdomainname": [ - "ayoung.boston.devel.redhat.com" - ], - "objectclass": [ - "ipaobject", - "ipaassociation", - "ipanisnetgroup" - ] - }, - "summary": null, - "value": "butterfly_net" - } -} \ No newline at end of file diff --git a/install/static/sampledata/netgroup_add_member.json b/install/static/sampledata/netgroup_add_member.json deleted file mode 100644 index 5fbae9e1..00000000 --- a/install/static/sampledata/netgroup_add_member.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 3, - "failed": { - "memberhost": { - "host": [], - "hostgroup": [] - }, - "memberuser": { - "group": [], - "user": [] - } - }, - "result": { - "cn": [ - "net-live" - ], - "description": [ - "live servers" - ], - "dn": "ipauniqueid=2e08b2c2-baac-11df-a0cf-525400674dcd,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "memberhost_host": [ - "live3.pbs.org", - "live2.pbs.org", - "live1.pbs.org" - ], - "memberhost_hostgroup": [ - "host-live" - ], - "memberuser_group": [ - "muppets" - ], - "nisdomainname": [ - "ayoung.boston.devel.redhat.com" - ] - } - } -} \ No newline at end of file diff --git a/install/static/sampledata/netgroup_find.json b/install/static/sampledata/netgroup_find.json deleted file mode 100644 index 15626e0b..00000000 --- a/install/static/sampledata/netgroup_find.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "count": 2, - "result": [ - { - "cn": [ - "net-stage" - ], - "description": [ - "staging servers" - ], - "dn": "ipauniqueid=f6ee9f40-9456-11df-973b-00163e26b89e,cn=ng,cn=alt,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "memberhost": [], - "memberof": [], - "memberuser": [ - "cn=muppets,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" - ], - "memberuser_group": [ - "muppets" - ], - "nisdomainname": [ - "idm.lab.bos.redhat.com" - ] - }, - { - "cn": [ - "net-live" - ], - "description": [ - "live servers" - ], - "dn": "ipauniqueid=f763e426-9456-11df-934d-00163e26b89e,cn=ng,cn=alt,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "memberhost": [ - "cn=host-live,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" - ], - "memberhost_hostgroup": [ - "host-live" - ], - "memberof": [], - "memberuser": [ - "cn=muppets,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" - ], - "memberuser_group": [ - "muppets" - ], - "nisdomainname": [ - "idm.lab.bos.redhat.com" - ] - } - ], - "summary": null, - "truncated": false - } -} \ No newline at end of file diff --git a/install/static/sampledata/netgroup_show.json b/install/static/sampledata/netgroup_show.json deleted file mode 100644 index aa77e888..00000000 --- a/install/static/sampledata/netgroup_show.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "net-live" - ], - "description": [ - "live servers" - ], - "dn": "ipauniqueid=2e08b2c2-baac-11df-a0cf-525400674dcd,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "memberhost_host": [ - "live3.pbs.org", - "live2.pbs.org", - "live1.pbs.org", - "www1.pbs.org", - "www2.pbs.org", - "www3.pbs.org" - ], - "memberhost_hostgroup": [ - "host-live" - ], - "memberuser_group": [ - "muppets" - ], - "memberuser_user": [ - "kfrog", - "count123" - ], - "nisdomainname": [ - "ayoung.boston.devel.redhat.com" - ] - }, - "summary": null, - "value": "net-live" - } -} \ No newline at end of file diff --git a/install/static/sampledata/rolegroup_add.json b/install/static/sampledata/rolegroup_add.json deleted file mode 100644 index 54e2c283..00000000 --- a/install/static/sampledata/rolegroup_add.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "test" - ], - "description": [ - "Test role" - ], - "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "objectclass": [ - "groupofnames", - "nestedgroup", - "top" - ] - }, - "summary": "Added rolegroup \"test\"", - "value": "test" - } -} diff --git a/install/static/sampledata/rolegroup_add_member.json b/install/static/sampledata/rolegroup_add_member.json deleted file mode 100644 index e68ecc28..00000000 --- a/install/static/sampledata/rolegroup_add_member.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 1, - "failed": { - "member": { - "group": [], - "host": [], - "hostgroup": [], - "user": [] - } - }, - "result": { - "cn": [ - "test" - ], - "description": [ - "Test role" - ], - "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "member_user": [ - "admin" - ] - } - } -} diff --git a/install/static/sampledata/rolegroup_del.json b/install/static/sampledata/rolegroup_del.json deleted file mode 100644 index 8af1e630..00000000 --- a/install/static/sampledata/rolegroup_del.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": true, - "summary": "Deleted rolegroup \"test\"", - "value": "test" - } -} diff --git a/install/static/sampledata/rolegroup_find.json b/install/static/sampledata/rolegroup_find.json deleted file mode 100644 index 8ed2a76b..00000000 --- a/install/static/sampledata/rolegroup_find.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "count": 15, - "result": [ - { - "cn": [ - "helpdesk" - ], - "description": [ - "Helpdesk" - ], - "dn": "cn=helpdesk,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "member_user": [ - "edewata" - ] - }, - { - "cn": [ - "useradmin" - ], - "description": [ - "User Administrators" - ], - "dn": "cn=useradmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "groupadmin" - ], - "description": [ - "Group Administrators" - ], - "dn": "cn=groupadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "hostadmin" - ], - "description": [ - "Host Administrators" - ], - "dn": "cn=hostadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "memberof_taskgroup": [ - "addhosts", - "removehosts", - "modifyhosts", - "manage_host_keytab", - "enroll_host" - ] - }, - { - "cn": [ - "hostgroupadmin" - ], - "description": [ - "Host Group Administrators" - ], - "dn": "cn=hostgroupadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "delegationadmin" - ], - "description": [ - "Role administration" - ], - "dn": "cn=delegationadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "serviceadmin" - ], - "description": [ - "Service Administrators" - ], - "dn": "cn=serviceadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "memberof_taskgroup": [ - "addservices", - "removeservices", - "modifyservices" - ] - }, - { - "cn": [ - "automountadmin" - ], - "description": [ - "Automount Administrators" - ], - "dn": "cn=automountadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "netgroupadmin" - ], - "description": [ - "Netgroups Administrators" - ], - "dn": "cn=netgroupadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "dnsadmin" - ], - "description": [ - "DNS Administrators" - ], - "dn": "cn=dnsadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "dnsserver" - ], - "description": [ - "DNS Servers" - ], - "dn": "cn=dnsserver,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - }, - { - "cn": [ - "certadmin" - ], - "description": [ - "Certificate Administrators" - ], - "dn": "cn=certadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "memberof_taskgroup": [ - "retrieve_certs", - "request_certs", - "request_cert_different_host", - "certificate_status", - "revoke_certificate", - "certificate_remove_hold" - ] - }, - { - "cn": [ - "replicaadmin" - ], - "description": [ - "Replication Administrators" - ], - "dn": "cn=replicaadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "member_user": [ - "admin" - ], - "memberof_taskgroup": [ - "managereplica", - "deletereplica" - ] - }, - { - "cn": [ - "enrollhost" - ], - "description": [ - "Host Enrollment" - ], - "dn": "cn=enrollhost,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "memberof_taskgroup": [ - "manage_host_keytab", - "enroll_host" - ] - }, - { - "cn": [ - "entitlementadmin" - ], - "description": [ - "Entitlement Administrators" - ], - "dn": "cn=entitlementadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "memberof_taskgroup": [ - "addentitlements", - "removeentitlements", - "modifyentitlements" - ] - } - ], - "summary": "15 rolegroups matched", - "truncated": false - } -} diff --git a/install/static/sampledata/rolegroup_remove_member.json b/install/static/sampledata/rolegroup_remove_member.json deleted file mode 100644 index d42bb601..00000000 --- a/install/static/sampledata/rolegroup_remove_member.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 1, - "failed": { - "member": { - "group": [], - "host": [], - "hostgroup": [], - "user": [] - } - }, - "result": { - "cn": [ - "test" - ], - "description": [ - "Test role" - ], - "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" - } - } -} diff --git a/install/static/sampledata/rolegroup_show.json b/install/static/sampledata/rolegroup_show.json deleted file mode 100644 index 4652fb2c..00000000 --- a/install/static/sampledata/rolegroup_show.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "test" - ], - "description": [ - "Test role" - ], - "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", - "member_user": [ - "admin" - ] - }, - "summary": null, - "value": "test" - } -} diff --git a/install/static/sampledata/service_add.json b/install/static/sampledata/service_add.json deleted file mode 100644 index 4275d9bb..00000000 --- a/install/static/sampledata/service_add.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "ipauniqueid": [ - "5b314ad9-bae4-11df-b82f-00163e72f2d9" - ], - "krbprincipalname": [ - "test/dev.example.com@DEV.EXAMPLE.COM" - ], - "managedby_host": [ - "dev.example.com" - ], - "objectclass": [ - "krbprincipal", - "krbprincipalaux", - "krbticketpolicyaux", - "ipaobject", - "ipaservice", - "pkiuser", - "top" - ] - }, - "summary": "Added service \"test/dev.example.com@DEV.EXAMPLE.COM\"", - "value": "test/dev.example.com@DEV.EXAMPLE.COM" - } -} diff --git a/install/static/sampledata/service_add_host.json b/install/static/sampledata/service_add_host.json deleted file mode 100644 index cb199e31..00000000 --- a/install/static/sampledata/service_add_host.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 1, - "failed": { - "managedby": { - "host": [] - } - }, - "result": { - "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "krbprincipalname": [ - "test/dev.example.com@DEV.EXAMPLE.COM" - ], - "managedby_host": [ - "dev.example.com" - ] - } - } -} diff --git a/install/static/sampledata/service_del.json b/install/static/sampledata/service_del.json deleted file mode 100644 index 053b0ad9..00000000 --- a/install/static/sampledata/service_del.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": true, - "summary": "Deleted service \"test/dev.example.com@DEV.EXAMPLE.COM\"", - "value": "test/dev.example.com@DEV.EXAMPLE.COM" - } -} diff --git a/install/static/sampledata/service_find.json b/install/static/sampledata/service_find.json deleted file mode 100644 index b71ea9e3..00000000 --- a/install/static/sampledata/service_find.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "count": 3, - "result": [ - { - "dn": "krbprincipalname=ldap/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "has_keytab": true, - "krbprincipalname": [ - "ldap/dev.example.com@DEV.EXAMPLE.COM" - ], - "managedby_host": [ - "dev.example.com" - ], - "usercertificate": [ - { - "__base64__": "MIICbjCCAdegAwIBAgICA+0wDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMDkwMjA2NTYzMloXDTIwMDkwMjA2NTYzMlowKDEMMAoGA1UEChMDSVBBMRgwFgYDVQQDEw9kZXYuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDc63RjpqUCI84j9kjn0XYmpAOjkYbLddT9F0UUanASg1iIhscwWjvp/Mf5ZIzEYoB+dloI9gvEUWb8CU/x42QZr4lgEK4m/vCSDA0CkAnWvU/DHdtcAgpdZeBOQ1CMynyvNvN/ajyaA8dPwRcs9yJDrWXMa7LzMuw+ct5HA7HRdDdvUeIFr8YZEd/Mt1N96BmlVf3GA3P89cWfCKr1iVnmyewanjKuwcws1GCxawCnp0w1GHbKct4PPhB3k6EN8ZipFDGZmSeDVsa3gF7y2reLAYTS1/RwWPAHNeQ0cpOMe155cF3uHGSoX+RWtgo0BZ1+wgLMU5sf9W3ZMln3WmoFAgMBAAGjIjAgMBEGCWCGSAGG+EIBAQQEAwIGQDALBgNVHQ8EBAMCBSAwDQYJKoZIhvcNAQEFBQADgYEAbSYTU+IQvfppQE7setcpO/PiFNnMaZ3Ss7UGjm6XoPem9X0ktQOfWhBuhfH/7MbPdg2zn+55soaRpd8rOThr187G40GAMM5I3Jr+8386Q4zwCvED7B09pzBhQd/4ecVTIYFc82EytsM6I1aBrG9cLLuT+RL2dK5efOymCf/zjsw=" - } - ] - }, - { - "dn": "krbprincipalname=http/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "has_keytab": true, - "krbprincipalname": [ - "HTTP/dev.example.com@DEV.EXAMPLE.COM" - ], - "usercertificate": [ - { - "__base64__": "MIICbjCCAdegAwIBAgICA+4wDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMDkwMjA2NTY1MFoXDTIwMDkwMjA2NTY1MFowKDEMMAoGA1UEChMDSVBBMRgwFgYDVQQDEw9kZXYuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2g0DTtC0f7StYfbVqc3bZ6niWHCBZp9SVEgD1lGY9+efQnO1Z6dqbUxLI+oUcVqA2aoeWVSTQ1KZLglF0pYUJcMVfUAQaFbwhY05rLtKya0+6DgYbnJ187fSHNOLQ71v/6pFt9THyLFICFJgKX64ouQYxV7+UY/vyqaKCjonWBJznJHaw07cEYj6tFkQxwNIhQRWZP2yLrSEay1cDLtA7Rm6AYRKIhiBKwFVewi4VEo6HbgfKpeZRZ2G8w1UErxTuPom2WymByoOg1Z8Xn23OiW+CkcrwRFhDYyp3LRiIT+86fPYkF4TBqO9lWbxKy4ZtcHXfMcGBmQSc3yjN+IctAgMBAAGjIjAgMBEGCWCGSAGG+EIBAQQEAwIGQDALBgNVHQ8EBAMCBSAwDQYJKoZIhvcNAQEFBQADgYEAi1vdSKmUUPdkwxv6tnabo6sEpTCdyV33Jops5hMkdtIKsvOG+CeXuvPYIwZpvwozAppL3tcXsh6t35YklpjeoX8qX5gYTZvuusCUAQHfJC4H/ggU+TrjQW5GnGOLTpgew/NtLKj7LACp/YrwMNA5ktdsBbj2kESIEVlokLvITy4=" - } - ] - }, - { - "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "has_keytab": false, - "krbprincipalname": [ - "test/dev.example.com@DEV.EXAMPLE.COM" - ], - "managedby_host": [ - "dev.example.com" - ] - } - ], - "summary": "3 services matched", - "truncated": false - } -} diff --git a/install/static/sampledata/service_remove_host.sh b/install/static/sampledata/service_remove_host.sh deleted file mode 100644 index 15234f4d..00000000 --- a/install/static/sampledata/service_remove_host.sh +++ /dev/null @@ -1,18 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "completed": 1, - "failed": { - "managedby": { - "host": [] - } - }, - "result": { - "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "krbprincipalname": [ - "test/dev.example.com@DEV.EXAMPLE.COM" - ] - } - } -} diff --git a/install/static/sampledata/service_show.json b/install/static/sampledata/service_show.json deleted file mode 100644 index 30025eb7..00000000 --- a/install/static/sampledata/service_show.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", - "has_keytab": false, - "krbprincipalname": [ - "test/dev.example.com@DEV.EXAMPLE.COM" - ], - "managedby_host": [ - "dev.example.com" - ] - }, - "summary": null, - "value": "test/dev.example.com@DEV.EXAMPLE.COM" - } -} diff --git a/install/static/sampledata/user_add.json b/install/static/sampledata/user_add.json deleted file mode 100644 index b2ede8d1..00000000 --- a/install/static/sampledata/user_add.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "error": null, - "id": 10, - "result": { - "result": { - "dn": "uid=snuffy,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gecos": [ - "snuffy" - ], - "givenname": [ - "Aloysius" - ], - "homedirectory": [ - "/home/snuffy" - ], - "ipauniqueid": [ - "a4ce7d19-b439-11df-a9ae-525400674dcd" - ], - "krbprincipalname": [ - "snuffy@AYOUNG.BOSTON.DEVEL.REDHAT.COM" - ], - "loginshell": [ - "/bin/sh" - ], - "objectclass": [ - "top", - "person", - "organizationalperson", - "inetorgperson", - "inetuser", - "posixaccount", - "krbprincipalaux", - "krbticketpolicyaux", - "radiusprofile", - "ipaobject" - ], - "sn": [ - "Snuffleupagus" - ], - "uid": [ - "snuffy" - ], - "uidnumber": [ - "1869788865" - ] - }, - "summary": "Added user \"snuffy\"", - "value": "snuffy" - } -} \ No newline at end of file diff --git a/install/static/sampledata/user_find.json b/install/static/sampledata/user_find.json deleted file mode 100644 index c8ead0ff..00000000 --- a/install/static/sampledata/user_find.json +++ /dev/null @@ -1,246 +0,0 @@ - -{ - "error": null, - "id": 0, - "result": { - "count": 4, - "result": [ - { - "cn": [ - "Administrator" - ], - "dn": "uid=admin,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gecos": [ - "Administrator" - ], - "gidnumber": [ - "444194797" - ], - "homedirectory": [ - "/home/admin" - ], - "krblastpwdchange": [ - "20100614200400Z" - ], - "krbpasswordexpiration": [ - "20100912200400Z" - ], - "krbprincipalname": [ - "admin@AYOUNG.BOSTON.DEVEL.REDHAT.COM" - ], - "loginshell": [ - "/bin/bash" - ], - "memberof_group": [ - "admins" - ], - "memberof_rolegroup": [ - "replicaadmin" - ], - "memberof_taskgroup": [ - "managereplica", - "deletereplica" - ], - "objectclass": [ - "top", - "person", - "posixaccount", - "krbprincipalaux", - "krbticketpolicyaux", - "inetuser" - ], - "sn": [ - "Administrator" - ], - "uid": [ - "admin" - ], - "uidnumber": [ - "444194797" - ] - }, - { - "cn": [ - "Kermit Frog" - ], - "dn": "uid=kfrog,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gecos": [ - "Some of my best friends are Geckos" - ], - "gidnumber": [ - "444194798" - ], - "givenname": [ - "Kermit" - ], - "homedirectory": [ - "/home/kfrog" - ], - "ipauniqueid": [ - "89dc1f68-77f3-11df-afb7-525400ed2d11" - ], - "krbprincipalname": [ - "kfrog" - ], - "loginshell": [ - "/bin/sh" - ], - "mail": [ - "kfrog@pbs.org" - ], - "memberof_group": [ - "ipausers" - ], - "objectclass": [ - "top", - "person", - "organizationalperson", - "inetorgperson", - "inetuser", - "posixaccount", - "krbprincipalaux", - "krbticketpolicyaux", - "radiusprofile", - "ipaobject" - ], - "sn": [ - "Frog" - ], - "street": [ - "55 Seasame Street" - ], - "title": [ - "Reporter" - ], - "uid": [ - "kfrog" - ], - "uidnumber": [ - "444194798" - ] - }, - { - "cn": [ - "Oscar Grouch" - ], - "dn": "uid=scram,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gecos": [ - "scram" - ], - "gidnumber": [ - "444194798" - ], - "givenname": [ - "Oscar" - ], - "homedirectory": [ - "/home/trash" - ], - "ipauniqueid": [ - "adba909c-77f3-11df-ae3f-525400ed2d11" - ], - "krbprincipalname": [ - "scram" - ], - "loginshell": [ - "/bin/sh" - ], - "mail": [ - "oscar@pbs.org" - ], - "memberof_group": [ - "ipausers" - ], - "objectclass": [ - "top", - "person", - "organizationalperson", - "inetorgperson", - "inetuser", - "posixaccount", - "krbprincipalaux", - "krbticketpolicyaux", - "radiusprofile", - "ipaobject" - ], - "sn": [ - "Grouch" - ], - "street": [ - "123a Sesame Street" - ], - "title": [ - "Sys Admin" - ], - "uid": [ - "scram" - ], - "uidnumber": [ - "444194799" - ] - }, - { - "cn": [ - "Sid Monster" - ], - "dn": "uid=cookie,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "gecos": [ - "cookie" - ], - "gidnumber": [ - "444194798" - ], - "givenname": [ - "Sid" - ], - "homedirectory": [ - "cookie" - ], - "ipauniqueid": [ - "c7d10507-77f3-11df-ac53-525400ed2d11" - ], - "krbprincipalname": [ - "cookie" - ], - "loginshell": [ - "/bin/sh" - ], - "mail": [ - "cookie@pbs.org" - ], - "memberof_group": [ - "ipausers" - ], - "objectclass": [ - "top", - "person", - "organizationalperson", - "inetorgperson", - "inetuser", - "posixaccount", - "krbprincipalaux", - "krbticketpolicyaux", - "radiusprofile", - "ipaobject" - ], - "sn": [ - "Monster" - ], - "street": [ - "123 Sesame Street" - ], - "title": [ - "Chef" - ], - "uid": [ - "cookie" - ], - "uidnumber": [ - "444194800" - ] - } - ], - "summary": "4 users matched", - "truncated": false - } -} diff --git a/install/static/sampledata/user_show.json b/install/static/sampledata/user_show.json deleted file mode 100644 index 149b24f6..00000000 --- a/install/static/sampledata/user_show.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "result": { - "cn": [ - "Kermit Frog" - ], - "dn": "uid=kfrog,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", - "gecos": [ - "kfrog" - ], - "gidnumber": [ - "1079249051" - ], - "givenname": [ - "Kermit" - ], - "homedirectory": [ - "/home/kfrog" - ], - "ipauniqueid": [ - "41bcf085-8baa-11df-8155-00163e26b89e" - ], - "krbprincipalname": [ - "kfrog@IDM.LAB.BOS.REDHAT.COM" - ], - "loginshell": [ - "/bin/sh" - ], - "mail": [ - "kfrog@redhat.com" - ], - "memberof": [ - "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", - "cn=muppets,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" - ], - "memberof_group": [ - "ipausers", - "muppets" - ], - "mepmanagedentry": [ - "cn=kfrog,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" - ], - "objectclass": [ - "top", - "person", - "organizationalperson", - "inetorgperson", - "inetuser", - "posixaccount", - "krbprincipalaux", - "krbticketpolicyaux", - "radiusprofile", - "ipaobject", - "mepOriginEntry" - ], - "sn": [ - "Frog" - ], - "uid": [ - "kfrog" - ], - "uidnumber": [ - "1079249051" - ] - }, - "summary": null, - "value": "kfrog" - } -} diff --git a/install/static/sampledata/whoami.json b/install/static/sampledata/whoami.json deleted file mode 100644 index a922d372..00000000 --- a/install/static/sampledata/whoami.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "error": null, - "id": 0, - "result": { - "summary": "admin@AYOUNG.BOSTON.DEVEL.REDHAT.COM" - } -} diff --git a/install/static/test/all_tests.html b/install/static/test/all_tests.html new file mode 100644 index 00000000..7185f53e --- /dev/null +++ b/install/static/test/all_tests.html @@ -0,0 +1,24 @@ + + + + Complete Test Suite + + + + + + + + + + + + +

Complete Test Suite

+

+
+

+
    +
    test markup
    + + diff --git a/install/static/test/data/group_add.json b/install/static/test/data/group_add.json new file mode 100644 index 00000000..180f5f11 --- /dev/null +++ b/install/static/test/data/group_add.json @@ -0,0 +1,31 @@ +{ + "error": null, + "id": 12, + "result": { + "result": { + "cn": [ + "neighbors" + ], + "description": [ + "The People in Your Neighborhood" + ], + "dn": "cn=neighbors,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gidnumber": [ + "123456" + ], + "ipauniqueid": [ + "0dbae87a-b43a-11df-ac8e-525400674dcd" + ], + "objectclass": [ + "top", + "groupofnames", + "nestedgroup", + "ipausergroup", + "ipaobject", + "posixgroup" + ] + }, + "summary": null, + "value": "neighbors" + } +} \ No newline at end of file diff --git a/install/static/test/data/group_add_member.json b/install/static/test/data/group_add_member.json new file mode 100644 index 00000000..7f10d105 --- /dev/null +++ b/install/static/test/data/group_add_member.json @@ -0,0 +1,25 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "member": { + "group": [], + "user": [] + } + }, + "result": { + "cn": [ + "testgroup" + ], + "description": [ + "testgroup" + ], + "dn": "cn=testgroup,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_user": [ + "kfrog" + ] + } + } +} \ No newline at end of file diff --git a/install/static/test/data/group_find.json b/install/static/test/data/group_find.json new file mode 100644 index 00000000..902689a0 --- /dev/null +++ b/install/static/test/data/group_find.json @@ -0,0 +1,75 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 5, + "result": [ + { + "cn": [ + "admins" + ], + "description": [ + "Account administrators group" + ], + "dn": "cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gidnumber": [ + "1948497956" + ], + "member_user": [ + "admin" + ] + }, + { + "cn": [ + "ipausers" + ], + "description": [ + "Default group for all users" + ], + "dn": "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gidnumber": [ + "1948497957" + ], + "member_user": [ + "kfrog", + "moi" + ] + }, + { + "cn": [ + "editors" + ], + "description": [ + "Limited admins who can edit other users" + ], + "dn": "cn=editors,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gidnumber": [ + "1948497958" + ] + }, + { + "cn": [ + "deleteme" + ], + "description": [ + "This is a group that should go away." + ], + "dn": "cn=deleteme,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "testgroup" + ], + "description": [ + "Detlete this if you see it" + ], + "dn": "cn=testgroup,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gidnumber": [ + "1948497959" + ] + } + ], + "summary": "5 groups matched", + "truncated": false + } +} \ No newline at end of file diff --git a/install/static/test/data/group_show.json b/install/static/test/data/group_show.json new file mode 100644 index 00000000..536b120c --- /dev/null +++ b/install/static/test/data/group_show.json @@ -0,0 +1,38 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "ipausers" + ], + "description": [ + "Default group for all users" + ], + "dn": "cn=ipausers,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "gidnumber": [ + "1079249048" + ], + "member": [ + "uid=gsmile,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "uid=kfrog,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "uid=count123,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + ], + "member_user": [ + "gsmile", + "kfrog", + "count123" + ], + "memberof": [], + "objectclass": [ + "top", + "groupofnames", + "nestedgroup", + "ipausergroup", + "posixgroup" + ] + }, + "summary": null, + "value": "ipausers" + } +} diff --git a/install/static/test/data/host_add.json b/install/static/test/data/host_add.json new file mode 100644 index 00000000..8b4d8b93 --- /dev/null +++ b/install/static/test/data/host_add.json @@ -0,0 +1,40 @@ +{ + "error": null, + "id": 14, + "result": { + "result": { + "cn": [ + "www.pbs.org" + ], + "dn": "fqdn=www.pbs.org,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "fqdn": [ + "www.pbs.org" + ], + "has_keytab": false, + "ipauniqueid": [ + "3ad2e63d-b43a-11df-8dd1-525400674dcd" + ], + "krbprincipalname": [ + "host/www.pbs.org@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "managedby": [ + "fqdn=www.pbs.org,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "objectclass": [ + "ipaobject", + "nshost", + "ipahost", + "pkiuser", + "ipaservice", + "krbprincipalaux", + "krbprincipal", + "top" + ], + "serverhostname": [ + "www" + ] + }, + "summary": null, + "value": "www.pbs.org" + } +} \ No newline at end of file diff --git a/install/static/test/data/host_find.json b/install/static/test/data/host_find.json new file mode 100644 index 00000000..83a65d1b --- /dev/null +++ b/install/static/test/data/host_find.json @@ -0,0 +1,45 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "dn": "fqdn=vm-121.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "enrolledby": [], + "fqdn": [ + "vm-121.idm.lab.bos.redhat.com" + ], + "krbprincipalname": [ + "host/vm-121.idm.lab.bos.redhat.com@IDM.LAB.BOS.REDHAT.COM" + ], + "memberof": [] + }, + { + "description": [ + "sample host" + ], + "dn": "fqdn=ayounghost1.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "enrolledby": [], + "fqdn": [ + "ayounghost1.idm.lab.bos.redhat.com" + ], + "l": [ + "VM-lab" + ], + "memberof": [], + "nshardwareplatform": [ + "kvm" + ], + "nshostlocation": [ + "VM-lab" + ], + "nsosversion": [ + "F13" + ] + } + ], + "summary": "2 hosts matched", + "truncated": false + } +} \ No newline at end of file diff --git a/install/static/test/data/host_show.json b/install/static/test/data/host_show.json new file mode 100644 index 00000000..64a7fb31 --- /dev/null +++ b/install/static/test/data/host_show.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "vm-121.idm.lab.bos.redhat.com" + ], + "dn": "fqdn=vm-121.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "enrolledby": [], + "fqdn": [ + "vm-121.idm.lab.bos.redhat.com" + ], + "ipauniqueid": [ + "b54b73a8-8ba8-11df-80bc-00163e26b89e" + ], + "krbextradata": [ + { + "__base64__": "AAKOoTdMYWRtaW4vYWRtaW5ASURNLkxBQi5CT1MuUkVESEFULkNPTQA=" + } + ], + "krblastpwdchange": [ + "20100709222414Z" + ], + "krbpasswordexpiration": [ + "19700101000000Z" + ], + "krbprincipalname": [ + "host/vm-121.idm.lab.bos.redhat.com@IDM.LAB.BOS.REDHAT.COM" + ], + "krbticketflags": [ + "0" + ], + "managedby": [ + "fqdn=vm-121.idm.lab.bos.redhat.com,cn=computers,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + ], + "memberof": [], + "objectclass": [ + "top", + "ipaobject", + "nshost", + "ipahost", + "ipaservice", + "pkiuser", + "krbprincipalaux", + "krbprincipal", + "krbticketpolicyaux" + ], + "serverhostname": [ + "vm-121" + ] + }, + "summary": null, + "value": "vm-121.idm.lab.bos.redhat.com" + } +} diff --git a/install/static/test/data/hostgroup_add.json b/install/static/test/data/hostgroup_add.json new file mode 100644 index 00000000..bc41ee7d --- /dev/null +++ b/install/static/test/data/hostgroup_add.json @@ -0,0 +1,27 @@ +{ + "error": null, + "id": 15, + "result": { + "result": { + "cn": [ + "guest_hosts" + ], + "description": [ + "Special Guest Stars" + ], + "dn": "cn=guest_hosts,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "ipauniqueid": [ + "7f8c57ae-b43a-11df-8016-525400674dcd" + ], + "objectclass": [ + "ipaobject", + "ipahostgroup", + "nestedGroup", + "groupOfNames", + "top" + ] + }, + "summary": "Added hostgroup \"guest_hosts\"", + "value": "guest_hosts" + } +} \ No newline at end of file diff --git a/install/static/test/data/hostgroup_add_member.json b/install/static/test/data/hostgroup_add_member.json new file mode 100644 index 00000000..a9220175 --- /dev/null +++ b/install/static/test/data/hostgroup_add_member.json @@ -0,0 +1,37 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 3, + "failed": { + "member": { + "host": [], + "hostgroup": [] + } + }, + "result": { + "cn": [ + "host-live" + ], + "description": [ + "Live servers" + ], + "dn": "cn=host-live,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "ipauniqueid": [ + "1ba89342-b683-11df-8d5b-525400674dcd" + ], + "member_host": [ + "live3.pbs.org", + "live2.pbs.org", + "live1.pbs.org" + ], + "objectclass": [ + "ipaobject", + "ipahostgroup", + "nestedGroup", + "groupOfNames", + "top" + ] + } + } +} \ No newline at end of file diff --git a/install/static/test/data/hostgroup_find.json b/install/static/test/data/hostgroup_find.json new file mode 100644 index 00000000..6732910c --- /dev/null +++ b/install/static/test/data/hostgroup_find.json @@ -0,0 +1,33 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "cn": [ + "host-live" + ], + "description": [ + "Live servers" + ], + "dn": "cn=host-live,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "member": [], + "memberof": [] + }, + { + "cn": [ + "stage-live" + ], + "description": [ + "Staging servers" + ], + "dn": "cn=stage-live,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "member": [], + "memberof": [] + } + ], + "summary": "2 hostgroups matched", + "truncated": false + } +} \ No newline at end of file diff --git a/install/static/test/data/hostgroup_show.json b/install/static/test/data/hostgroup_show.json new file mode 100644 index 00000000..776d446d --- /dev/null +++ b/install/static/test/data/hostgroup_show.json @@ -0,0 +1,22 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "host-live" + ], + "description": [ + "Live servers" + ], + "dn": "cn=host-live,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_host": [ + "live3.pbs.org", + "live2.pbs.org", + "live1.pbs.org" + ] + }, + "summary": null, + "value": "host-live" + } +} \ No newline at end of file diff --git a/install/static/test/data/json_metadata.json b/install/static/test/data/json_metadata.json new file mode 100644 index 00000000..07acb3e4 --- /dev/null +++ b/install/static/test/data/json_metadata.json @@ -0,0 +1,3362 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "aci": { + "__base64__": "" + }, + "automountkey": { + "attribute_members": {}, + "container_dn": "cn=automount", + "default_attributes": [ + "automountkey", + "automountinformation", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Automount Keys", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "automountkey", + "object_class": [ + "automount" + ], + "object_class_config": null, + "object_name": "automount key", + "object_name_plural": "automount keys", + "parent_object": "automountmap", + "primary_key": "automountkey", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "key", + "cli_short_name": null, + "default": null, + "doc": "Automount key name", + "exclude": null, + "flags": [], + "include": null, + "label": "Key", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "automountkey", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "info", + "cli_short_name": null, + "default": null, + "doc": "Mount information", + "exclude": null, + "flags": [], + "include": null, + "label": "Mount information", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "automountinformation", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "description", + "exclude": null, + "flags": [], + "include": null, + "label": "description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "automountlocation": { + "attribute_members": {}, + "container_dn": "cn=automount", + "default_attributes": [ + "cn" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "", + "methods": [ + "add", + "del", + "find", + "show", + "tofiles" + ], + "name": "automountlocation", + "object_class": [ + "nscontainer" + ], + "object_class_config": null, + "object_name": "automount location", + "object_name_plural": "automount locations", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "location", + "cli_short_name": null, + "default": null, + "doc": "Automount location name", + "exclude": null, + "flags": [], + "include": null, + "label": "Location", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "automountmap": { + "attribute_members": {}, + "container_dn": "cn=automount", + "default_attributes": [ + "automountmapname", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Automount Maps", + "methods": [ + "add", + "add_indirect", + "del", + "find", + "mod", + "show" + ], + "name": "automountmap", + "object_class": [ + "automountmap" + ], + "object_class_config": null, + "object_name": "automount map", + "object_name_plural": "automount maps", + "parent_object": "automountlocation", + "primary_key": "automountmapname", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "map", + "cli_short_name": null, + "default": null, + "doc": "Automount map name", + "exclude": null, + "flags": [], + "include": null, + "label": "Map", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "automountmapname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "config": { + "attribute_members": {}, + "container_dn": "", + "default_attributes": [ + "ipamaxusernamelength", + "ipahomesrootdir", + "ipadefaultloginshell", + "ipadefaultprimarygroup", + "ipadefaultdomain", + "ipasearchtimelimit", + "ipasearchrecordslimit", + "ipausersearchfields", + "ipagroupsearchfields", + "ipamigrationenabled", + "ipacertificatesubjectbase" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "", + "methods": [ + "mod", + "show" + ], + "name": "config", + "object_class": [], + "object_class_config": null, + "object_name": "configuration options", + "object_name_plural": "entries", + "parent_object": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxusername", + "cli_short_name": null, + "default": null, + "doc": "Max username length", + "exclude": null, + "flags": [], + "include": null, + "label": "Max username length", + "maxvalue": null, + "minvalue": 1, + "multivalue": false, + "name": "ipamaxusernamelength", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "homedirectory", + "cli_short_name": null, + "default": null, + "doc": "Default location of home directories", + "exclude": null, + "flags": [], + "include": null, + "label": "Home directory base", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipahomesrootdir", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "defaultshell", + "cli_short_name": null, + "default": null, + "doc": "Default shell for new users", + "exclude": null, + "flags": [], + "include": null, + "label": "Default shell", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipadefaultloginshell", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "defaultgroup", + "cli_short_name": null, + "default": null, + "doc": "Default group for new users", + "exclude": null, + "flags": [], + "include": null, + "label": "Default users group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipadefaultprimarygroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "emaildomain", + "cli_short_name": null, + "default": null, + "doc": "Default e-mail domain new users", + "exclude": null, + "flags": [], + "include": null, + "label": "Default e-mail domain", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipadefaultemaildomain", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "searchtimelimit", + "cli_short_name": null, + "default": null, + "doc": "Max. amount of time (sec.) for a search (-1 is unlimited)", + "exclude": null, + "flags": [], + "include": null, + "label": "Search time limit", + "maxvalue": null, + "minvalue": -1, + "multivalue": false, + "name": "ipasearchtimelimit", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "searchrecordslimit", + "cli_short_name": null, + "default": null, + "doc": "Max. number of records to search (-1 is unlimited)", + "exclude": null, + "flags": [], + "include": null, + "label": "Search size limit", + "maxvalue": null, + "minvalue": -1, + "multivalue": false, + "name": "ipasearchrecordslimit", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "usersearch", + "cli_short_name": null, + "default": null, + "doc": "A comma-separated list of fields to search when searching for users", + "exclude": null, + "flags": [], + "include": null, + "label": "User search fields", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipausersearchfields", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "groupsearch", + "cli_short_name": null, + "default": null, + "doc": "A comma-separated list of fields to search when searching for groups", + "exclude": null, + "flags": [], + "include": null, + "label": "Group search fields", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipagroupsearchfields", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Bool", + "cli_name": "enable_migration", + "cli_short_name": null, + "default": null, + "doc": "Enable migration mode", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [], + "include": null, + "label": "Migration mode", + "multivalue": false, + "name": "ipamigrationenabled", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "subject", + "cli_short_name": null, + "default": null, + "doc": "base for certificate subjects (OU=Test,O=Example)", + "exclude": null, + "flags": [], + "include": null, + "label": "Certificate Subject base", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipacertificatesubjectbase", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "cosentry": { + "attribute_members": {}, + "container_dn": "cn=costemplates,cn=accounts", + "default_attributes": [ + "cn", + "cospriority", + "krbpwdpolicyreference" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "cosentry", + "object_class": [ + "top", + "costemplate", + "extensibleobject", + "krbcontainer" + ], + "object_class_config": null, + "object_name": "entry", + "object_name_plural": "entries", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "cn", + "cli_short_name": null, + "default": null, + "doc": "", + "exclude": null, + "flags": [], + "include": null, + "label": "", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "krbpwdpolicyreference", + "cli_short_name": null, + "default": null, + "doc": "", + "exclude": null, + "flags": [], + "include": null, + "label": "", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "krbpwdpolicyreference", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "cospriority", + "cli_short_name": null, + "default": null, + "doc": "", + "exclude": null, + "flags": [], + "include": null, + "label": "", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "cospriority", + "primary_key": false, + "query": false, + "required": true, + "type": "int" + } + ], + "uuid_attribute": "" + }, + "dns": { + "__base64__": "" + }, + "group": { + "attribute_members": { + "member": [ + "user", + "group" + ], + "memberof": [ + "group", + "netgroup", + "rolegroup", + "taskgroup" + ] + }, + "container_dn": "cn=groups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "gidnumber", + "member", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "User Groups", + "methods": [ + "add", + "add_member", + "del", + "detach", + "find", + "mod", + "remove_member", + "show" + ], + "name": "group", + "object_class": [ + "ipausergroup" + ], + "object_class_config": "ipagroupobjectclasses", + "object_name": "group", + "object_name_plural": "groups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Group name", + "exclude": null, + "flags": [], + "include": null, + "label": "Group name", + "length": null, + "maxlength": 33, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$", + "pattern_errmsg": "may only include letters, numbers, _, -, . and $", + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Group description", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "gid", + "cli_short_name": null, + "default": null, + "doc": "GID (use this option to set it manually)", + "exclude": null, + "flags": [], + "include": null, + "label": "GID", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "gidnumber", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_group", + "cli_short_name": null, + "default": null, + "doc": "Member groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_user", + "cli_short_name": null, + "default": null, + "doc": "Member users", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member users", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_user", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hbac": { + "attribute_members": { + "memberhost": [ + "host", + "hostgroup" + ], + "memberservice": [ + "hbacsvc", + "hbacsvcgroup" + ], + "memberuser": [ + "user", + "group" + ], + "sourcehost": [ + "host", + "hostgroup" + ] + }, + "container_dn": "cn=hbac", + "default_attributes": [ + "cn", + "accessruletype", + "ipaenabledflag", + "accesstime", + "description", + "usercategory", + "hostcategory", + "sourcehostcategory", + "servicecategory", + "ipaenabledflag", + "memberuser", + "sourcehost", + "memberhost", + "memberservice", + "memberhostgroup" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "HBAC", + "methods": [ + "add", + "add_accesstime", + "add_host", + "add_service", + "add_sourcehost", + "add_user", + "del", + "disable", + "enable", + "find", + "mod", + "remove_accesstime", + "remove_host", + "remove_service", + "remove_sourcehost", + "remove_user", + "show" + ], + "name": "hbac", + "object_class": [ + "ipaassociation", + "ipahbacrule" + ], + "object_class_config": null, + "object_name": "HBAC rule", + "object_name_plural": "HBAC rules", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Rule name", + "exclude": null, + "flags": [], + "include": null, + "label": "Rule name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "type", + "cli_short_name": null, + "default": null, + "doc": "Rule type (allow or deny)", + "exclude": null, + "flags": [], + "include": null, + "label": "Rule type", + "multivalue": false, + "name": "accessruletype", + "primary_key": false, + "query": false, + "required": true, + "type": "unicode", + "values": [ + "allow", + "deny" + ] + }, + { + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "usercat", + "cli_short_name": null, + "default": null, + "doc": "User category the rule applies to", + "exclude": null, + "flags": [], + "include": null, + "label": "User category", + "multivalue": false, + "name": "usercategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "hostcat", + "cli_short_name": null, + "default": null, + "doc": "Host category the rule applies to", + "exclude": null, + "flags": [], + "include": null, + "label": "Host category", + "multivalue": false, + "name": "hostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "srchostcat", + "cli_short_name": null, + "default": null, + "doc": "Source host category the rule applies to", + "exclude": null, + "flags": [], + "include": null, + "label": "Source host category", + "multivalue": false, + "name": "sourcehostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "servicecat", + "cli_short_name": null, + "default": null, + "doc": "Service category the rule applies to", + "exclude": null, + "flags": [], + "include": null, + "label": "Service category", + "multivalue": false, + "name": "servicecategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "attribute": false, + "autofill": false, + "class": "AccessTime", + "cli_name": "time", + "cli_short_name": null, + "default": null, + "doc": "Access time", + "exclude": null, + "flags": [], + "include": null, + "label": "Access time", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "accesstime", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": true, + "class": "Flag", + "cli_name": "ipaenabledflag", + "cli_short_name": null, + "default": false, + "doc": "Enabled", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Enabled", + "multivalue": false, + "name": "ipaenabledflag", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberuser_user", + "cli_short_name": null, + "default": null, + "doc": "Users", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Users", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberuser_user", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberhost_host", + "cli_short_name": null, + "default": null, + "doc": "Hosts", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Hosts", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberhost_host", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberhost_hostgroup", + "cli_short_name": null, + "default": null, + "doc": "Host Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Host Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberhost_hostgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sourcehost_host", + "cli_short_name": null, + "default": null, + "doc": "Source hosts", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Source hosts", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sourcehost_host", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberservice_service", + "cli_short_name": null, + "default": null, + "doc": "Services", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Services", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberservice_service", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberservice_servicegroup", + "cli_short_name": null, + "default": null, + "doc": "Service Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Service Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberservice_servicegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hbacsvc": { + "attribute_members": {}, + "container_dn": "cn=hbacservices,cn=accounts", + "default_attributes": [ + "cn", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Services", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "hbacsvc", + "object_class": [ + "ipaobject", + "ipahbacservice" + ], + "object_class_config": null, + "object_name": "service", + "object_name_plural": "services", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "service", + "cli_short_name": null, + "default": null, + "doc": "HBAC Service", + "exclude": null, + "flags": [], + "include": null, + "label": "Service name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description of service", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hbacsvcgroup": { + "attribute_members": { + "member": [ + "hbacsvc", + "hbacsvcgroup" + ], + "memberof": [ + "hbacsvcgroup" + ] + }, + "container_dn": "cn=hbacservicegroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "HBAC Service Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "hbacsvcgroup", + "object_class": [ + "ipaobject", + "ipahbacservicegroup" + ], + "object_class_config": null, + "object_name": "servicegroup", + "object_name_plural": "servicegroups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Service group name", + "exclude": null, + "flags": [], + "include": null, + "label": "Service group name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "HBAC service group description", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_service", + "cli_short_name": null, + "default": null, + "doc": "Member services", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member services", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_service", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_servicegroup", + "cli_short_name": null, + "default": null, + "doc": "Member service groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member service groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_servicegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_servicegroup", + "cli_short_name": null, + "default": null, + "doc": "Member of service groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member of service groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_servicegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "host": { + "attribute_members": { + "enrolledby": [ + "user" + ], + "memberof": [ + "hostgroup", + "netgroup", + "rolegroup" + ] + }, + "container_dn": "cn=computers,cn=accounts", + "default_attributes": [ + "fqdn", + "description", + "l", + "nshostlocation", + "krbprincipalname", + "nshardwareplatform", + "nsosversion", + "usercertificate", + "memberof", + "krblastpwdchange" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Hosts", + "methods": [ + "add", + "del", + "disable", + "find", + "mod", + "show" + ], + "name": "host", + "object_class": [ + "ipaobject", + "nshost", + "ipahost", + "pkiuser", + "ipaservice" + ], + "object_class_config": null, + "object_name": "host", + "object_name_plural": "hosts", + "parent_object": "", + "primary_key": "fqdn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "hostname", + "cli_short_name": null, + "default": null, + "doc": "Host name", + "exclude": null, + "flags": [], + "include": null, + "label": "Host name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "fqdn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "A description of this host", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "locality", + "cli_short_name": null, + "default": null, + "doc": "Host locality (e.g. \"Baltimore, MD\")", + "exclude": null, + "flags": [], + "include": null, + "label": "Locality", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "l", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "location", + "cli_short_name": null, + "default": null, + "doc": "Host location (e.g. \"Lab 2\")", + "exclude": null, + "flags": [], + "include": null, + "label": "Location", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "nshostlocation", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "platform", + "cli_short_name": null, + "default": null, + "doc": "Host hardware platform (e.g. \"Lenovo T61\")", + "exclude": null, + "flags": [], + "include": null, + "label": "Platform", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "nshardwareplatform", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "os", + "cli_short_name": null, + "default": null, + "doc": "Host operating system and version (e.g. \"Fedora 9\")", + "exclude": null, + "flags": [], + "include": null, + "label": "Operating system", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "nsosversion", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "password", + "cli_short_name": null, + "default": null, + "doc": "Password used in bulk enrollment", + "exclude": null, + "flags": [], + "include": null, + "label": "User password", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "userpassword", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Bytes", + "cli_name": "certificate", + "cli_short_name": null, + "default": null, + "doc": "Base-64 encoded server certificate", + "exclude": null, + "flags": [], + "include": null, + "label": "Certificate", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "usercertificate", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "str" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "krbprincipalname", + "cli_short_name": null, + "default": null, + "doc": "Principal name", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Principal name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "krbprincipalname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_hostgroup", + "cli_short_name": null, + "default": null, + "doc": "Member of host-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member of host-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_hostgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_netgroup", + "cli_short_name": null, + "default": null, + "doc": "Member of net-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member of net-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_netgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_rolegroup", + "cli_short_name": null, + "default": null, + "doc": "Member of role-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member of role-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_rolegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hostgroup": { + "attribute_members": { + "member": [ + "host", + "hostgroup" + ], + "memberof": [ + "hostgroup" + ] + }, + "container_dn": "cn=hostgroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Host Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "hostgroup", + "object_class": [ + "ipaobject", + "ipahostgroup" + ], + "object_class_config": null, + "object_name": "hostgroup", + "object_name_plural": "hostgroups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Name of host-group", + "exclude": null, + "flags": [], + "include": null, + "label": "Host-group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "A description of this host-group", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_host", + "cli_short_name": null, + "default": null, + "doc": "Member hosts", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member hosts", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_host", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_hostgroup", + "cli_short_name": null, + "default": null, + "doc": "Member host-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member host-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_hostgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_hostgroup", + "cli_short_name": null, + "default": null, + "doc": "Member of host-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member of host-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_hostgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "krbtpolicy": { + "attribute_members": {}, + "container_dn": "cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos", + "default_attributes": [ + "krbmaxticketlife", + "krbmaxrenewableage" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "", + "methods": [ + "mod", + "reset", + "show" + ], + "name": "krbtpolicy", + "object_class": [], + "object_class_config": null, + "object_name": "kerberos ticket policy settings", + "object_name_plural": "entries", + "parent_object": "", + "primary_key": "uid", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "user", + "cli_short_name": null, + "default": null, + "doc": "Manage ticket policy for specific user", + "exclude": null, + "flags": [], + "include": null, + "label": "User name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "uid", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxlife", + "cli_short_name": null, + "default": null, + "doc": "Maximum ticket life (seconds)", + "exclude": null, + "flags": [], + "include": null, + "label": "Max life", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "krbmaxticketlife", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxrenew", + "cli_short_name": null, + "default": null, + "doc": "Maximum renewable age (seconds)", + "exclude": null, + "flags": [], + "include": null, + "label": "Max renew", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "krbmaxrenewableage", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + } + ], + "uuid_attribute": "" + }, + "netgroup": { + "attribute_members": { + "memberhost": [ + "host", + "hostgroup" + ], + "memberof": [ + "netgroup" + ], + "memberuser": [ + "user", + "group" + ] + }, + "container_dn": "cn=ng,cn=alt", + "default_attributes": [ + "cn", + "description", + "memberof", + "externalhost", + "nisdomainname", + "memberuser", + "memberhost" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Net Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "netgroup", + "object_class": [ + "ipaobject", + "ipaassociation", + "ipanisnetgroup" + ], + "object_class_config": null, + "object_name": "netgroup", + "object_name_plural": "netgroups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Netgroup name", + "exclude": null, + "flags": [], + "include": null, + "label": "Netgroup name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Netgroup description", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "nisdomain", + "cli_short_name": null, + "default": null, + "doc": "NIS domain name", + "exclude": null, + "flags": [], + "include": null, + "label": "NIS domain name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "nisdomainname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "uuid", + "cli_short_name": null, + "default": null, + "doc": "IPA unique ID", + "exclude": null, + "flags": [ + "no_update", + "no_create" + ], + "include": null, + "label": "IPA unique ID", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipauniqueid", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "pwpolicy": { + "attribute_members": {}, + "container_dn": "cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos", + "default_attributes": [ + "cn", + "cospriority", + "krbmaxpwdlife", + "krbminpwdlife", + "krbpwdhistorylength", + "krbpwdmindiffchars", + "krbpwdminlength" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "pwpolicy", + "object_class": [ + "top", + "nscontainer", + "krbpwdpolicy" + ], + "object_class_config": null, + "object_name": "password policy", + "object_name_plural": "password policies", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "group", + "cli_short_name": null, + "default": null, + "doc": "Manage password policy for specific group", + "exclude": null, + "flags": [], + "include": null, + "label": "Group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxlife", + "cli_short_name": null, + "default": null, + "doc": "Maximum password lifetime (in days)", + "exclude": null, + "flags": [], + "include": null, + "label": "Max lifetime (days)", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbmaxpwdlife", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minlife", + "cli_short_name": null, + "default": null, + "doc": "Minimum password lifetime (in hours)", + "exclude": null, + "flags": [], + "include": null, + "label": "Min lifetime (hours)", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbminpwdlife", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "history", + "cli_short_name": null, + "default": null, + "doc": "Password history size", + "exclude": null, + "flags": [], + "include": null, + "label": "History size", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdhistorylength", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minclasses", + "cli_short_name": null, + "default": null, + "doc": "Minimum number of character classes", + "exclude": null, + "flags": [], + "include": null, + "label": "Character classes", + "maxvalue": 5, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdmindiffchars", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minlength", + "cli_short_name": null, + "default": null, + "doc": "Minimum length of password", + "exclude": null, + "flags": [], + "include": null, + "label": "Min length", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdminlength", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "priority", + "cli_short_name": null, + "default": null, + "doc": "Priority of the policy (higher number means lower priority", + "exclude": null, + "flags": [], + "include": null, + "label": "Priority", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "cospriority", + "primary_key": false, + "query": false, + "required": true, + "type": "int" + } + ], + "uuid_attribute": "" + }, + "rolegroup": { + "attribute_members": { + "member": [ + "user", + "group", + "host", + "hostgroup" + ], + "memberof": [ + "taskgroup" + ] + }, + "container_dn": "cn=rolegroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Role Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "rolegroup", + "object_class": [ + "groupofnames", + "nestedgroup" + ], + "object_class_config": null, + "object_name": "rolegroup", + "object_name_plural": "rolegroups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Role-group name", + "exclude": null, + "flags": [], + "include": null, + "label": "Role-group name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "A description of this role-group", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_group", + "cli_short_name": null, + "default": null, + "doc": "Member groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_user", + "cli_short_name": null, + "default": null, + "doc": "Member users", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member users", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_user", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_taskgroup", + "cli_short_name": null, + "default": null, + "doc": "Member of task-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member of task-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_taskgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "service": { + "attribute_members": { + "managedby": [ + "host" + ] + }, + "container_dn": "cn=services,cn=accounts", + "default_attributes": [ + "krbprincipalname", + "usercertificate", + "managedby", + "krblastpwdchange" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Services", + "methods": [ + "add", + "add_host", + "del", + "disable", + "find", + "mod", + "remove_host", + "show" + ], + "name": "service", + "object_class": [ + "krbprincipal", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "ipaservice", + "pkiuser" + ], + "object_class_config": null, + "object_name": "service", + "object_name_plural": "services", + "parent_object": "", + "primary_key": "krbprincipalname", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "principal", + "cli_short_name": null, + "default": null, + "doc": "Service principal", + "exclude": null, + "flags": [], + "include": null, + "label": "Principal", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "krbprincipalname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "taskgroup": { + "attribute_members": { + "member": [ + "user", + "group", + "rolegroup" + ] + }, + "container_dn": "cn=taskgroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Task Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "taskgroup", + "object_class": [ + "groupofnames" + ], + "object_class_config": null, + "object_name": "taskgroup", + "object_name_plural": "taskgroups", + "parent_object": "", + "primary_key": "cn", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Task-group name", + "exclude": null, + "flags": [], + "include": null, + "label": "Task-group name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Task-group description", + "exclude": null, + "flags": [], + "include": null, + "label": "Description", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "description", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_group", + "cli_short_name": null, + "default": null, + "doc": "Member groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_user", + "cli_short_name": null, + "default": null, + "doc": "Member users", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member users", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_user", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "member_rolegroup", + "cli_short_name": null, + "default": null, + "doc": "Member role-groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Member role-groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "member_rolegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "user": { + "attribute_members": { + "memberof": [ + "group", + "netgroup", + "rolegroup", + "taskgroup" + ] + }, + "container_dn": "cn=users,cn=accounts", + "default_attributes": [ + "uid", + "givenname", + "sn", + "homedirectory", + "loginshell", + "ou", + "telephonenumber", + "title", + "memberof" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Users", + "methods": [ + "add", + "del", + "find", + "lock", + "mod", + "show", + "unlock" + ], + "name": "user", + "object_class": [ + "posixaccount" + ], + "object_class_config": "ipauserobjectclasses", + "object_name": "user", + "object_name_plural": "users", + "parent_object": "", + "primary_key": "uid", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "login", + "cli_short_name": null, + "default": null, + "doc": "User login", + "exclude": null, + "flags": [], + "include": null, + "label": "User login", + "length": null, + "maxlength": 33, + "minlength": null, + "multivalue": false, + "name": "uid", + "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$", + "pattern_errmsg": "may only include letters, numbers, _, -, . and $", + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "first", + "cli_short_name": null, + "default": null, + "doc": "First name", + "exclude": null, + "flags": [], + "include": null, + "label": "First name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "givenname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "last", + "cli_short_name": null, + "default": null, + "doc": "Last name", + "exclude": null, + "flags": [], + "include": null, + "label": "Last name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "homedir", + "cli_short_name": null, + "default": null, + "doc": "Home directory", + "exclude": null, + "flags": [], + "include": null, + "label": "Home directory", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "homedirectory", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "gecos", + "cli_short_name": null, + "default": null, + "doc": "GECOS field", + "exclude": null, + "flags": [], + "include": null, + "label": "GECOS field", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "gecos", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "shell", + "cli_short_name": null, + "default": "/bin/sh", + "doc": "Login shell", + "exclude": null, + "flags": [], + "include": null, + "label": "Login shell", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "loginshell", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "principal", + "cli_short_name": null, + "default": null, + "doc": "Kerberos principal", + "exclude": null, + "flags": [], + "include": null, + "label": "Kerberos principal", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "krbprincipalname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "email", + "cli_short_name": null, + "default": null, + "doc": "Email address", + "exclude": null, + "flags": [], + "include": null, + "label": "Email address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "mail", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Password", + "cli_name": "password", + "cli_short_name": null, + "default": null, + "doc": "Set the user password", + "exclude": [ + "webui" + ], + "flags": [], + "include": null, + "label": "Password", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "userpassword", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": true, + "class": "Int", + "cli_name": "uid", + "cli_short_name": null, + "default": 999, + "doc": "User ID Number (system will assign one if not provided)", + "exclude": null, + "flags": [], + "include": null, + "label": "UID", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "uidnumber", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "street", + "cli_short_name": null, + "default": null, + "doc": "Street address", + "exclude": null, + "flags": [], + "include": null, + "label": "Street address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "street", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_group", + "cli_short_name": null, + "default": null, + "doc": "Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_netgroup", + "cli_short_name": null, + "default": null, + "doc": "Netgroups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Netgroups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_netgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_rolegroup", + "cli_short_name": null, + "default": null, + "doc": "Rolegroups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Rolegroups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_rolegroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof_taskgroup", + "cli_short_name": null, + "default": null, + "doc": "Taskgroups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "include": null, + "label": "Taskgroups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof_taskgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + } + } + } +} \ No newline at end of file diff --git a/install/static/test/data/netgroup_add.json b/install/static/test/data/netgroup_add.json new file mode 100644 index 00000000..989bb5db --- /dev/null +++ b/install/static/test/data/netgroup_add.json @@ -0,0 +1,28 @@ +{ + "error": null, + "id": 17, + "result": { + "result": { + "cn": [ + "butterfly_net" + ], + "description": [ + "Butterfly Networks" + ], + "dn": "ipauniqueid=b16f7240-b43a-11df-89fa-525400674dcd,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "ipauniqueid": [ + "b16f7240-b43a-11df-89fa-525400674dcd" + ], + "nisdomainname": [ + "ayoung.boston.devel.redhat.com" + ], + "objectclass": [ + "ipaobject", + "ipaassociation", + "ipanisnetgroup" + ] + }, + "summary": null, + "value": "butterfly_net" + } +} \ No newline at end of file diff --git a/install/static/test/data/netgroup_add_member.json b/install/static/test/data/netgroup_add_member.json new file mode 100644 index 00000000..5fbae9e1 --- /dev/null +++ b/install/static/test/data/netgroup_add_member.json @@ -0,0 +1,40 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 3, + "failed": { + "memberhost": { + "host": [], + "hostgroup": [] + }, + "memberuser": { + "group": [], + "user": [] + } + }, + "result": { + "cn": [ + "net-live" + ], + "description": [ + "live servers" + ], + "dn": "ipauniqueid=2e08b2c2-baac-11df-a0cf-525400674dcd,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberhost_host": [ + "live3.pbs.org", + "live2.pbs.org", + "live1.pbs.org" + ], + "memberhost_hostgroup": [ + "host-live" + ], + "memberuser_group": [ + "muppets" + ], + "nisdomainname": [ + "ayoung.boston.devel.redhat.com" + ] + } + } +} \ No newline at end of file diff --git a/install/static/test/data/netgroup_find.json b/install/static/test/data/netgroup_find.json new file mode 100644 index 00000000..15626e0b --- /dev/null +++ b/install/static/test/data/netgroup_find.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "cn": [ + "net-stage" + ], + "description": [ + "staging servers" + ], + "dn": "ipauniqueid=f6ee9f40-9456-11df-973b-00163e26b89e,cn=ng,cn=alt,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "memberhost": [], + "memberof": [], + "memberuser": [ + "cn=muppets,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + ], + "memberuser_group": [ + "muppets" + ], + "nisdomainname": [ + "idm.lab.bos.redhat.com" + ] + }, + { + "cn": [ + "net-live" + ], + "description": [ + "live servers" + ], + "dn": "ipauniqueid=f763e426-9456-11df-934d-00163e26b89e,cn=ng,cn=alt,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "memberhost": [ + "cn=host-live,cn=hostgroups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + ], + "memberhost_hostgroup": [ + "host-live" + ], + "memberof": [], + "memberuser": [ + "cn=muppets,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + ], + "memberuser_group": [ + "muppets" + ], + "nisdomainname": [ + "idm.lab.bos.redhat.com" + ] + } + ], + "summary": null, + "truncated": false + } +} \ No newline at end of file diff --git a/install/static/test/data/netgroup_show.json b/install/static/test/data/netgroup_show.json new file mode 100644 index 00000000..aa77e888 --- /dev/null +++ b/install/static/test/data/netgroup_show.json @@ -0,0 +1,38 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "net-live" + ], + "description": [ + "live servers" + ], + "dn": "ipauniqueid=2e08b2c2-baac-11df-a0cf-525400674dcd,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberhost_host": [ + "live3.pbs.org", + "live2.pbs.org", + "live1.pbs.org", + "www1.pbs.org", + "www2.pbs.org", + "www3.pbs.org" + ], + "memberhost_hostgroup": [ + "host-live" + ], + "memberuser_group": [ + "muppets" + ], + "memberuser_user": [ + "kfrog", + "count123" + ], + "nisdomainname": [ + "ayoung.boston.devel.redhat.com" + ] + }, + "summary": null, + "value": "net-live" + } +} \ No newline at end of file diff --git a/install/static/test/data/rolegroup_add.json b/install/static/test/data/rolegroup_add.json new file mode 100644 index 00000000..54e2c283 --- /dev/null +++ b/install/static/test/data/rolegroup_add.json @@ -0,0 +1,22 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "test" + ], + "description": [ + "Test role" + ], + "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "objectclass": [ + "groupofnames", + "nestedgroup", + "top" + ] + }, + "summary": "Added rolegroup \"test\"", + "value": "test" + } +} diff --git a/install/static/test/data/rolegroup_add_member.json b/install/static/test/data/rolegroup_add_member.json new file mode 100644 index 00000000..e68ecc28 --- /dev/null +++ b/install/static/test/data/rolegroup_add_member.json @@ -0,0 +1,27 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "member": { + "group": [], + "host": [], + "hostgroup": [], + "user": [] + } + }, + "result": { + "cn": [ + "test" + ], + "description": [ + "Test role" + ], + "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "member_user": [ + "admin" + ] + } + } +} diff --git a/install/static/test/data/rolegroup_del.json b/install/static/test/data/rolegroup_del.json new file mode 100644 index 00000000..8af1e630 --- /dev/null +++ b/install/static/test/data/rolegroup_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted rolegroup \"test\"", + "value": "test" + } +} diff --git a/install/static/test/data/rolegroup_find.json b/install/static/test/data/rolegroup_find.json new file mode 100644 index 00000000..8ed2a76b --- /dev/null +++ b/install/static/test/data/rolegroup_find.json @@ -0,0 +1,185 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 15, + "result": [ + { + "cn": [ + "helpdesk" + ], + "description": [ + "Helpdesk" + ], + "dn": "cn=helpdesk,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "member_user": [ + "edewata" + ] + }, + { + "cn": [ + "useradmin" + ], + "description": [ + "User Administrators" + ], + "dn": "cn=useradmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "groupadmin" + ], + "description": [ + "Group Administrators" + ], + "dn": "cn=groupadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "hostadmin" + ], + "description": [ + "Host Administrators" + ], + "dn": "cn=hostadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "memberof_taskgroup": [ + "addhosts", + "removehosts", + "modifyhosts", + "manage_host_keytab", + "enroll_host" + ] + }, + { + "cn": [ + "hostgroupadmin" + ], + "description": [ + "Host Group Administrators" + ], + "dn": "cn=hostgroupadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "delegationadmin" + ], + "description": [ + "Role administration" + ], + "dn": "cn=delegationadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "serviceadmin" + ], + "description": [ + "Service Administrators" + ], + "dn": "cn=serviceadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "memberof_taskgroup": [ + "addservices", + "removeservices", + "modifyservices" + ] + }, + { + "cn": [ + "automountadmin" + ], + "description": [ + "Automount Administrators" + ], + "dn": "cn=automountadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "netgroupadmin" + ], + "description": [ + "Netgroups Administrators" + ], + "dn": "cn=netgroupadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "dnsadmin" + ], + "description": [ + "DNS Administrators" + ], + "dn": "cn=dnsadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "dnsserver" + ], + "description": [ + "DNS Servers" + ], + "dn": "cn=dnsserver,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "certadmin" + ], + "description": [ + "Certificate Administrators" + ], + "dn": "cn=certadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "memberof_taskgroup": [ + "retrieve_certs", + "request_certs", + "request_cert_different_host", + "certificate_status", + "revoke_certificate", + "certificate_remove_hold" + ] + }, + { + "cn": [ + "replicaadmin" + ], + "description": [ + "Replication Administrators" + ], + "dn": "cn=replicaadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "member_user": [ + "admin" + ], + "memberof_taskgroup": [ + "managereplica", + "deletereplica" + ] + }, + { + "cn": [ + "enrollhost" + ], + "description": [ + "Host Enrollment" + ], + "dn": "cn=enrollhost,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "memberof_taskgroup": [ + "manage_host_keytab", + "enroll_host" + ] + }, + { + "cn": [ + "entitlementadmin" + ], + "description": [ + "Entitlement Administrators" + ], + "dn": "cn=entitlementadmin,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "memberof_taskgroup": [ + "addentitlements", + "removeentitlements", + "modifyentitlements" + ] + } + ], + "summary": "15 rolegroups matched", + "truncated": false + } +} diff --git a/install/static/test/data/rolegroup_remove_member.json b/install/static/test/data/rolegroup_remove_member.json new file mode 100644 index 00000000..d42bb601 --- /dev/null +++ b/install/static/test/data/rolegroup_remove_member.json @@ -0,0 +1,24 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "member": { + "group": [], + "host": [], + "hostgroup": [], + "user": [] + } + }, + "result": { + "cn": [ + "test" + ], + "description": [ + "Test role" + ], + "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com" + } + } +} diff --git a/install/static/test/data/rolegroup_show.json b/install/static/test/data/rolegroup_show.json new file mode 100644 index 00000000..4652fb2c --- /dev/null +++ b/install/static/test/data/rolegroup_show.json @@ -0,0 +1,20 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "test" + ], + "description": [ + "Test role" + ], + "dn": "cn=test,cn=rolegroups,cn=accounts,dc=dev,dc=example,dc=com", + "member_user": [ + "admin" + ] + }, + "summary": null, + "value": "test" + } +} diff --git a/install/static/test/data/service_add.json b/install/static/test/data/service_add.json new file mode 100644 index 00000000..4275d9bb --- /dev/null +++ b/install/static/test/data/service_add.json @@ -0,0 +1,29 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "5b314ad9-bae4-11df-b82f-00163e72f2d9" + ], + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ], + "objectclass": [ + "krbprincipal", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "ipaservice", + "pkiuser", + "top" + ] + }, + "summary": "Added service \"test/dev.example.com@DEV.EXAMPLE.COM\"", + "value": "test/dev.example.com@DEV.EXAMPLE.COM" + } +} diff --git a/install/static/test/data/service_add_host.json b/install/static/test/data/service_add_host.json new file mode 100644 index 00000000..cb199e31 --- /dev/null +++ b/install/static/test/data/service_add_host.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "managedby": { + "host": [] + } + }, + "result": { + "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ] + } + } +} diff --git a/install/static/test/data/service_del.json b/install/static/test/data/service_del.json new file mode 100644 index 00000000..053b0ad9 --- /dev/null +++ b/install/static/test/data/service_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted service \"test/dev.example.com@DEV.EXAMPLE.COM\"", + "value": "test/dev.example.com@DEV.EXAMPLE.COM" + } +} diff --git a/install/static/test/data/service_find.json b/install/static/test/data/service_find.json new file mode 100644 index 00000000..b71ea9e3 --- /dev/null +++ b/install/static/test/data/service_find.json @@ -0,0 +1,48 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 3, + "result": [ + { + "dn": "krbprincipalname=ldap/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "has_keytab": true, + "krbprincipalname": [ + "ldap/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ], + "usercertificate": [ + { + "__base64__": "MIICbjCCAdegAwIBAgICA+0wDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMDkwMjA2NTYzMloXDTIwMDkwMjA2NTYzMlowKDEMMAoGA1UEChMDSVBBMRgwFgYDVQQDEw9kZXYuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDc63RjpqUCI84j9kjn0XYmpAOjkYbLddT9F0UUanASg1iIhscwWjvp/Mf5ZIzEYoB+dloI9gvEUWb8CU/x42QZr4lgEK4m/vCSDA0CkAnWvU/DHdtcAgpdZeBOQ1CMynyvNvN/ajyaA8dPwRcs9yJDrWXMa7LzMuw+ct5HA7HRdDdvUeIFr8YZEd/Mt1N96BmlVf3GA3P89cWfCKr1iVnmyewanjKuwcws1GCxawCnp0w1GHbKct4PPhB3k6EN8ZipFDGZmSeDVsa3gF7y2reLAYTS1/RwWPAHNeQ0cpOMe155cF3uHGSoX+RWtgo0BZ1+wgLMU5sf9W3ZMln3WmoFAgMBAAGjIjAgMBEGCWCGSAGG+EIBAQQEAwIGQDALBgNVHQ8EBAMCBSAwDQYJKoZIhvcNAQEFBQADgYEAbSYTU+IQvfppQE7setcpO/PiFNnMaZ3Ss7UGjm6XoPem9X0ktQOfWhBuhfH/7MbPdg2zn+55soaRpd8rOThr187G40GAMM5I3Jr+8386Q4zwCvED7B09pzBhQd/4ecVTIYFc82EytsM6I1aBrG9cLLuT+RL2dK5efOymCf/zjsw=" + } + ] + }, + { + "dn": "krbprincipalname=http/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "has_keytab": true, + "krbprincipalname": [ + "HTTP/dev.example.com@DEV.EXAMPLE.COM" + ], + "usercertificate": [ + { + "__base64__": "MIICbjCCAdegAwIBAgICA+4wDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMDkwMjA2NTY1MFoXDTIwMDkwMjA2NTY1MFowKDEMMAoGA1UEChMDSVBBMRgwFgYDVQQDEw9kZXYuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2g0DTtC0f7StYfbVqc3bZ6niWHCBZp9SVEgD1lGY9+efQnO1Z6dqbUxLI+oUcVqA2aoeWVSTQ1KZLglF0pYUJcMVfUAQaFbwhY05rLtKya0+6DgYbnJ187fSHNOLQ71v/6pFt9THyLFICFJgKX64ouQYxV7+UY/vyqaKCjonWBJznJHaw07cEYj6tFkQxwNIhQRWZP2yLrSEay1cDLtA7Rm6AYRKIhiBKwFVewi4VEo6HbgfKpeZRZ2G8w1UErxTuPom2WymByoOg1Z8Xn23OiW+CkcrwRFhDYyp3LRiIT+86fPYkF4TBqO9lWbxKy4ZtcHXfMcGBmQSc3yjN+IctAgMBAAGjIjAgMBEGCWCGSAGG+EIBAQQEAwIGQDALBgNVHQ8EBAMCBSAwDQYJKoZIhvcNAQEFBQADgYEAi1vdSKmUUPdkwxv6tnabo6sEpTCdyV33Jops5hMkdtIKsvOG+CeXuvPYIwZpvwozAppL3tcXsh6t35YklpjeoX8qX5gYTZvuusCUAQHfJC4H/ggU+TrjQW5GnGOLTpgew/NtLKj7LACp/YrwMNA5ktdsBbj2kESIEVlokLvITy4=" + } + ] + }, + { + "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "has_keytab": false, + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ] + } + ], + "summary": "3 services matched", + "truncated": false + } +} diff --git a/install/static/test/data/service_remove_host.sh b/install/static/test/data/service_remove_host.sh new file mode 100644 index 00000000..15234f4d --- /dev/null +++ b/install/static/test/data/service_remove_host.sh @@ -0,0 +1,18 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "managedby": { + "host": [] + } + }, + "result": { + "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ] + } + } +} diff --git a/install/static/test/data/service_show.json b/install/static/test/data/service_show.json new file mode 100644 index 00000000..30025eb7 --- /dev/null +++ b/install/static/test/data/service_show.json @@ -0,0 +1,18 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "has_keytab": false, + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ] + }, + "summary": null, + "value": "test/dev.example.com@DEV.EXAMPLE.COM" + } +} diff --git a/install/static/test/data/user_add.json b/install/static/test/data/user_add.json new file mode 100644 index 00000000..b2ede8d1 --- /dev/null +++ b/install/static/test/data/user_add.json @@ -0,0 +1,50 @@ +{ + "error": null, + "id": 10, + "result": { + "result": { + "dn": "uid=snuffy,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "snuffy" + ], + "givenname": [ + "Aloysius" + ], + "homedirectory": [ + "/home/snuffy" + ], + "ipauniqueid": [ + "a4ce7d19-b439-11df-a9ae-525400674dcd" + ], + "krbprincipalname": [ + "snuffy@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "loginshell": [ + "/bin/sh" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "radiusprofile", + "ipaobject" + ], + "sn": [ + "Snuffleupagus" + ], + "uid": [ + "snuffy" + ], + "uidnumber": [ + "1869788865" + ] + }, + "summary": "Added user \"snuffy\"", + "value": "snuffy" + } +} \ No newline at end of file diff --git a/install/static/test/data/user_find.json b/install/static/test/data/user_find.json new file mode 100644 index 00000000..c8ead0ff --- /dev/null +++ b/install/static/test/data/user_find.json @@ -0,0 +1,246 @@ + +{ + "error": null, + "id": 0, + "result": { + "count": 4, + "result": [ + { + "cn": [ + "Administrator" + ], + "dn": "uid=admin,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "Administrator" + ], + "gidnumber": [ + "444194797" + ], + "homedirectory": [ + "/home/admin" + ], + "krblastpwdchange": [ + "20100614200400Z" + ], + "krbpasswordexpiration": [ + "20100912200400Z" + ], + "krbprincipalname": [ + "admin@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "loginshell": [ + "/bin/bash" + ], + "memberof_group": [ + "admins" + ], + "memberof_rolegroup": [ + "replicaadmin" + ], + "memberof_taskgroup": [ + "managereplica", + "deletereplica" + ], + "objectclass": [ + "top", + "person", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "inetuser" + ], + "sn": [ + "Administrator" + ], + "uid": [ + "admin" + ], + "uidnumber": [ + "444194797" + ] + }, + { + "cn": [ + "Kermit Frog" + ], + "dn": "uid=kfrog,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "Some of my best friends are Geckos" + ], + "gidnumber": [ + "444194798" + ], + "givenname": [ + "Kermit" + ], + "homedirectory": [ + "/home/kfrog" + ], + "ipauniqueid": [ + "89dc1f68-77f3-11df-afb7-525400ed2d11" + ], + "krbprincipalname": [ + "kfrog" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "kfrog@pbs.org" + ], + "memberof_group": [ + "ipausers" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "radiusprofile", + "ipaobject" + ], + "sn": [ + "Frog" + ], + "street": [ + "55 Seasame Street" + ], + "title": [ + "Reporter" + ], + "uid": [ + "kfrog" + ], + "uidnumber": [ + "444194798" + ] + }, + { + "cn": [ + "Oscar Grouch" + ], + "dn": "uid=scram,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "scram" + ], + "gidnumber": [ + "444194798" + ], + "givenname": [ + "Oscar" + ], + "homedirectory": [ + "/home/trash" + ], + "ipauniqueid": [ + "adba909c-77f3-11df-ae3f-525400ed2d11" + ], + "krbprincipalname": [ + "scram" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "oscar@pbs.org" + ], + "memberof_group": [ + "ipausers" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "radiusprofile", + "ipaobject" + ], + "sn": [ + "Grouch" + ], + "street": [ + "123a Sesame Street" + ], + "title": [ + "Sys Admin" + ], + "uid": [ + "scram" + ], + "uidnumber": [ + "444194799" + ] + }, + { + "cn": [ + "Sid Monster" + ], + "dn": "uid=cookie,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "cookie" + ], + "gidnumber": [ + "444194798" + ], + "givenname": [ + "Sid" + ], + "homedirectory": [ + "cookie" + ], + "ipauniqueid": [ + "c7d10507-77f3-11df-ac53-525400ed2d11" + ], + "krbprincipalname": [ + "cookie" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "cookie@pbs.org" + ], + "memberof_group": [ + "ipausers" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "radiusprofile", + "ipaobject" + ], + "sn": [ + "Monster" + ], + "street": [ + "123 Sesame Street" + ], + "title": [ + "Chef" + ], + "uid": [ + "cookie" + ], + "uidnumber": [ + "444194800" + ] + } + ], + "summary": "4 users matched", + "truncated": false + } +} diff --git a/install/static/test/data/user_show.json b/install/static/test/data/user_show.json new file mode 100644 index 00000000..149b24f6 --- /dev/null +++ b/install/static/test/data/user_show.json @@ -0,0 +1,71 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "Kermit Frog" + ], + "dn": "uid=kfrog,cn=users,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com", + "gecos": [ + "kfrog" + ], + "gidnumber": [ + "1079249051" + ], + "givenname": [ + "Kermit" + ], + "homedirectory": [ + "/home/kfrog" + ], + "ipauniqueid": [ + "41bcf085-8baa-11df-8155-00163e26b89e" + ], + "krbprincipalname": [ + "kfrog@IDM.LAB.BOS.REDHAT.COM" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "kfrog@redhat.com" + ], + "memberof": [ + "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "cn=muppets,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "memberof_group": [ + "ipausers", + "muppets" + ], + "mepmanagedentry": [ + "cn=kfrog,cn=groups,cn=accounts,dc=idm,dc=lab,dc=bos,dc=redhat,dc=com" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "radiusprofile", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "Frog" + ], + "uid": [ + "kfrog" + ], + "uidnumber": [ + "1079249051" + ] + }, + "summary": null, + "value": "kfrog" + } +} diff --git a/install/static/test/data/whoami.json b/install/static/test/data/whoami.json new file mode 100644 index 00000000..a922d372 --- /dev/null +++ b/install/static/test/data/whoami.json @@ -0,0 +1,7 @@ +{ + "error": null, + "id": 0, + "result": { + "summary": "admin@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + } +} diff --git a/install/static/test/entity_tests.html b/install/static/test/entity_tests.html new file mode 100644 index 00000000..224bb23d --- /dev/null +++ b/install/static/test/entity_tests.html @@ -0,0 +1,23 @@ + + + + Entity Test Suite + + + + + + + + + + + +

    Entity Test Suite

    +

    +
    +

    +
      +
      test markup
      + + diff --git a/install/static/test/entity_tests.js b/install/static/test/entity_tests.js new file mode 100644 index 00000000..297928ba --- /dev/null +++ b/install/static/test/entity_tests.js @@ -0,0 +1,120 @@ +/* Authors: + * Endi Sukma Dewata + * + * Copyright (C) 2010 Red Hat + * see file 'COPYING' for use and warranty information + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; version 2 only + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +test("Testing ipa_entity_set_search_definition().", function() { + + var uid_callback = function() { + return true; + }; + + ipa_entity_set_search_definition("user", [ + ["uid", "Login", uid_callback], + ]); + + var list = ipa_entity_search_list["user"]; + ok( + list, + "ipa_entity_search_list[\"user\"] is not null" + ); + + var attr = list[0]; + ok( + attr, + "ipa_entity_search_list[\"user\"][0] is not null" + ); + + equals( + attr[0], "uid", + "ipa_entity_search_list[\"user\"][0][0]" + ); + + equals( + attr[1], "Login", + "ipa_entity_search_list[\"user\"][0][1]" + ); + + var callback = attr[2]; + ok( + callback, + "ipa_entity_search_list[\"user\"][0][2] not null" + ); + + ok( + callback(), + "ipa_entity_search_list[\"user\"][0][2]() works" + ); +}); + +test("Testing ipa_entity_generate_views().", function() { + + ipa_ajax_options["async"] = false; + + ipa_init( + "data", + true, + function(data, status, xhr) { + ok(true, "ipa_init() succeeded."); + }, + function(xhr, options, thrownError) { + ok(false, "ipa_init() failed: "+thrownError); + } + ); + + var container = $("
      "); + ipa_entity_generate_views("user", container); + + var list = container.children(); + var facets = list.children(); + + equals( + facets.length, 6, + "Checking number of facets" + ) + + var search = facets.first(); + + equals( + search.attr("title"), "search", + "Checking the first facet" + ) + + var details = search.next(); + + equals( + details.attr("title"), "details", + "Checking the second facet" + ) + + var facet = details.next(); + var attribute_members = ipa_objs["user"].attribute_members; + for (attribute_member in attribute_members) { + var objects = attribute_members[attribute_member]; + for (var i = 0; i < objects.length; i++) { + var object = objects[i]; + + equals( + facet.attr("title"), object, + "Checking the next facet" + ); + + facet = facet.next(); + } + } +}); diff --git a/install/static/test/index.html b/install/static/test/index.html new file mode 100644 index 00000000..c6d22950 --- /dev/null +++ b/install/static/test/index.html @@ -0,0 +1,37 @@ + + + + IPA Test Suite + + + + +

      IPA Test Suite

      + +

      + + + +
      +
      +
      + + + diff --git a/install/static/test/ipa_tests.html b/install/static/test/ipa_tests.html new file mode 100644 index 00000000..3031f231 --- /dev/null +++ b/install/static/test/ipa_tests.html @@ -0,0 +1,19 @@ + + + + Core Test Suite + + + + + + + +

      Core Test Suite

      +

      +
      +

      +
        +
        test markup
        + + diff --git a/install/static/test/ipa_tests.js b/install/static/test/ipa_tests.js new file mode 100644 index 00000000..8dbdd62d --- /dev/null +++ b/install/static/test/ipa_tests.js @@ -0,0 +1,94 @@ +/* Authors: + * Endi Sukma Dewata + * + * Copyright (C) 2010 Red Hat + * see file 'COPYING' for use and warranty information + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; version 2 only + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +test("Testing ipa_init().", function() { + + expect(1); + + ipa_ajax_options["async"] = false; + + ipa_init( + "data", + true, + function(data, status, xhr) { + ok(true, "ipa_init() succeeded."); + }, + function(xhr, options, thrownError) { + ok(false, "ipa_init() failed: "+thrownError); + } + ); +}); + +test("Testing ipa_get_param_info().", function() { + + var param_info = ipa_get_param_info("user", "uid"); + ok( + param_info, + "ipa_get_param_info(\"user\", \"uid\") not null" + ); + + equals( + param_info["label"], "User login", + "ipa_get_param_info(\"user\", \"uid\")[\"label\"]" + ); + + equals( + ipa_get_param_info("user", "wrong_attribute"), null, + "ipa_get_param_info(\"user\", \"wrong_attribute\")" + ); + + equals( + ipa_get_param_info("user", null), null, + "ipa_get_param_info(\"user\", null)" + ); + + equals( + ipa_get_param_info("wrong_entity", "uid"), null, + "ipa_get_param_info(\"wrong_entity\", \"uid\")" + ); + + equals( + ipa_get_param_info(null, "uid"), null, + "ipa_get_param_info(null, \"uid\")" + ); +}); + +test("Testing ipa_get_member_attribute().", function() { + + equals( + ipa_get_member_attribute("user", "group"), "memberof", + "ipa_get_member_attribute(\"user\", \"group\")" + ); + + equals( + ipa_get_member_attribute("user", "host"), null, + "ipa_get_member_attribute(\"user\", \"host\")" + ); + + equals( + ipa_get_member_attribute("user", null), null, + "ipa_get_member_attribute(\"user\", null)" + ); + + equals( + ipa_get_member_attribute(null, "group"), null, + "ipa_get_member_attribute(null, \"group\")" + ); +}); diff --git a/install/static/test/qunit.css b/install/static/test/qunit.css new file mode 100644 index 00000000..e9404f59 --- /dev/null +++ b/install/static/test/qunit.css @@ -0,0 +1,155 @@ +/** Font Family and Sizes */ + +#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { + font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; +} + +#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } +#qunit-tests { font-size: smaller; } + + +/** Resets */ + +#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult { + margin: 0; + padding: 0; +} + + +/** Header */ + +#qunit-header { + padding: 0.5em 0 0.5em 1em; + + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 1px; + background-color: #0d3349; + + border-radius: 15px 15px 0 0; + -moz-border-radius: 15px 15px 0 0; + -webkit-border-top-right-radius: 15px; + -webkit-border-top-left-radius: 15px; +} + +#qunit-header a { + text-decoration: none; + color: white; +} + +#qunit-banner { + height: 5px; +} + +#qunit-testrunner-toolbar { + padding: 0em 0 0.5em 2em; +} + +#qunit-userAgent { + padding: 0.5em 0 0.5em 2.5em; + background-color: #2b81af; + color: #fff; + text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; +} + + +/** Tests: Pass/Fail */ + +#qunit-tests { + list-style-position: inside; +} + +#qunit-tests li { + padding: 0.4em 0.5em 0.4em 2.5em; + border-bottom: 1px solid #fff; + list-style-position: inside; +} + +#qunit-tests li strong { + cursor: pointer; +} + +#qunit-tests ol { + margin-top: 0.5em; + padding: 0.5em; + + background-color: #fff; + + border-radius: 15px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + + box-shadow: inset 0px 2px 13px #999; + -moz-box-shadow: inset 0px 2px 13px #999; + -webkit-box-shadow: inset 0px 2px 13px #999; +} + +/*** Test Counts */ + +#qunit-tests b.counts { color: black; } +#qunit-tests b.passed { color: #5E740B; } +#qunit-tests b.failed { color: #710909; } + +#qunit-tests li li { + margin: 0.5em; + padding: 0.4em 0.5em 0.4em 0.5em; + background-color: #fff; + border-bottom: none; + list-style-position: inside; +} + +/*** Passing Styles */ + +#qunit-tests li li.pass { + color: #5E740B; + background-color: #fff; + border-left: 26px solid #C6E746; +} + +#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; } +#qunit-tests .pass .test-name { color: #366097; } + +#qunit-tests .pass .test-actual, +#qunit-tests .pass .test-expected { color: #999999; } + +#qunit-banner.qunit-pass { background-color: #C6E746; } + +/*** Failing Styles */ + +#qunit-tests li li.fail { + color: #710909; + background-color: #fff; + border-left: 26px solid #EE5757; +} + +#qunit-tests .fail { color: #000000; background-color: #EE5757; } +#qunit-tests .fail .test-name, +#qunit-tests .fail .module-name { color: #000000; } + +#qunit-tests .fail .test-actual { color: #EE5757; } +#qunit-tests .fail .test-expected { color: green; } + +#qunit-banner.qunit-fail, +#qunit-testrunner-toolbar { background-color: #EE5757; } + + +/** Footer */ + +#qunit-testresult { + padding: 0.5em 0.5em 0.5em 2.5em; + + color: #2b81af; + background-color: #D2E0E6; + + border-radius: 0 0 15px 15px; + -moz-border-radius: 0 0 15px 15px; + -webkit-border-bottom-right-radius: 15px; + -webkit-border-bottom-left-radius: 15px; +} + +/** Fixture */ + +#qunit-fixture { + position: absolute; + top: -10000px; + left: -10000px; +} diff --git a/install/static/test/qunit.js b/install/static/test/qunit.js new file mode 100644 index 00000000..0b8173a8 --- /dev/null +++ b/install/static/test/qunit.js @@ -0,0 +1,1261 @@ +/* + * QUnit - A JavaScript Unit Testing Framework + * + * http://docs.jquery.com/QUnit + * + * Copyright (c) 2009 John Resig, Jörn Zaefferer + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + */ + +(function(window) { + +var QUnit = { + + // call on start of module test to prepend name to all tests + module: function(name, testEnvironment) { + config.currentModule = name; + + synchronize(function() { + if ( config.currentModule ) { + QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all ); + } + + config.currentModule = name; + config.moduleTestEnvironment = testEnvironment; + config.moduleStats = { all: 0, bad: 0 }; + + QUnit.moduleStart( name, testEnvironment ); + }); + }, + + asyncTest: function(testName, expected, callback) { + if ( arguments.length === 2 ) { + callback = expected; + expected = 0; + } + + QUnit.test(testName, expected, callback, true); + }, + + test: function(testName, expected, callback, async) { + var name = '' + testName + '', testEnvironment, testEnvironmentArg; + + if ( arguments.length === 2 ) { + callback = expected; + expected = null; + } + // is 2nd argument a testEnvironment? + if ( expected && typeof expected === 'object') { + testEnvironmentArg = expected; + expected = null; + } + + if ( config.currentModule ) { + name = '' + config.currentModule + ": " + name; + } + + if ( !validTest(config.currentModule + ": " + testName) ) { + return; + } + + synchronize(function() { + + testEnvironment = extend({ + setup: function() {}, + teardown: function() {} + }, config.moduleTestEnvironment); + if (testEnvironmentArg) { + extend(testEnvironment,testEnvironmentArg); + } + + QUnit.testStart( testName, testEnvironment ); + + // allow utility functions to access the current test environment + QUnit.current_testEnvironment = testEnvironment; + + config.assertions = []; + config.expected = expected; + + var tests = id("qunit-tests"); + if (tests) { + var b = document.createElement("strong"); + b.innerHTML = "Running " + name; + var li = document.createElement("li"); + li.appendChild( b ); + li.id = "current-test-output"; + tests.appendChild( li ) + } + + try { + if ( !config.pollution ) { + saveGlobal(); + } + + testEnvironment.setup.call(testEnvironment); + } catch(e) { + QUnit.ok( false, "Setup failed on " + name + ": " + e.message ); + } + }); + + synchronize(function() { + if ( async ) { + QUnit.stop(); + } + + try { + callback.call(testEnvironment); + } catch(e) { + fail("Test " + name + " died, exception and test follows", e, callback); + QUnit.ok( false, "Died on test #" + (config.assertions.length + 1) + ": " + e.message ); + // else next test will carry the responsibility + saveGlobal(); + + // Restart the tests if they're blocking + if ( config.blocking ) { + start(); + } + } + }); + + synchronize(function() { + try { + checkPollution(); + testEnvironment.teardown.call(testEnvironment); + } catch(e) { + QUnit.ok( false, "Teardown failed on " + name + ": " + e.message ); + } + }); + + synchronize(function() { + try { + QUnit.reset(); + } catch(e) { + fail("reset() failed, following Test " + name + ", exception and reset fn follows", e, reset); + } + + if ( config.expected && config.expected != config.assertions.length ) { + QUnit.ok( false, "Expected " + config.expected + " assertions, but " + config.assertions.length + " were run" ); + } + + var good = 0, bad = 0, + tests = id("qunit-tests"); + + config.stats.all += config.assertions.length; + config.moduleStats.all += config.assertions.length; + + if ( tests ) { + var ol = document.createElement("ol"); + + for ( var i = 0; i < config.assertions.length; i++ ) { + var assertion = config.assertions[i]; + + var li = document.createElement("li"); + li.className = assertion.result ? "pass" : "fail"; + li.innerHTML = assertion.message || "(no message)"; + ol.appendChild( li ); + + if ( assertion.result ) { + good++; + } else { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + if (bad == 0) { + ol.style.display = "none"; + } + + var b = document.createElement("strong"); + b.innerHTML = name + " (" + bad + ", " + good + ", " + config.assertions.length + ")"; + + addEvent(b, "click", function() { + var next = b.nextSibling, display = next.style.display; + next.style.display = display === "none" ? "block" : "none"; + }); + + addEvent(b, "dblclick", function(e) { + var target = e && e.target ? e.target : window.event.srcElement; + if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) { + target = target.parentNode; + } + if ( window.location && target.nodeName.toLowerCase() === "strong" ) { + window.location.search = "?" + encodeURIComponent(getText([target]).replace(/\(.+\)$/, "").replace(/(^\s*|\s*$)/g, "")); + } + }); + + var li = id("current-test-output"); + li.id = ""; + li.className = bad ? "fail" : "pass"; + li.removeChild( li.firstChild ); + li.appendChild( b ); + li.appendChild( ol ); + + if ( bad ) { + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + toolbar.style.display = "block"; + id("qunit-filter-pass").disabled = null; + id("qunit-filter-missing").disabled = null; + } + } + + } else { + for ( var i = 0; i < config.assertions.length; i++ ) { + if ( !config.assertions[i].result ) { + bad++; + config.stats.bad++; + config.moduleStats.bad++; + } + } + } + + QUnit.testDone( testName, bad, config.assertions.length ); + + if ( !window.setTimeout && !config.queue.length ) { + done(); + } + }); + + synchronize( done ); + }, + + /** + * Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through. + */ + expect: function(asserts) { + config.expected = asserts; + }, + + /** + * Asserts true. + * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); + */ + ok: function(a, msg) { + msg = escapeHtml(msg); + QUnit.log(a, msg); + + config.assertions.push({ + result: !!a, + message: msg + }); + }, + + /** + * Checks that the first two arguments are equal, with an optional message. + * Prints out both actual and expected values. + * + * Prefered to ok( actual == expected, message ) + * + * @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." ); + * + * @param Object actual + * @param Object expected + * @param String message (optional) + */ + equal: function(actual, expected, message) { + push(expected == actual, actual, expected, message); + }, + + notEqual: function(actual, expected, message) { + push(expected != actual, actual, expected, message); + }, + + deepEqual: function(actual, expected, message) { + push(QUnit.equiv(actual, expected), actual, expected, message); + }, + + notDeepEqual: function(actual, expected, message) { + push(!QUnit.equiv(actual, expected), actual, expected, message); + }, + + strictEqual: function(actual, expected, message) { + push(expected === actual, actual, expected, message); + }, + + notStrictEqual: function(actual, expected, message) { + push(expected !== actual, actual, expected, message); + }, + + raises: function(fn, message) { + try { + fn(); + ok( false, message ); + } + catch (e) { + ok( true, message ); + } + }, + + start: function() { + // A slight delay, to avoid any current callbacks + if ( window.setTimeout ) { + window.setTimeout(function() { + if ( config.timeout ) { + clearTimeout(config.timeout); + } + + config.blocking = false; + process(); + }, 13); + } else { + config.blocking = false; + process(); + } + }, + + stop: function(timeout) { + config.blocking = true; + + if ( timeout && window.setTimeout ) { + config.timeout = window.setTimeout(function() { + QUnit.ok( false, "Test timed out" ); + QUnit.start(); + }, timeout); + } + } + +}; + +// Backwards compatibility, deprecated +QUnit.equals = QUnit.equal; +QUnit.same = QUnit.deepEqual; + +// Maintain internal state +var config = { + // The queue of tests to run + queue: [], + + // block until document ready + blocking: true +}; + +// Load paramaters +(function() { + var location = window.location || { search: "", protocol: "file:" }, + GETParams = location.search.slice(1).split('&'); + + for ( var i = 0; i < GETParams.length; i++ ) { + GETParams[i] = decodeURIComponent( GETParams[i] ); + if ( GETParams[i] === "noglobals" ) { + GETParams.splice( i, 1 ); + i--; + config.noglobals = true; + } else if ( GETParams[i].search('=') > -1 ) { + GETParams.splice( i, 1 ); + i--; + } + } + + // restrict modules/tests by get parameters + config.filters = GETParams; + + // Figure out if we're running the tests from a server or not + QUnit.isLocal = !!(location.protocol === 'file:'); +})(); + +// Expose the API as global variables, unless an 'exports' +// object exists, in that case we assume we're in CommonJS +if ( typeof exports === "undefined" || typeof require === "undefined" ) { + extend(window, QUnit); + window.QUnit = QUnit; +} else { + extend(exports, QUnit); + exports.QUnit = QUnit; +} + +// define these after exposing globals to keep them in these QUnit namespace only +extend(QUnit, { + config: config, + + // Initialize the configuration options + init: function() { + extend(config, { + stats: { all: 0, bad: 0 }, + moduleStats: { all: 0, bad: 0 }, + started: +new Date, + updateRate: 1000, + blocking: false, + autostart: true, + autorun: false, + assertions: [], + filters: [], + queue: [] + }); + + var tests = id("qunit-tests"), + banner = id("qunit-banner"), + result = id("qunit-testresult"); + + if ( tests ) { + tests.innerHTML = ""; + } + + if ( banner ) { + banner.className = ""; + } + + if ( result ) { + result.parentNode.removeChild( result ); + } + }, + + /** + * Resets the test setup. Useful for tests that modify the DOM. + */ + reset: function() { + if ( window.jQuery ) { + jQuery("#main, #qunit-fixture").html( config.fixture ); + } + }, + + /** + * Trigger an event on an element. + * + * @example triggerEvent( document.body, "click" ); + * + * @param DOMElement elem + * @param String type + */ + triggerEvent: function( elem, type, event ) { + if ( document.createEvent ) { + event = document.createEvent("MouseEvents"); + event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, + 0, 0, 0, 0, 0, false, false, false, false, 0, null); + elem.dispatchEvent( event ); + + } else if ( elem.fireEvent ) { + elem.fireEvent("on"+type); + } + }, + + // Safe object type checking + is: function( type, obj ) { + return QUnit.objectType( obj ) == type; + }, + + objectType: function( obj ) { + if (typeof obj === "undefined") { + return "undefined"; + + // consider: typeof null === object + } + if (obj === null) { + return "null"; + } + + var type = Object.prototype.toString.call( obj ) + .match(/^\[object\s(.*)\]$/)[1] || ''; + + switch (type) { + case 'Number': + if (isNaN(obj)) { + return "nan"; + } else { + return "number"; + } + case 'String': + case 'Boolean': + case 'Array': + case 'Date': + case 'RegExp': + case 'Function': + return type.toLowerCase(); + } + if (typeof obj === "object") { + return "object"; + } + return undefined; + }, + + // Logging callbacks + begin: function() {}, + done: function(failures, total) {}, + log: function(result, message) {}, + testStart: function(name, testEnvironment) {}, + testDone: function(name, failures, total) {}, + moduleStart: function(name, testEnvironment) {}, + moduleDone: function(name, failures, total) {} +}); + +if ( typeof document === "undefined" || document.readyState === "complete" ) { + config.autorun = true; +} + +addEvent(window, "load", function() { + QUnit.begin(); + + // Initialize the config, saving the execution queue + var oldconfig = extend({}, config); + QUnit.init(); + extend(config, oldconfig); + + config.blocking = false; + + var userAgent = id("qunit-userAgent"); + if ( userAgent ) { + userAgent.innerHTML = navigator.userAgent; + } + var banner = id("qunit-header"); + if ( banner ) { + banner.innerHTML = '' + banner.innerHTML + ''; + } + + var toolbar = id("qunit-testrunner-toolbar"); + if ( toolbar ) { + toolbar.style.display = "none"; + + var filter = document.createElement("input"); + filter.type = "checkbox"; + filter.id = "qunit-filter-pass"; + filter.disabled = true; + addEvent( filter, "click", function() { + var li = document.getElementsByTagName("li"); + for ( var i = 0; i < li.length; i++ ) { + if ( li[i].className.indexOf("pass") > -1 ) { + li[i].style.display = filter.checked ? "none" : ""; + } + } + }); + toolbar.appendChild( filter ); + + var label = document.createElement("label"); + label.setAttribute("for", "qunit-filter-pass"); + label.innerHTML = "Hide passed tests"; + toolbar.appendChild( label ); + + var missing = document.createElement("input"); + missing.type = "checkbox"; + missing.id = "qunit-filter-missing"; + missing.disabled = true; + addEvent( missing, "click", function() { + var li = document.getElementsByTagName("li"); + for ( var i = 0; i < li.length; i++ ) { + if ( li[i].className.indexOf("fail") > -1 && li[i].innerHTML.indexOf('missing test - untested code is broken code') > - 1 ) { + li[i].parentNode.parentNode.style.display = missing.checked ? "none" : "block"; + } + } + }); + toolbar.appendChild( missing ); + + label = document.createElement("label"); + label.setAttribute("for", "qunit-filter-missing"); + label.innerHTML = "Hide missing tests (untested code is broken code)"; + toolbar.appendChild( label ); + } + + var main = id('main') || id('qunit-fixture'); + if ( main ) { + config.fixture = main.innerHTML; + } + + if (config.autostart) { + QUnit.start(); + } +}); + +function done() { + if ( config.doneTimer && window.clearTimeout ) { + window.clearTimeout( config.doneTimer ); + config.doneTimer = null; + } + + if ( config.queue.length ) { + config.doneTimer = window.setTimeout(function(){ + if ( !config.queue.length ) { + done(); + } else { + synchronize( done ); + } + }, 13); + + return; + } + + config.autorun = true; + + // Log the last module results + if ( config.currentModule ) { + QUnit.moduleDone( config.currentModule, config.moduleStats.bad, config.moduleStats.all ); + } + + var banner = id("qunit-banner"), + tests = id("qunit-tests"), + html = ['Tests completed in ', + +new Date - config.started, ' milliseconds.
        ', + '', config.stats.all - config.stats.bad, ' tests of ', config.stats.all, ' passed, ', config.stats.bad,' failed.'].join(''); + + if ( banner ) { + banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass"); + } + + if ( tests ) { + var result = id("qunit-testresult"); + + if ( !result ) { + result = document.createElement("p"); + result.id = "qunit-testresult"; + result.className = "result"; + tests.parentNode.insertBefore( result, tests.nextSibling ); + } + + result.innerHTML = html; + } + + QUnit.done( config.stats.bad, config.stats.all ); +} + +function validTest( name ) { + var i = config.filters.length, + run = false; + + if ( !i ) { + return true; + } + + while ( i-- ) { + var filter = config.filters[i], + not = filter.charAt(0) == '!'; + + if ( not ) { + filter = filter.slice(1); + } + + if ( name.indexOf(filter) !== -1 ) { + return !not; + } + + if ( not ) { + run = true; + } + } + + return run; +} + +function escapeHtml(s) { + s = s === null ? "" : s + ""; + return s.replace(/[\&"<>\\]/g, function(s) { + switch(s) { + case "&": return "&"; + case "\\": return "\\\\"; + case '"': return '\"'; + case "<": return "<"; + case ">": return ">"; + default: return s; + } + }); +} + +function push(result, actual, expected, message) { + message = escapeHtml(message) || (result ? "okay" : "failed"); + message = '' + message + ""; + expected = escapeHtml(QUnit.jsDump.parse(expected)); + actual = escapeHtml(QUnit.jsDump.parse(actual)); + var output = message + ', expected: ' + expected + ''; + if (actual != expected) { + output += ' result: ' + actual + ', diff: ' + QUnit.diff(expected, actual); + } + + // can't use ok, as that would double-escape messages + QUnit.log(result, output); + config.assertions.push({ + result: !!result, + message: output + }); +} + +function synchronize( callback ) { + config.queue.push( callback ); + + if ( config.autorun && !config.blocking ) { + process(); + } +} + +function process() { + var start = (new Date()).getTime(); + + while ( config.queue.length && !config.blocking ) { + if ( config.updateRate <= 0 || (((new Date()).getTime() - start) < config.updateRate) ) { + config.queue.shift()(); + + } else { + setTimeout( process, 13 ); + break; + } + } +} + +function saveGlobal() { + config.pollution = []; + + if ( config.noglobals ) { + for ( var key in window ) { + config.pollution.push( key ); + } + } +} + +function checkPollution( name ) { + var old = config.pollution; + saveGlobal(); + + var newGlobals = diff( old, config.pollution ); + if ( newGlobals.length > 0 ) { + ok( false, "Introduced global variable(s): " + newGlobals.join(", ") ); + config.expected++; + } + + var deletedGlobals = diff( config.pollution, old ); + if ( deletedGlobals.length > 0 ) { + ok( false, "Deleted global variable(s): " + deletedGlobals.join(", ") ); + config.expected++; + } +} + +// returns a new Array with the elements that are in a but not in b +function diff( a, b ) { + var result = a.slice(); + for ( var i = 0; i < result.length; i++ ) { + for ( var j = 0; j < b.length; j++ ) { + if ( result[i] === b[j] ) { + result.splice(i, 1); + i--; + break; + } + } + } + return result; +} + +function fail(message, exception, callback) { + if ( typeof console !== "undefined" && console.error && console.warn ) { + console.error(message); + console.error(exception); + console.warn(callback.toString()); + + } else if ( window.opera && opera.postError ) { + opera.postError(message, exception, callback.toString); + } +} + +function extend(a, b) { + for ( var prop in b ) { + a[prop] = b[prop]; + } + + return a; +} + +function addEvent(elem, type, fn) { + if ( elem.addEventListener ) { + elem.addEventListener( type, fn, false ); + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, fn ); + } else { + fn(); + } +} + +function id(name) { + return !!(typeof document !== "undefined" && document && document.getElementById) && + document.getElementById( name ); +} + +// Test for equality any JavaScript type. +// Discussions and reference: http://philrathe.com/articles/equiv +// Test suites: http://philrathe.com/tests/equiv +// Author: Philippe Rathé +QUnit.equiv = function () { + + var innerEquiv; // the real equiv function + var callers = []; // stack to decide between skip/abort functions + var parents = []; // stack to avoiding loops from circular referencing + + // Call the o related callback with the given arguments. + function bindCallbacks(o, callbacks, args) { + var prop = QUnit.objectType(o); + if (prop) { + if (QUnit.objectType(callbacks[prop]) === "function") { + return callbacks[prop].apply(callbacks, args); + } else { + return callbacks[prop]; // or undefined + } + } + } + + var callbacks = function () { + + // for string, boolean, number and null + function useStrictEquality(b, a) { + if (b instanceof a.constructor || a instanceof b.constructor) { + // to catch short annotaion VS 'new' annotation of a declaration + // e.g. var i = 1; + // var j = new Number(1); + return a == b; + } else { + return a === b; + } + } + + return { + "string": useStrictEquality, + "boolean": useStrictEquality, + "number": useStrictEquality, + "null": useStrictEquality, + "undefined": useStrictEquality, + + "nan": function (b) { + return isNaN(b); + }, + + "date": function (b, a) { + return QUnit.objectType(b) === "date" && a.valueOf() === b.valueOf(); + }, + + "regexp": function (b, a) { + return QUnit.objectType(b) === "regexp" && + a.source === b.source && // the regex itself + a.global === b.global && // and its modifers (gmi) ... + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + }, + + // - skip when the property is a method of an instance (OOP) + // - abort otherwise, + // initial === would have catch identical references anyway + "function": function () { + var caller = callers[callers.length - 1]; + return caller !== Object && + typeof caller !== "undefined"; + }, + + "array": function (b, a) { + var i, j, loop; + var len; + + // b could be an object literal here + if ( ! (QUnit.objectType(b) === "array")) { + return false; + } + + len = a.length; + if (len !== b.length) { // safe and faster + return false; + } + + //track reference to avoid circular references + parents.push(a); + for (i = 0; i < len; i++) { + loop = false; + for(j=0;j= 0) { + type = "array"; + } else { + type = typeof obj; + } + return type; + }, + separator:function() { + return this.multiline ? this.HTML ? '
        ' : '\n' : this.HTML ? ' ' : ' '; + }, + indent:function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing + if ( !this.multiline ) + return ''; + var chr = this.indentChar; + if ( this.HTML ) + chr = chr.replace(/\t/g,' ').replace(/ /g,' '); + return Array( this._depth_ + (extra||0) ).join(chr); + }, + up:function( a ) { + this._depth_ += a || 1; + }, + down:function( a ) { + this._depth_ -= a || 1; + }, + setParser:function( name, parser ) { + this.parsers[name] = parser; + }, + // The next 3 are exposed so you can use them + quote:quote, + literal:literal, + join:join, + // + _depth_: 1, + // This is the list of parsers, to modify them, use jsDump.setParser + parsers:{ + window: '[Window]', + document: '[Document]', + error:'[ERROR]', //when no parser is found, shouldn't happen + unknown: '[Unknown]', + 'null':'null', + undefined:'undefined', + 'function':function( fn ) { + var ret = 'function', + name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE + if ( name ) + ret += ' ' + name; + ret += '('; + + ret = [ ret, this.parse( fn, 'functionArgs' ), '){'].join(''); + return join( ret, this.parse(fn,'functionCode'), '}' ); + }, + array: array, + nodelist: array, + arguments: array, + object:function( map ) { + var ret = [ ]; + this.up(); + for ( var key in map ) + ret.push( this.parse(key,'key') + ': ' + this.parse(map[key]) ); + this.down(); + return join( '{', ret, '}' ); + }, + node:function( node ) { + var open = this.HTML ? '<' : '<', + close = this.HTML ? '>' : '>'; + + var tag = node.nodeName.toLowerCase(), + ret = open + tag; + + for ( var a in this.DOMAttrs ) { + var val = node[this.DOMAttrs[a]]; + if ( val ) + ret += ' ' + a + '=' + this.parse( val, 'attribute' ); + } + return ret + close + open + '/' + tag + close; + }, + functionArgs:function( fn ) {//function calls it internally, it's the arguments part of the function + var l = fn.length; + if ( !l ) return ''; + + var args = Array(l); + while ( l-- ) + args[l] = String.fromCharCode(97+l);//97 is 'a' + return ' ' + args.join(', ') + ' '; + }, + key:quote, //object calls it internally, the key part of an item in a map + functionCode:'[code]', //function calls it internally, it's the content of the function + attribute:quote, //node calls it internally, it's an html attribute value + string:quote, + date:quote, + regexp:literal, //regex + number:literal, + 'boolean':literal + }, + DOMAttrs:{//attributes to dump from nodes, name=>realName + id:'id', + name:'name', + 'class':'className' + }, + HTML:false,//if true, entities are escaped ( <, >, \t, space and \n ) + indentChar:' ',//indentation unit + multiline:false //if true, items in a collection, are separated by a \n, else just a space. + }; + + return jsDump; +})(); + +// from Sizzle.js +function getText( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += getText( elem.childNodes ); + } + } + + return ret; +}; + +/* + * Javascript Diff Algorithm + * By John Resig (http://ejohn.org/) + * Modified by Chu Alan "sprite" + * + * Released under the MIT license. + * + * More Info: + * http://ejohn.org/projects/javascript-diff-algorithm/ + * + * Usage: QUnit.diff(expected, actual) + * + * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick brown fox jumped jumps over" + */ +QUnit.diff = (function() { + function diff(o, n){ + var ns = new Object(); + var os = new Object(); + + for (var i = 0; i < n.length; i++) { + if (ns[n[i]] == null) + ns[n[i]] = { + rows: new Array(), + o: null + }; + ns[n[i]].rows.push(i); + } + + for (var i = 0; i < o.length; i++) { + if (os[o[i]] == null) + os[o[i]] = { + rows: new Array(), + n: null + }; + os[o[i]].rows.push(i); + } + + for (var i in ns) { + if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) { + n[ns[i].rows[0]] = { + text: n[ns[i].rows[0]], + row: os[i].rows[0] + }; + o[os[i].rows[0]] = { + text: o[os[i].rows[0]], + row: ns[i].rows[0] + }; + } + } + + for (var i = 0; i < n.length - 1; i++) { + if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null && + n[i + 1] == o[n[i].row + 1]) { + n[i + 1] = { + text: n[i + 1], + row: n[i].row + 1 + }; + o[n[i].row + 1] = { + text: o[n[i].row + 1], + row: i + 1 + }; + } + } + + for (var i = n.length - 1; i > 0; i--) { + if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null && + n[i - 1] == o[n[i].row - 1]) { + n[i - 1] = { + text: n[i - 1], + row: n[i].row - 1 + }; + o[n[i].row - 1] = { + text: o[n[i].row - 1], + row: i - 1 + }; + } + } + + return { + o: o, + n: n + }; + } + + return function(o, n){ + o = o.replace(/\s+$/, ''); + n = n.replace(/\s+$/, ''); + var out = diff(o == "" ? [] : o.split(/\s+/), n == "" ? [] : n.split(/\s+/)); + + var str = ""; + + var oSpace = o.match(/\s+/g); + if (oSpace == null) { + oSpace = [" "]; + } + else { + oSpace.push(" "); + } + var nSpace = n.match(/\s+/g); + if (nSpace == null) { + nSpace = [" "]; + } + else { + nSpace.push(" "); + } + + if (out.n.length == 0) { + for (var i = 0; i < out.o.length; i++) { + str += '' + out.o[i] + oSpace[i] + ""; + } + } + else { + if (out.n[0].text == null) { + for (n = 0; n < out.o.length && out.o[n].text == null; n++) { + str += '' + out.o[n] + oSpace[n] + ""; + } + } + + for (var i = 0; i < out.n.length; i++) { + if (out.n[i].text == null) { + str += '' + out.n[i] + nSpace[i] + ""; + } + else { + var pre = ""; + + for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) { + pre += '' + out.o[n] + oSpace[n] + ""; + } + str += " " + out.n[i].text + nSpace[i] + pre; + } + } + } + + return str; + } +})(); + +})(this); diff --git a/install/static/webui.js b/install/static/webui.js index 153a6096..09ed7092 100644 --- a/install/static/webui.js +++ b/install/static/webui.js @@ -72,10 +72,19 @@ $(function() { }; function init_on_win(data, text_status, xhr) { - ipa_cmd('user_find', [], {"whoami":"true","all":"true"}, whoami_on_win, null, null); + ipa_cmd('user_find', [], {"whoami":"true","all":"true"}, whoami_on_win, + function(xhr, options, thrownError) { + alert("Error: "+thrownError); + }, + null + ); }; - ipa_init(null, init_on_win); + ipa_init(null, null, init_on_win, + function(xhr, options, thrownError) { + alert("Error: "+thrownError); + } + ); }); /* use this to track individual changes between two hashchange events */ -- cgit