diff options
author | Adam Young <ayoung@redhat.com> | 2011-01-19 12:26:14 -0500 |
---|---|---|
committer | Endi Sukma Dewata <edewata@people01.fedoraproject.org> | 2011-01-20 14:12:47 +0000 |
commit | b9ad279ad2d8d93dd501115a028783cf8fe7fcbd (patch) | |
tree | 3c3bd271231ff635278b1cf88bfbd79d792de23d /install/ui/test | |
parent | 835436df1549578932705f5722bc78ec985c2f69 (diff) | |
download | freeipa-b9ad279ad2d8d93dd501115a028783cf8fe7fcbd.tar.gz freeipa-b9ad279ad2d8d93dd501115a028783cf8fe7fcbd.tar.xz freeipa-b9ad279ad2d8d93dd501115a028783cf8fe7fcbd.zip |
rename static to ui
Directory rename
Diffstat (limited to 'install/ui/test')
152 files changed, 22441 insertions, 0 deletions
diff --git a/install/ui/test/README b/install/ui/test/README new file mode 100755 index 000000000..96e7f9e80 --- /dev/null +++ b/install/ui/test/README @@ -0,0 +1 @@ +http://www.freeipa.org/page/UI_Unit_Tests diff --git a/install/ui/test/aci_tests.html b/install/ui/test/aci_tests.html new file mode 100755 index 000000000..7cdbeffa3 --- /dev/null +++ b/install/ui/test/aci_tests.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> + <title>Access Control Interface Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + + + + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../jquery-ui.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../widget.js"></script> + <script type="text/javascript" src="../details.js"></script> + <script type="text/javascript" src="../search.js"></script> + <script type="text/javascript" src="../add.js"></script> + <script type="text/javascript" src="../entity.js"></script> + <script type="text/javascript" src="../associate.js"></script> + <script type="text/javascript" src="../navigation.js"></script> + <script type="text/javascript" src="../aci.js"></script> + + <script type="text/javascript" src="aci_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Certificate Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/aci_tests.js b/install/ui/test/aci_tests.js new file mode 100644 index 000000000..c51b556dc --- /dev/null +++ b/install/ui/test/aci_tests.js @@ -0,0 +1,81 @@ +/* Authors: + * Adam Young <ayoung@redhat.com> + * + * 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 + */ + + +var target_section; +var aci_container; + +module('aci',{ + setup: function() { + IPA.ajax_options.async = false; + IPA.init( + "data", + true, + function(data, text_status, xhr) { + ok(true, "ipa_init() succeeded."); + }, + function(xhr, text_status, error_thrown) { + ok(false, "ipa_init() failed: "+error_thrown); + } + ); + aci_container = $('<div id="aci"/>').appendTo(document.body); + target_section = IPA.target_section(); + target_section.create(aci_container); + }, + teardown: function() { + aci_container.remove(); + }} +); + + +test("Testing aci grouptarget.", function() { + var sample_data_filter_only = {"targetgroup":"ipausers"}; + target_section.load(sample_data_filter_only); + ok($('#aci_by_group')[0].checked, 'aci_by_group control selected'); + ok ($('#aci_target_group_select option').length > 2,'group select populated'); + +}); + + + +test("Testing aci object type.", function() { + var sample_data_filter_only = {"type":"hostgroup"}; + target_section.load(sample_data_filter_only); + ok($('.aci-attribute', aci_container).length > 4); + ok($('#aci_by_type')[0].checked, 'aci_by_type control selected'); + +}); + + +test("Testing aci filter only.", function() { + + var sample_data_filter_only = {"filter":"somevalue"}; + + target_section.load(sample_data_filter_only); + + var filter_radio = $('#aci_by_filter'); + + ok(filter_radio.length,'find "filter_only_radio" control'); + ok(filter_radio[0].checked,'filter_only_radio control is checked'); + +}); + + + diff --git a/install/ui/test/all_tests.html b/install/ui/test/all_tests.html new file mode 100644 index 000000000..6a29daffa --- /dev/null +++ b/install/ui/test/all_tests.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> +<head> + <title>Complete Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../jquery-ui.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../widget.js"></script> + <script type="text/javascript" src="../details.js"></script> + <script type="text/javascript" src="../search.js"></script> + <script type="text/javascript" src="../add.js"></script> + <script type="text/javascript" src="../entity.js"></script> + <script type="text/javascript" src="../associate.js"></script> + <script type="text/javascript" src="../navigation.js"></script> + <script type="text/javascript" src="../certificate.js"></script> + <script type="text/javascript" src="../aci.js"></script> + <script type="text/javascript" src="ipa_tests.js"></script> + <script type="text/javascript" src="details_tests.js"></script> + <script type="text/javascript" src="entity_tests.js"></script> + <script type="text/javascript" src="association_tests.js"></script> + <script type="text/javascript" src="navigation_tests.js"></script> + <script type="text/javascript" src="certificate_tests.js"></script> + <script type="text/javascript" src="aci_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Complete Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/association_tests.html b/install/ui/test/association_tests.html new file mode 100644 index 000000000..40b3c208d --- /dev/null +++ b/install/ui/test/association_tests.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> + <title>Association Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../details.js"></script> + <script type="text/javascript" src="../search.js"></script> + <script type="text/javascript" src="../add.js"></script> + <script type="text/javascript" src="../associate.js"></script> + <script type="text/javascript" src="association_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Association Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/association_tests.js b/install/ui/test/association_tests.js new file mode 100644 index 000000000..a65678a7f --- /dev/null +++ b/install/ui/test/association_tests.js @@ -0,0 +1,127 @@ +/* Authors: + * Endi Sukma Dewata <edewata@redhat.com> + * + * 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, either version 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +module('associate'); + + +test("Testing serial_associator().", function() { + + expect(10); + + var orig_ipa_cmd = IPA.cmd; + + var counter = 0; + + var params = { + method: "add_member", + pkey: "test", + entity_name: "user", + other_entity: "group" + }; + + params.values = ['user1', 'user2', 'user3']; + + IPA.cmd = function(name, args, options, win_callback, fail_callback, objname) { + counter++; + + equals( + name, params.method, + "Checking IPA.cmd() parameter: method" + ); + + equals( + objname, params.other_entity, + "Checking IPA.cmd() parameter: object name" + ); + + equals( + args[0], "user"+counter, + "Checking IPA.cmd() parameter: primary key" + ); + + var response = {}; + win_callback(response); + return 0; + }; + + params.on_success = function() { + ok(true, "on_success() is invoked."); + }; + + var associator = serial_associator(params); + associator.execute(); + + IPA.cmd = orig_ipa_cmd; +}); + +test("Testing bulk_associator().", function() { + + expect(5); + + var orig_ipa_cmd = IPA.cmd; + + var counter = 0; + + var params = { + method: "add_member", + pkey: "test", + entity_name: "user", + other_entity: "group" + }; + + params.values = ['user1', 'user2', 'user3']; + + IPA.cmd = function(name, args, options, win_callback, fail_callback, objname) { + counter++; + + equals( + name, params.method, + "Checking IPA.cmd() parameter: method" + ); + + equals( + objname, params.entity_name, + "Checking IPA.cmd() parameter: object name" + ); + + equals( + args[0], params.pkey, + "Checking IPA.cmd() parameter: primary key" + ); + + equals( + options[params.other_entity], "user1,user2,user3", + "Checking IPA.cmd() parameter: options[\""+params.other_entity+"\"]" + ); + + var response = {}; + win_callback(response); + return 0; + }; + + params.on_success = function() { + ok(true, "on_success() is invoked."); + }; + + var associator = bulk_associator(params); + associator.execute(); + + IPA.cmd = orig_ipa_cmd; +}); diff --git a/install/ui/test/certificate_tests.html b/install/ui/test/certificate_tests.html new file mode 100755 index 000000000..5b411ff13 --- /dev/null +++ b/install/ui/test/certificate_tests.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> + <title>Certificate Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../jquery-ui.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../details.js"></script> + <script type="text/javascript" src="../search.js"></script> + <script type="text/javascript" src="../add.js"></script> + <script type="text/javascript" src="../navigation.js"></script> + <script type="text/javascript" src="../certificate.js"></script> + <script type="text/javascript" src="certificate_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Certificate Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/certificate_tests.js b/install/ui/test/certificate_tests.js new file mode 100755 index 000000000..c50ec1867 --- /dev/null +++ b/install/ui/test/certificate_tests.js @@ -0,0 +1,81 @@ +/* Authors: + * Endi Sukma Dewata <edewata@redhat.com> + * + * 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, either version 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +module('certificate'); + +test("Testing certificate_parse_dn().", function() { + + same( + certificate_parse_dn(), {}, + "Checking certificate_parse_dn()" + ); + + same( + certificate_parse_dn(''), {}, + "Checking certificate_parse_dn('')" + ); + + same( + certificate_parse_dn('c=US'), {'c': 'US'}, + "Checking certificate_parse_dn('c=US')" + ); + + same( + certificate_parse_dn('st=TX,c=US'), {'st': 'TX','c': 'US'}, + "Checking certificate_parse_dn('st=TX,c=US')" + ); + + same( + certificate_parse_dn('c=US,st=TX'), {'st': 'TX','c': 'US'}, + "Checking certificate_parse_dn('c=US,st=TX')" + ); + + same( + certificate_parse_dn(' st = New Mexico , c = US '), {'st': 'New Mexico','c': 'US'}, + "Checking certificate_parse_dn(' st = New Mexico , c = US ')" + ); + + same( + certificate_parse_dn('ST=TX,C=US'), {'st': 'TX','c': 'US'}, + "Checking certificate_parse_dn('ST=TX,C=US')" + ); + + same( + certificate_parse_dn('cn=dev.example.com,ou=Engineering,o=Example,l=Austin,ST=TX,C=US'), + { 'cn': 'dev.example.com', + 'ou': 'Engineering', + 'o': 'Example', + 'l': 'Austin', + 'st': 'TX', + 'c': 'US' + }, + "Checking certificate_parse_dn('cn=dev.example.com,ou=Engineering,o=Example,l=Austin,ST=TX,C=US')" + ); + + same( + certificate_parse_dn('cn=John Smith,ou=Developers,ou=Users,dc=example,dc=com'), + { + 'cn': 'John Smith', + 'ou': ['Developers','Users'], + 'dc': ['example', 'com'] + }, + "Checking certificate_parse_dn('cn=John Smith,ou=Developers,ou=Users,dc=example,dc=com')" + ); +}); diff --git a/install/ui/test/data/aci_find.json b/install/ui/test/data/aci_find.json new file mode 100644 index 000000000..00682ffd2 --- /dev/null +++ b/install/ui/test/data/aci_find.json @@ -0,0 +1,63 @@ +{ + "error": null, + "id": 6, + "result": { + "count": 53, + "result": [ + "(targetattr != \"userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory || krbMKey\")(version 3.0;acl \"Enable Anonymous access\";allow (read,search,compare) userdn = \"ldap:///anyone\";)", + "(targetattr != \"userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory || krbMKey || ipaUniqueId || memberOf || serverHostName || enrolledBy\")(version 3.0;acl \"Admin can manage any entry\";allow (all) groupdn = \"ldap:///cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword\")(version 3.0;acl \"Self can write own password\";allow (write) userdn = \"ldap:///self\";)", + "(targetattr = \"userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory\")(version 3.0;acl \"Admins can write passwords\";allow (add,delete,write) groupdn = \"ldap:///cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory\")(version 3.0;acl \"Password change service can read/write passwords\";allow (read,write) userdn = \"ldap:///krbprincipalname=kadmin/changepw@AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"userPassword || krbPrincipalKey || krbPasswordExpiration || sambaLMPassword || sambaNTPassword || passwordHistory\")(version 3.0;acl \"KDC System Account can access passwords\";allow (all) userdn = \"ldap:///uid=kdc,cn=sysaccounts,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"krbLastSuccessfulAuth || krbLastFailedAuth || krbLoginFailedCount\")(version 3.0;acl \"KDC System Account can update some fields\";allow (write) userdn = \"ldap:///uid=kdc,cn=sysaccounts,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"krbPrincipalName || krbCanonicalName || krbUPEnabled || krbMKey || krbTicketPolicyReference || krbPrincipalExpiration || krbPasswordExpiration || krbPwdPolicyReference || krbPrincipalType || krbPwdHistory || krbLastPwdChange || krbPrincipalAliases || krbExtraData || krbLastSuccessfulAuth || krbLastFailedAuth || krbLoginFailedCount\")(version 3.0;acl \"Only the KDC System Account has access to kerberos material\";allow (read,search,compare) userdn = \"ldap:///uid=kdc,cn=sysaccounts,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"krbMaxPwdLife || krbMinPwdLife || krbPwdMinDiffChars || krbPwdMinLength || krbPwdHistoryLength\")(targetfilter = \"(objectClass=krbPwdPolicy)\")(version 3.0;acl \"Admins can write password policies\";allow (read,search,compare,write) groupdn = \"ldap:///cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"givenName || sn || cn || displayName || title || initials || loginShell || gecos || homePhone || mobile || pager || facsimileTelephoneNumber || telephoneNumber || street || roomNumber || l || st || postalCode || manager || secretary || description || carLicense || labeledURI || inetUserHTTPURL || seeAlso || employeeType || businessCategory || ou\")(version 3.0;acl \"Self service\";allow (write) userdn = \"ldap:///self\";)", + "(targetattr = \"objectClass\")(target = \"ldap:///cn=certificate status,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Get Certificates status from the CA\";allow (write) groupdn = \"ldap:///cn=certificate_status,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///uid=*,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove Users\";allow (delete) groupdn = \"ldap:///cn=removeusers,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"member\")(target = \"ldap:///cn=*,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify group membership\";allow (write) groupdn = \"ldap:///cn=modifygroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///krbprincipalname=*,cn=services,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add Services\";allow (add) groupdn = \"ldap:///cn=addservices,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory\")(version 3.0;acl \"change_password\";allow (write) groupdn = \"ldap:///cn=change_password,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///cn=*,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add Groups\";allow (add) groupdn = \"ldap:///cn=addgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"cn || description\")(target = \"ldap:///cn=*,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify Hostgroups\";allow (write) groupdn = \"ldap:///cn=modifyhostgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"cn || description\")(target = \"ldap:///cn=*,cn=rolegroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify Roles\";allow (write) groupdn = \"ldap:///cn=modifyroles,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"memberhost || externalhost || memberuser || member\")(target = \"ldap:///ipauniqueid=*,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify netgroup membership\";allow (write) groupdn = \"ldap:///cn=modifynetgroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"userCertificate\")(target = \"ldap:///krbprincipalname=*,cn=services,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify Services\";allow (write) groupdn = \"ldap:///cn=modifyservices,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///cn=*,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add Hostgroups\";allow (add) groupdn = \"ldap:///cn=addhostgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove automount maps\";allow (delete) groupdn = \"ldap:///cn=removeautomount,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///automountkey=*,automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove automount keys\";allow (delete) groupdn = \"ldap:///cn=removeautomount,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///krbprincipalname=*,cn=services,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove Services\";allow (delete) groupdn = \"ldap:///cn=removeservices,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///uid=*,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add Users\";allow (add) groupdn = \"ldap:///cn=addusers,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"cn || description || l || location || nshardwareplatform || nsosversion\")(target = \"ldap:///fqdn=*,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify Hosts\";allow (write) groupdn = \"ldap:///cn=modifyhosts,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"member\")(target = \"ldap:///cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add user to default group\";allow (write) groupdn = \"ldap:///cn=add_user_to_default_group,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///cn=*,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove Hostgroups\";allow (delete) groupdn = \"ldap:///cn=removehostgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///ipauniqueid=*,cn=entitlements,cn=etc,dc=greyoak,dc=com\")(version 3.0;acl \"Remove entitlement entries\";allow (delete) groupdn = \"ldap:///cn=removeentitlements,cn=taskgroups,cn=accounts,dc=greyoak,dc=com\";)", + "(targetattr = \"krbPrincipalName || enrolledBy || objectClass\")(target = \"ldap:///fqdn=*,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Enroll a host\";allow (write) groupdn = \"ldap:///cn=enroll_host,cn=taskgroups, cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///fqdn=*,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add Hosts\";allow (add) groupdn = \"ldap:///cn=addhosts,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///ipauniqueid=*,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove netgroups\";allow (delete) groupdn = \"ldap:///cn=removenetgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"description\")(target = \"ldap:///ipauniqueid=*,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify netgroups\";allow (write) groupdn = \"ldap:///cn=modifynetgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"member\")(target = \"ldap:///cn=*,cn=rolegroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify role group membership\";allow (write) groupdn = \"ldap:///cn=modifyrolegroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"objectClass\")(target = \"ldap:///cn=request certificate,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Request Certificates from the CA\";allow (write) groupdn = \"ldap:///cn=request_certs,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"userCertificate\")(target = \"ldap:///ipauniqueid=*,cn=entitlements,cn=etc,dc=greyoak,dc=com\")(version 3.0;acl \"Modify entitlements\";allow (write) groupdn = \"ldap:///cn=modifyentitlements,cn=taskgroups,cn=accounts,dc=greyoak,dc=com\";)", + "(targetattr = \"member\")(target = \"ldap:///cn=*,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify task group membership\";allow (write) groupdn = \"ldap:///cn=modifytaskgroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///cn=*,cn=rolegroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add Roles\";allow (add) groupdn = \"ldap:///cn=addroles,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"objectClass\")(target = \"ldap:///cn=certificate remove hold,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Certificate Remove Hold\";allow (write) groupdn = \"ldap:///cn=certificate_remove_hold,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///cn=*,cn=rolegroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove Roles\";allow (delete) groupdn = \"ldap:///cn=removeroles,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add automount maps\";allow (add) groupdn = \"ldap:///cn=addautomount,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"givenName || sn || cn || displayName || title || initials || loginShell || gecos || homePhone || mobile || pager || facsimileTelephoneNumber || telephoneNumber || street || roomNumber || l || st || postalCode || manager || secretary || description || carLicense || labeledURI || inetUserHTTPURL || seeAlso || employeeType || businessCategory || ou || mepManagedEntry || objectclass\")(target = \"ldap:///uid=*,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify Users\";allow (write) groupdn = \"ldap:///cn=modifyusers,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///ipauniqueid=*,cn=ng,cn=alt,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add netgroups\";allow (add) groupdn = \"ldap:///cn=addnetgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///fqdn=*,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove Hosts\";allow (delete) groupdn = \"ldap:///cn=removehosts,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///ipauniqueid=*,cn=entitlements,cn=etc,dc=greyoak,dc=com\")(version 3.0;acl \"Add entitlements\";allow (add) groupdn = \"ldap:///cn=addentitlements,cn=taskgroups,cn=accounts,dc=greyoak,dc=com\";)", + "(target = \"ldap:///automountkey=*,automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Add automount keys\";allow (add) groupdn = \"ldap:///cn=addautomount,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(target = \"ldap:///cn=*,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Remove Groups\";allow (delete) groupdn = \"ldap:///cn=removegroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"objectClass\")(target = \"ldap:///cn=retrieve certificate,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Retrieve Certificates from the CA\";allow (write) groupdn = \"ldap:///cn=retrieve_certs,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"objectClass\")(target = \"ldap:///cn=revoke certificate,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Revoke Certificate\";allow (write) groupdn = \"ldap:///cn=revoke_certificate,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"krbPrincipalKey || krbLastPwdChange\")(target = \"ldap:///fqdn=*,cn=computers,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Manage host keytab\";allow (write) groupdn = \"ldap:///cn=manage_host_keytab,cn=taskgroups, cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"cn || description || gidnumber || objectclass || mepManagedBy\")(target = \"ldap:///cn=*,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify Groups\";allow (write) groupdn = \"ldap:///cn=modifygroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"member\")(target = \"ldap:///cn=*,cn=hostgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Modify host group membership\";allow (write) groupdn = \"ldap:///cn=modifyhostgroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)", + "(targetattr = \"objectClass\")(target = \"ldap:///cn=request certificate different host,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\")(version 3.0;acl \"Request Certificates from a different host\";allow (write) groupdn = \"ldap:///cn=request_cert_different_host,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)" + ], + "summary": "53 ACIs matched" + } +} diff --git a/install/ui/test/data/automountlocation_find.json b/install/ui/test/data/automountlocation_find.json new file mode 100644 index 000000000..ea1a54e83 --- /dev/null +++ b/install/ui/test/data/automountlocation_find.json @@ -0,0 +1,17 @@ +{ + "error": null, + "id": 6, + "result": { + "count": 1, + "result": [ + { + "cn": [ + "default" + ], + "dn": "cn=default,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + } + ], + "summary": null, + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/automountlocation_show.json b/install/ui/test/data/automountlocation_show.json new file mode 100644 index 000000000..97ce2624f --- /dev/null +++ b/install/ui/test/data/automountlocation_show.json @@ -0,0 +1,14 @@ +{ + "error": null, + "id": 6, + "result": { + "result": { + "cn": [ + "default" + ], + "dn": "cn=default,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + "summary": null, + "value": "default" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/cert_remove_hold.json b/install/ui/test/data/cert_remove_hold.json new file mode 100644 index 000000000..12548cb20 --- /dev/null +++ b/install/ui/test/data/cert_remove_hold.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "unrevoked": true + } + } +} diff --git a/install/ui/test/data/cert_request.json b/install/ui/test/data/cert_request.json new file mode 100644 index 000000000..c4410729a --- /dev/null +++ b/install/ui/test/data/cert_request.json @@ -0,0 +1,17 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "certificate": "MIICAjCCAWugAwIBAgICBAswDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMTAwNzIzMzk0NFoXDTE1MTAwNzIzMzk0NFowKDEMMAoGA1UECgwDSVBBMRgwFgYDVQQDDA9kZXYuZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOTXyj8grVB7Rj95RFawgdwn9OYZ03LWHZ+HMYggu2/xCCrUrdThP14YBlVqZumjVJSclj6T4ACjjdPJq9JTTmx7gMizDTReus7IPlS6fCxb5v5whQJZsEksXL04OxUMl25euPRFkYcTK1rdW47+AkG10j1qeNW+B6CpdQGR6eM/AgMBAAGjOjA4MBEGCWCGSAGG+EIBAQQEAwIGQDATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEASIhq723VL5xP0q51MYXFlGU1boD7pPD1pIQspD/MjCIEupcbH2kAo4wf+EiKsXR0rs+WZkaSgvFqaM4OQ2kWSFTiqmFXFDBEi6EFr68yLg7IpQpNTzVBXERd8B4GwNL9wrRw60jPXlUK29DPBsdGq8fDgX18l39wKkWXv7p1to4=", + "issuer": "CN=Certificate Authority,O=IPA", + "md5_fingerprint": "08:86:a9:f9:87:af:0d:d7:42:01:e0:5f:12:9b:32:7f", + "request_id": "1", + "serial_number": "1", + "sha1_fingerprint": "b8:4c:4b:79:4f:13:03:79:47:08:fa:6b:52:63:3d:f9:15:8e:7e:dc", + "subject": "CN=dev.example.com,O=IPA", + "valid_not_after": "Tue Oct 13 01:59:32 2015 UTC", + "valid_not_before": "Wed Oct 13 01:59:32 2010 UTC" + } + } +} diff --git a/install/ui/test/data/cert_revoke.json b/install/ui/test/data/cert_revoke.json new file mode 100644 index 000000000..3fca1ee64 --- /dev/null +++ b/install/ui/test/data/cert_revoke.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "revoked": true + } + } +} diff --git a/install/ui/test/data/cert_show.json b/install/ui/test/data/cert_show.json new file mode 100644 index 000000000..71d895f05 --- /dev/null +++ b/install/ui/test/data/cert_show.json @@ -0,0 +1,16 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "certificate": "MIICAjCCAWugAwIBAgICBAswDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMTAwNzIzMzk0NFoXDTE1MTAwNzIzMzk0NFowKDEMMAoGA1UECgwDSVBBMRgwFgYDVQQDDA9kZXYuZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOTXyj8grVB7Rj95RFawgdwn9OYZ03LWHZ+HMYggu2/xCCrUrdThP14YBlVqZumjVJSclj6T4ACjjdPJq9JTTmx7gMizDTReus7IPlS6fCxb5v5whQJZsEksXL04OxUMl25euPRFkYcTK1rdW47+AkG10j1qeNW+B6CpdQGR6eM/AgMBAAGjOjA4MBEGCWCGSAGG+EIBAQQEAwIGQDATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEASIhq723VL5xP0q51MYXFlGU1boD7pPD1pIQspD/MjCIEupcbH2kAo4wf+EiKsXR0rs+WZkaSgvFqaM4OQ2kWSFTiqmFXFDBEi6EFr68yLg7IpQpNTzVBXERd8B4GwNL9wrRw60jPXlUK29DPBsdGq8fDgX18l39wKkWXv7p1to4=", + "issuer": "CN=Certificate Authority,O=IPA", + "md5_fingerprint": "08:86:a9:f9:87:af:0d:d7:42:01:e0:5f:12:9b:32:7f", + "serial_number": "1", + "sha1_fingerprint": "b8:4c:4b:79:4f:13:03:79:47:08:fa:6b:52:63:3d:f9:15:8e:7e:dc", + "subject": "CN=dev.example.com,O=IPA", + "valid_not_after": "Tue Oct 13 01:59:32 2015 UTC", + "valid_not_before": "Wed Oct 13 01:59:32 2010 UTC" + } + } +} diff --git a/install/ui/test/data/config_show.json b/install/ui/test/data/config_show.json new file mode 100644 index 000000000..e3b6154b9 --- /dev/null +++ b/install/ui/test/data/config_show.json @@ -0,0 +1,99 @@ +{ + "error": null, + "id": 4, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "ipacertificatesubjectbase": "rscwo", + "ipaconfigstring": "rscwo", + "ipacustomfields": "rscwo", + "ipadefaultemaildomain": "rscwo", + "ipadefaultloginshell": "rscwo", + "ipadefaultprimarygroup": "rscwo", + "ipagroupobjectclasses": "rscwo", + "ipagroupsearchfields": "rscwo", + "ipahomesrootdir": "rscwo", + "ipamaxusernamelength": "rscwo", + "ipamigrationenabled": "rscwo", + "ipapwdexpadvnotify": "rscwo", + "ipasearchrecordslimit": "rscwo", + "ipasearchtimelimit": "rscwo", + "ipauserobjectclasses": "rscwo", + "ipausersearchfields": "rscwo", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "ipaConfig" + ], + "dn": "cn=ipaconfig,cn=etc,dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "ipacertificatesubjectbase": [ + "O=IPA14.AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "ipaconfigstring": [ + "AllowNThash" + ], + "ipadefaultemaildomain": [ + "ayoung.boston.devel.redhat.com" + ], + "ipadefaultloginshell": [ + "/bin/sh" + ], + "ipadefaultprimarygroup": [ + "ipausers" + ], + "ipagroupobjectclasses": [ + "top", + "groupofnames", + "nestedgroup", + "ipausergroup", + "ipaobject" + ], + "ipagroupsearchfields": [ + "cn,description" + ], + "ipahomesrootdir": [ + "/home" + ], + "ipamaxusernamelength": [ + "32" + ], + "ipamigrationenabled": [ + "FALSE" + ], + "ipapwdexpadvnotify": [ + "4" + ], + "ipasearchrecordslimit": [ + "100" + ], + "ipasearchtimelimit": [ + "2" + ], + "ipauserobjectclasses": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject" + ], + "ipausersearchfields": [ + "uid,givenname,sn,telephonenumber,ou,title" + ], + "objectclass": [ + "nsContainer", + "top", + "ipaGuiConfig", + "ipaConfigObject" + ] + }, + "summary": null, + "value": "" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/delegation_find.json b/install/ui/test/data/delegation_find.json new file mode 100644 index 000000000..82b31fc58 --- /dev/null +++ b/install/ui/test/data/delegation_find.json @@ -0,0 +1,35 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "aciname": "delegme", + "attrs": [ + "cn" + ], + "filter": "(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com)", + "group": "muppets", + "membergroup": "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "permissions": [ + "write" + ] + }, + { + "aciname": "m2m", + "attrs": [ + "title" + ], + "filter": "(memberOf=cn=monsters,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com)", + "group": "muppets", + "membergroup": "cn=monsters,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "permissions": [ + "write" + ] + } + ], + "summary": "2 delegations matched", + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/delegation_list.json b/install/ui/test/data/delegation_list.json new file mode 100644 index 000000000..d4d9fc060 --- /dev/null +++ b/install/ui/test/data/delegation_list.json @@ -0,0 +1,35 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "aciname": "delegme", + "attrs": [ + "cn" + ], + "filter": "(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com)", + "group": "muppets", + "membergroup": "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "permissions": [ + "write" + ] + }, + { + "aciname": "m2m", + "attrs": [ + "title" + ], + "filter": "(memberOf=cn=monsters,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com)", + "group": "muppets", + "membergroup": "cn=monsters,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "permissions": [ + "write" + ] + } + ], + "summary": "2 delegations matched", + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/delegation_mod.json b/install/ui/test/data/delegation_mod.json new file mode 100644 index 000000000..9f7da68bf --- /dev/null +++ b/install/ui/test/data/delegation_mod.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "aciname": "m2m", + "attrs": [ + "title" + ], + "filter": "(memberOf=cn=monsters,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com)", + "group": "muppets", + "membergroup": "cn=monsters,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "permissions": [ + "add", + "delete" + ] + }, + "summary": "Modified delegation \"m2m\"", + "value": "m2m" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/delegation_show.json b/install/ui/test/data/delegation_show.json new file mode 100644 index 000000000..9444c8750 --- /dev/null +++ b/install/ui/test/data/delegation_show.json @@ -0,0 +1,20 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "aciname": "delegme", + "attrs": [ + "cn" + ], + "filter": "(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com)", + "group": "muppets", + "membergroup": "cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "permissions": [ + "write" + ] + }, + "summary": null, + "value": "delegme" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dns_find.json b/install/ui/test/data/dns_find.json new file mode 100644 index 000000000..c3b49f413 --- /dev/null +++ b/install/ui/test/data/dns_find.json @@ -0,0 +1,101 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 3, + "result": [ + { + "dn": "idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "ayoung.boston.devel.redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoaserial": [ + "2010061001" + ], + "idnszoneactive": [ + "TRUE" + ] + }, + { + "dn": "idnsname=122.168.192.in-addr.arpa,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "122.168.192.in-addr.arpa" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.122.168.192.in-addr.arpa." + ], + "idnssoaserial": [ + "2010061001" + ], + "idnszoneactive": [ + "TRUE" + ] + }, + { + "dn": "idnsname=redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "127.0.0.1" + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.redhat.com." + ], + "idnssoaserial": [ + "2010061001" + ], + "idnszoneactive": [ + "TRUE" + ] + } + ], + "summary": null, + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dns_find_rr.json b/install/ui/test/data/dns_find_rr.json new file mode 100644 index 000000000..4183f703f --- /dev/null +++ b/install/ui/test/data/dns_find_rr.json @@ -0,0 +1,110 @@ +{ + "error": null, + "id": 6, + "result": { + "count": 11, + "result": [ + { + "dn": "idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "ayoung.boston.devel.redhat.com" + ], + "nsrecord": [ + "ipa.ayoung.boston.devel.redhat.com." + ] + }, + { + "arecord": [ + "192.168.122.81" + ], + "dn": "idnsname=ipa,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "ipa" + ] + }, + { + "dn": "idnsname=_ldap._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_ldap._tcp" + ], + "srvrecord": [ + "0 100 389 ipa" + ] + }, + { + "dn": "idnsname=_kerberos,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos" + ], + "txtrecord": [ + "AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ] + }, + { + "dn": "idnsname=_kerberos._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos._tcp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kerberos._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos._udp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kerberos-master._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos-master._tcp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kerberos-master._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos-master._udp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kpasswd._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kpasswd._tcp" + ], + "srvrecord": [ + "0 100 464 ipa" + ] + }, + { + "dn": "idnsname=_kpasswd._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kpasswd._udp" + ], + "srvrecord": [ + "0 100 464 ipa" + ] + }, + { + "dn": "idnsname=_ntp._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_ntp._udp" + ], + "srvrecord": [ + "0 100 123 ipa" + ] + } + ], + "summary": null, + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dns_show.json b/install/ui/test/data/dns_show.json new file mode 100644 index 000000000..3f3046a51 --- /dev/null +++ b/install/ui/test/data/dns_show.json @@ -0,0 +1,38 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "dn": "idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "ayoung.boston.devel.redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoaserial": [ + "2010061001" + ], + "idnszoneactive": [ + "TRUE" + ] + }, + "summary": null, + "value": "ayoung.boston.devel.redhat.com" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnsrecord_add.json b/install/ui/test/data/dnsrecord_add.json new file mode 100644 index 000000000..968d3f606 --- /dev/null +++ b/install/ui/test/data/dnsrecord_add.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 12, + "result": { + "result": { + "arecord": [ + "1.2.3.4" + ], + "dn": "idnsname=a4,idnsname=henson.ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "a4" + ], + "objectclass": [ + "top", + "idnsrecord" + ] + }, + "summary": null, + "value": "a4" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnsrecord_del.json b/install/ui/test/data/dnsrecord_del.json new file mode 100644 index 000000000..93a53627c --- /dev/null +++ b/install/ui/test/data/dnsrecord_del.json @@ -0,0 +1,10 @@ +{ + "error": null, + "result": { + "idnsname": [ + "@" + ] + }, + "summary": null, + "value": "@" + } diff --git a/install/ui/test/data/dnsrecord_find.json b/install/ui/test/data/dnsrecord_find.json new file mode 100644 index 000000000..1d64b3abb --- /dev/null +++ b/install/ui/test/data/dnsrecord_find.json @@ -0,0 +1,110 @@ +{ + "error": null, + "id": 10, + "result": { + "count": 11, + "result": [ + { + "dn": "idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "@" + ], + "nsrecord": [ + "ipa.ayoung.boston.devel.redhat.com." + ] + }, + { + "arecord": [ + "192.168.122.81" + ], + "dn": "idnsname=ipa,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "ipa" + ] + }, + { + "dn": "idnsname=_ldap._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_ldap._tcp" + ], + "srvrecord": [ + "0 100 389 ipa" + ] + }, + { + "dn": "idnsname=_kerberos,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos" + ], + "txtrecord": [ + "AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ] + }, + { + "dn": "idnsname=_kerberos._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos._tcp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kerberos._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos._udp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kerberos-master._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos-master._tcp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kerberos-master._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kerberos-master._udp" + ], + "srvrecord": [ + "0 100 88 ipa" + ] + }, + { + "dn": "idnsname=_kpasswd._tcp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kpasswd._tcp" + ], + "srvrecord": [ + "0 100 464 ipa" + ] + }, + { + "dn": "idnsname=_kpasswd._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_kpasswd._udp" + ], + "srvrecord": [ + "0 100 464 ipa" + ] + }, + { + "dn": "idnsname=_ntp._udp,idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsname": [ + "_ntp._udp" + ], + "srvrecord": [ + "0 100 123 ipa" + ] + } + ], + "summary": null, + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnszone_add.json b/install/ui/test/data/dnszone_add.json new file mode 100644 index 000000000..6870acc5b --- /dev/null +++ b/install/ui/test/data/dnszone_add.json @@ -0,0 +1,46 @@ +{ + "error": null, + "id": 3, + "result": { + "result": { + "dn": "idnsname=henson.ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsallowdynupdate": [ + "FALSE" + ], + "idnsname": [ + "henson.ayoung.boston.devel.redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ayoung.boston.devel.redhat.com" + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.henson.ayoung.boston.devel.redhat.com." + ], + "idnssoaserial": [ + "2010021201" + ], + "idnszoneactive": [ + "TRUE" + ], + "objectclass": [ + "top", + "idnsrecord", + "idnszone" + ] + }, + "summary": null, + "value": "henson.ayoung.boston.devel.redhat.com" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnszone_find.json b/install/ui/test/data/dnszone_find.json new file mode 100644 index 000000000..b8f76d417 --- /dev/null +++ b/install/ui/test/data/dnszone_find.json @@ -0,0 +1,137 @@ +{ + "error": null, + "id": 6, + "result": { + "count": 3, + "result": [ + { + "dn": "idnsname=ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsallowdynupdate": [ + "TRUE" + ], + "idnsname": [ + "ayoung.boston.devel.redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoaserial": [ + "2010021201" + ], + "idnsupdatepolicy": [ + "grant AYOUNG.BOSTON.DEVEL.REDHAT.COM krb5-self * A;" + ], + "idnszoneactive": [ + "TRUE" + ], + "nsrecord": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "objectclass": [ + "top", + "idnsrecord", + "idnszone" + ] + }, + { + "dn": "idnsname=122.168.192.in-addr.arpa,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsallowdynupdate": [ + "TRUE" + ], + "idnsname": [ + "122.168.192.in-addr.arpa" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.122.168.192.in-addr.arpa." + ], + "idnssoaserial": [ + "2010021201" + ], + "idnsupdatepolicy": [ + "grant AYOUNG.BOSTON.DEVEL.REDHAT.COM krb5-subdomain 122.168.192.in-addr.arpa. PTR;" + ], + "idnszoneactive": [ + "TRUE" + ], + "nsrecord": [ + "ipa.ayoung.boston.devel.redhat.com." + ], + "objectclass": [ + "top", + "idnsrecord", + "idnszone" + ] + }, + { + "dn": "idnsname=henson.ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsallowdynupdate": [ + "FALSE" + ], + "idnsname": [ + "henson.ayoung.boston.devel.redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ayoung.boston.devel.redhat.com" + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.henson.ayoung.boston.devel.redhat.com." + ], + "idnssoaserial": [ + "2010021201" + ], + "idnszoneactive": [ + "TRUE" + ], + "objectclass": [ + "top", + "idnsrecord", + "idnszone" + ] + } + ], + "summary": null, + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnszone_show.json b/install/ui/test/data/dnszone_show.json new file mode 100644 index 000000000..35e507627 --- /dev/null +++ b/install/ui/test/data/dnszone_show.json @@ -0,0 +1,90 @@ +{ + "error": null, + "id": 7, + "result": { + "result": { + "attributelevelrights": { + "a6record": "rscwo", + "aaaarecord": "rscwo", + "aci": "rscwo", + "afsdbrecord": "rscwo", + "arecord": "rscwo", + "certrecord": "rscwo", + "cn": "rscwo", + "cnamerecord": "rscwo", + "dnamerecord": "rscwo", + "dnsclass": "rscwo", + "dnsttl": "rscwo", + "dsrecord": "rscwo", + "hinforecord": "rscwo", + "idnsallowdynupdate": "rscwo", + "idnsname": "rscwo", + "idnssoaexpire": "rscwo", + "idnssoaminimum": "rscwo", + "idnssoamname": "rscwo", + "idnssoarefresh": "rscwo", + "idnssoaretry": "rscwo", + "idnssoarname": "rscwo", + "idnssoaserial": "rscwo", + "idnsupdatepolicy": "rscwo", + "idnszoneactive": "rscwo", + "keyrecord": "rscwo", + "kxrecord": "rscwo", + "locrecord": "rscwo", + "mdrecord": "rscwo", + "minforecord": "rscwo", + "mxrecord": "rscwo", + "naptrrecord": "rscwo", + "nsaccountlock": "rscwo", + "nsecrecord": "rscwo", + "nsrecord": "rscwo", + "nxtrecord": "rscwo", + "objectclass": "rscwo", + "ptrrecord": "rscwo", + "rrsigrecord": "rscwo", + "sigrecord": "rscwo", + "srvrecord": "rscwo", + "sshfprecord": "rscwo", + "txtrecord": "rscwo" + }, + "dn": "idnsname=henson.ayoung.boston.devel.redhat.com,cn=dns,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "idnsallowdynupdate": [ + "FALSE" + ], + "idnsname": [ + "henson.ayoung.boston.devel.redhat.com" + ], + "idnssoaexpire": [ + "1209600" + ], + "idnssoaminimum": [ + "3600" + ], + "idnssoamname": [ + "ayoung.boston.devel.redhat.com" + ], + "idnssoarefresh": [ + "3600" + ], + "idnssoaretry": [ + "900" + ], + "idnssoarname": [ + "root.henson.ayoung.boston.devel.redhat.com." + ], + "idnssoaserial": [ + "2010021201" + ], + "idnszoneactive": [ + "TRUE" + ], + "objectclass": [ + "top", + "idnsrecord", + "idnszone" + ] + }, + "summary": null, + "value": "henson.ayoung.boston.devel.redhat.com" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/group_add.json b/install/ui/test/data/group_add.json new file mode 100644 index 000000000..180f5f11c --- /dev/null +++ b/install/ui/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/ui/test/data/group_add_member.json b/install/ui/test/data/group_add_member.json new file mode 100644 index 000000000..7f10d1052 --- /dev/null +++ b/install/ui/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/ui/test/data/group_find.json b/install/ui/test/data/group_find.json new file mode 100644 index 000000000..902689a06 --- /dev/null +++ b/install/ui/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/ui/test/data/group_member_user.json b/install/ui/test/data/group_member_user.json new file mode 100644 index 000000000..971b13d44 --- /dev/null +++ b/install/ui/test/data/group_member_user.json @@ -0,0 +1,149 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "error": null, + "result": { + "cn": [ + "Administrator" + ], + "dn": "uid=admin,cn=users,cn=accounts,dc=dev,dc=example,dc=com", + "gecos": [ + "Administrator" + ], + "gidnumber": [ + "1662072955" + ], + "homedirectory": [ + "/home/admin" + ], + "ipauniqueid": [ + "ffb8d002-f46c-11df-8cc1-00163e72f2d9" + ], + "krblastpwdchange": [ + "20101120061333Z" + ], + "krbpasswordexpiration": [ + "20110218061333Z" + ], + "krbprincipalname": [ + "admin@DEV.EXAMPLE.COM" + ], + "loginshell": [ + "/bin/bash" + ], + "memberof_group": [ + "admins", + "ipausers" + ], + "memberof_rolegroup": [ + "replicaadmin" + ], + "memberof_taskgroup": [ + "managereplica", + "deletereplica" + ], + "mepmanagedentry": [ + "cn=admin,cn=groups,cn=accounts,dc=dev,dc=example,dc=com" + ], + "nsaccountlock": [ + "False" + ], + "objectclass": [ + "top", + "person", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "inetuser", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "Administrator" + ], + "uid": [ + "admin" + ], + "uidnumber": [ + "1662072955" + ] + }, + "summary": null, + "value": "admin" + }, + { + "error": null, + "result": { + "cn": [ + "Test User" + ], + "dn": "uid=test,cn=users,cn=accounts,dc=dev,dc=example,dc=com", + "gecos": [ + "test" + ], + "gidnumber": [ + "1662072958" + ], + "givenname": [ + "Test" + ], + "homedirectory": [ + "/home/test" + ], + "ipauniqueid": [ + "c0724e5e-f472-11df-8186-00163e72f2d9" + ], + "krbprincipalname": [ + "test@DEV.EXAMPLE.COM" + ], + "krbpwdpolicyreference": [ + "cn=global_policy,cn=DEV.EXAMPLE.COM,cn=kerberos,dc=dev,dc=example,dc=com" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "test" + ], + "memberof_group": [ + "ipausers", + "editors" + ], + "mepmanagedentry": [ + "cn=test,cn=groups,cn=accounts,dc=dev,dc=example,dc=com" + ], + "nsaccountlock": [ + "False" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "User" + ], + "uid": [ + "test" + ], + "uidnumber": [ + "1662072958" + ] + }, + "summary": null, + "value": "test" + } + ] + } +} diff --git a/install/ui/test/data/group_remove_member.json b/install/ui/test/data/group_remove_member.json new file mode 100644 index 000000000..0118438af --- /dev/null +++ b/install/ui/test/data/group_remove_member.json @@ -0,0 +1,44 @@ +{ + "error": null, + "id": 6, + "result": { + "completed": 0, + "failed": { + "member": { + "group": [], + "user": [] + } + }, + "result": { + "cn": [ + "muppets" + ], + "description": [ + "Muppets moonlighting for CTW" + ], + "dn": "cn=muppets,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gidnumber": [ + "1950316043" + ], + "ipauniqueid": [ + "0ee0f096-e36c11df-96f18479-3e1281d2" + ], + "member_user": [ + "admin", + "kfrog", + "count123", + "scram", + "zoe", + "pdawn" + ], + "objectclass": [ + "top", + "groupofnames", + "nestedgroup", + "ipausergroup", + "ipaobject", + "posixgroup" + ] + } + } +} diff --git a/install/ui/test/data/group_show.json b/install/ui/test/data/group_show.json new file mode 100644 index 000000000..536b120ca --- /dev/null +++ b/install/ui/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/ui/test/data/hbacrule_add.json b/install/ui/test/data/hbacrule_add.json new file mode 100644 index 000000000..2a5d251bf --- /dev/null +++ b/install/ui/test/data/hbacrule_add.json @@ -0,0 +1,27 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "accessruletype": [ + "allow" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=f3e69e82-e3b411df-bfde9b13-2b28c216,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "ipauniqueid": [ + "f3e69e82-e3b411df-bfde9b13-2b28c216" + ], + "objectclass": [ + "ipaassociation", + "ipahbacrule" + ] + }, + "summary": null, + "value": "test" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/hbacrule_add_accesstime.json b/install/ui/test/data/hbacrule_add_accesstime.json new file mode 100644 index 000000000..3c631155b --- /dev/null +++ b/install/ui/test/data/hbacrule_add_accesstime.json @@ -0,0 +1,7 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true + } +} diff --git a/install/ui/test/data/hbacrule_add_host.json b/install/ui/test/data/hbacrule_add_host.json new file mode 100644 index 000000000..038d6aea4 --- /dev/null +++ b/install/ui/test/data/hbacrule_add_host.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 2, + "failed": { + "memberhost": { + "host": [], + "hostgroup": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_add_service.json b/install/ui/test/data/hbacrule_add_service.json new file mode 100644 index 000000000..c658fe8b5 --- /dev/null +++ b/install/ui/test/data/hbacrule_add_service.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 3, + "failed": { + "memberservice": { + "hbacsvc": [], + "hbacsvcgroup": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_add_sourcehost.json b/install/ui/test/data/hbacrule_add_sourcehost.json new file mode 100644 index 000000000..a657207f5 --- /dev/null +++ b/install/ui/test/data/hbacrule_add_sourcehost.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 2, + "failed": { + "sourcehost": { + "host": [], + "hostgroup": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_add_user.json b/install/ui/test/data/hbacrule_add_user.json new file mode 100644 index 000000000..0c4c976e4 --- /dev/null +++ b/install/ui/test/data/hbacrule_add_user.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 3, + "failed": { + "memberuser": { + "group": [], + "user": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_del.json b/install/ui/test/data/hbacrule_del.json new file mode 100644 index 000000000..2197a12c2 --- /dev/null +++ b/install/ui/test/data/hbacrule_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": null, + "value": "test" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/hbacrule_find.json b/install/ui/test/data/hbacrule_find.json new file mode 100644 index 000000000..fd95d9f57 --- /dev/null +++ b/install/ui/test/data/hbacrule_find.json @@ -0,0 +1,54 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "accessruletype": [ + "allow" + ], + "cn": [ + "allow_all" + ], + "description": [ + "Allow all users to access any host from any host" + ], + "dn": "ipauniqueid=b7567b5a-e39311df-bfde9b13-2b28c216,cn=hbac,dc=dev,dc=example,dc=com", + "hostcategory": [ + "all" + ], + "ipaenabledflag": [ + "TRUE" + ], + "servicecategory": [ + "all" + ], + "sourcehostcategory": [ + "all" + ], + "usercategory": [ + "all" + ] + }, + { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=3b6d2a82-e3b511df-bfde9b13-2b28c216,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ] + } + ], + "summary": null, + "truncated": false + } +} diff --git a/install/ui/test/data/hbacrule_mod.json b/install/ui/test/data/hbacrule_mod.json new file mode 100644 index 000000000..ea2b4d1e8 --- /dev/null +++ b/install/ui/test/data/hbacrule_mod.json @@ -0,0 +1,60 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "accessruletype": [ + "allow" + ], + "attributelevelrights": { + "accessruletype": "rscwo", + "accesstime": "rscwo", + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "externalhost": "rscwo", + "hostcategory": "rscwo", + "ipaenabledflag": "rscwo", + "ipauniqueid": "rsc", + "memberhost": "rscwo", + "memberservice": "rscwo", + "memberuser": "rscwo", + "nsaccountlock": "rscwo", + "servicecategory": "rscwo", + "sourcehost": "rscwo", + "sourcehostcategory": "rscwo", + "usercategory": "rscwo" + }, + "cn": [ + "test" + ], + "description": [ + "Test HBAC rule." + ], + "hostcategory": [ + "all" + ], + "ipaenabledflag": [ + "TRUE" + ], + "ipauniqueid": [ + "4ed8b682-edf511df-b3f78f4b-11cc007b" + ], + "objectclass": [ + "ipaassociation", + "ipahbacrule" + ], + "servicecategory": [ + "all" + ], + "sourcehostcategory": [ + "all" + ], + "usercategory": [ + "all" + ] + }, + "summary": null, + "value": "test" + } +} diff --git a/install/ui/test/data/hbacrule_remove_accesstime.json b/install/ui/test/data/hbacrule_remove_accesstime.json new file mode 100644 index 000000000..3c631155b --- /dev/null +++ b/install/ui/test/data/hbacrule_remove_accesstime.json @@ -0,0 +1,7 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true + } +} diff --git a/install/ui/test/data/hbacrule_remove_host.json b/install/ui/test/data/hbacrule_remove_host.json new file mode 100644 index 000000000..02f56ecd6 --- /dev/null +++ b/install/ui/test/data/hbacrule_remove_host.json @@ -0,0 +1,50 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 2, + "failed": { + "memberhost": { + "host": [], + "hostgroup": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_remove_service.json b/install/ui/test/data/hbacrule_remove_service.json new file mode 100644 index 000000000..f8b6b51a5 --- /dev/null +++ b/install/ui/test/data/hbacrule_remove_service.json @@ -0,0 +1,49 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 3, + "failed": { + "memberservice": { + "hbacsvc": [], + "hbacsvcgroup": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_remove_sourcehost.json b/install/ui/test/data/hbacrule_remove_sourcehost.json new file mode 100644 index 000000000..da32f76e0 --- /dev/null +++ b/install/ui/test/data/hbacrule_remove_sourcehost.json @@ -0,0 +1,50 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 2, + "failed": { + "sourcehost": { + "host": [], + "hostgroup": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "admins", + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_remove_user.json b/install/ui/test/data/hbacrule_remove_user.json new file mode 100644 index 000000000..f25317e83 --- /dev/null +++ b/install/ui/test/data/hbacrule_remove_user.json @@ -0,0 +1,48 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 3, + "failed": { + "memberuser": { + "group": [], + "user": [] + } + }, + "result": { + "accessruletype": [ + "allow" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "cn": [ + "test" + ], + "dn": "ipauniqueid=e8aca082-e64a11df-9864f2e0-e0578392,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + } + } +} diff --git a/install/ui/test/data/hbacrule_show.json b/install/ui/test/data/hbacrule_show.json new file mode 100644 index 000000000..2c0b64b39 --- /dev/null +++ b/install/ui/test/data/hbacrule_show.json @@ -0,0 +1,76 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "accessruletype": [ + "deny" + ], + "accesstime": [ + "periodic daily 0800-1400", + "absolute 201012161032 ~ 201012161033" + ], + "attributelevelrights": { + "accessruletype": "rscwo", + "accesstime": "rscwo", + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "externalhost": "rscwo", + "hostcategory": "rscwo", + "ipaenabledflag": "rscwo", + "ipauniqueid": "rsc", + "memberhost": "rscwo", + "memberservice": "rscwo", + "memberuser": "rscwo", + "nsaccountlock": "rscwo", + "servicecategory": "rscwo", + "sourcehost": "rscwo", + "sourcehostcategory": "rscwo", + "usercategory": "rscwo" + }, + "cn": [ + "test" + ], + "dn": "ipauniqueid=4ed8b682-edf511df-b3f78f4b-11cc007b,cn=hbac,dc=dev,dc=example,dc=com", + "ipaenabledflag": [ + "TRUE" + ], + "ipauniqueid": [ + "4ed8b682-edf511df-b3f78f4b-11cc007b" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production" + ], + "memberservice_hbacsvc": [ + "ftp", + "sshd" + ], + "memberservice_hbacsvcgroup": [ + "sudo" + ], + "memberuser_group": [ + "editors" + ], + "memberuser_user": [ + "admin", + "test" + ], + "objectclass": [ + "ipaassociation", + "ipahbacrule" + ], + "sourcehost_host": [ + "dev.example.com" + ], + "sourcehost_hostgroup": [ + "staging" + ] + }, + "summary": null, + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvc_add.json b/install/ui/test/data/hbacsvc_add.json new file mode 100644 index 000000000..87eb51d78 --- /dev/null +++ b/install/ui/test/data/hbacsvc_add.json @@ -0,0 +1,24 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "test" + ], + "description": [ + "Test Service" + ], + "dn": "cn=test,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "c3302e82-ecfd11df-b3f78f4b-11cc007b" + ], + "objectclass": [ + "ipaobject", + "ipahbacservice" + ] + }, + "summary": "Added service \"test\"", + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvc_del.json b/install/ui/test/data/hbacsvc_del.json new file mode 100644 index 000000000..fcfce6259 --- /dev/null +++ b/install/ui/test/data/hbacsvc_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted service \"test\"", + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvc_find.json b/install/ui/test/data/hbacsvc_find.json new file mode 100644 index 000000000..86a9bcaa5 --- /dev/null +++ b/install/ui/test/data/hbacsvc_find.json @@ -0,0 +1,101 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 10, + "result": [ + { + "cn": [ + "sshd" + ], + "description": [ + "sshd" + ], + "dn": "cn=sshd,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "ftp" + ], + "description": [ + "ftp" + ], + "dn": "cn=ftp,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "su" + ], + "description": [ + "su" + ], + "dn": "cn=su,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "login" + ], + "description": [ + "login" + ], + "dn": "cn=login,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "su-l" + ], + "description": [ + "su with login shell" + ], + "dn": "cn=su-l,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "sudo" + ], + "description": [ + "sudo" + ], + "dn": "cn=sudo,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "sudo-i" + ], + "description": [ + "sudo-i" + ], + "dn": "cn=sudo-i,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "gdm" + ], + "description": [ + "gdm" + ], + "dn": "cn=gdm,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "gdm-password" + ], + "description": [ + "gdm-password" + ], + "dn": "cn=gdm-password,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + }, + { + "cn": [ + "kdm" + ], + "description": [ + "kdm" + ], + "dn": "cn=kdm,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com" + } + ], + "summary": null, + "truncated": false + } +} diff --git a/install/ui/test/data/hbacsvc_mod.json b/install/ui/test/data/hbacsvc_mod.json new file mode 100644 index 000000000..335009a98 --- /dev/null +++ b/install/ui/test/data/hbacsvc_mod.json @@ -0,0 +1,31 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "memberof": "rsc", + "nsaccountlock": "rscwo" + }, + "cn": [ + "test" + ], + "description": [ + "Test" + ], + "ipauniqueid": [ + "9e5aba82-edd411df-b3f78f4b-11cc007b" + ], + "objectclass": [ + "ipaobject", + "ipahbacservice" + ] + }, + "summary": null, + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvc_show.json b/install/ui/test/data/hbacsvc_show.json new file mode 100644 index 000000000..8ebfbd7c1 --- /dev/null +++ b/install/ui/test/data/hbacsvc_show.json @@ -0,0 +1,35 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "memberof": "rsc", + "nsaccountlock": "rscwo" + }, + "cn": [ + "sudo" + ], + "description": [ + "sudo" + ], + "dn": "cn=sudo,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "676e92a1-ec7611df-b3f78f4b-11cc007b" + ], + "memberof": [ + "cn=SUDO,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipahbacservice", + "ipaobject" + ] + }, + "summary": null, + "value": "sudo" + } +} diff --git a/install/ui/test/data/hbacsvcgroup_add.json b/install/ui/test/data/hbacsvcgroup_add.json new file mode 100644 index 000000000..0dd1e96fe --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_add.json @@ -0,0 +1,26 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "test" + ], + "description": [ + "Test Service Group" + ], + "dn": "cn=test,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "0ab6ba82-ecfe11df-b3f78f4b-11cc007b" + ], + "objectclass": [ + "ipaobject", + "ipahbacservicegroup", + "groupOfNames", + "top" + ] + }, + "summary": "Added HBAC Service group \"test\"", + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvcgroup_add_member.json b/install/ui/test/data/hbacsvcgroup_add_member.json new file mode 100644 index 000000000..8526e1848 --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_add_member.json @@ -0,0 +1,24 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "member": { + "hbacsvc": [] + } + }, + "result": { + "cn": [ + "test" + ], + "description": [ + "Test Service Group" + ], + "dn": "cn=test,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com", + "member_hbacsvc": [ + "test" + ] + } + } +} diff --git a/install/ui/test/data/hbacsvcgroup_del.json b/install/ui/test/data/hbacsvcgroup_del.json new file mode 100644 index 000000000..134f7417e --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted HBAC Service group \"test\"", + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvcgroup_find.json b/install/ui/test/data/hbacsvcgroup_find.json new file mode 100644 index 000000000..797530e37 --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_find.json @@ -0,0 +1,24 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 1, + "result": [ + { + "cn": [ + "SUDO" + ], + "description": [ + "Default group of SUDO related services" + ], + "dn": "cn=sudo,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com", + "member_hbacsvc": [ + "sudo", + "sudo-i" + ] + } + ], + "summary": "1 group matched", + "truncated": false + } +} diff --git a/install/ui/test/data/hbacsvcgroup_member_hbacsvc.json b/install/ui/test/data/hbacsvcgroup_member_hbacsvc.json new file mode 100644 index 000000000..a407a622f --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_member_hbacsvc.json @@ -0,0 +1,57 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "error": null, + "result": { + "cn": [ + "sudo" + ], + "description": [ + "sudo" + ], + "dn": "cn=sudo,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "42927a86-f46d-11df-8cc1-00163e72f2d9" + ], + "memberof": [ + "cn=SUDO,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipahbacservice", + "ipaobject" + ] + }, + "summary": null, + "value": "sudo" + }, + { + "error": null, + "result": { + "cn": [ + "sudo-i" + ], + "description": [ + "sudo-i" + ], + "dn": "cn=sudo-i,cn=hbacservices,cn=hbac,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "42970a6a-f46d-11df-8cc1-00163e72f2d9" + ], + "memberof": [ + "cn=SUDO,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipahbacservice", + "ipaobject" + ] + }, + "summary": null, + "value": "sudo-i" + } + ] + } +} diff --git a/install/ui/test/data/hbacsvcgroup_mod.json b/install/ui/test/data/hbacsvcgroup_mod.json new file mode 100644 index 000000000..e0ec916d3 --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_mod.json @@ -0,0 +1,39 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "member": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "test" + ], + "description": [ + "Test" + ], + "ipauniqueid": [ + "2d67d284-edd511df-b3f78f4b-11cc007b" + ], + "objectclass": [ + "ipaobject", + "ipahbacservicegroup", + "groupOfNames", + "top" + ] + }, + "summary": "Modified HBAC Service group \"test\"", + "value": "test" + } +} diff --git a/install/ui/test/data/hbacsvcgroup_remove_member.json b/install/ui/test/data/hbacsvcgroup_remove_member.json new file mode 100644 index 000000000..cdf413789 --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_remove_member.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 1, + "failed": { + "member": { + "hbacsvc": [] + } + }, + "result": { + "cn": [ + "test" + ], + "description": [ + "Test Service Group" + ], + "dn": "cn=test,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com" + } + } +} diff --git a/install/ui/test/data/hbacsvcgroup_show.json b/install/ui/test/data/hbacsvcgroup_show.json new file mode 100644 index 000000000..ad3c4253b --- /dev/null +++ b/install/ui/test/data/hbacsvcgroup_show.json @@ -0,0 +1,46 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "member": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "SUDO" + ], + "description": [ + "Default group of SUDO related services" + ], + "dn": "cn=sudo,cn=hbacservicegroups,cn=hbac,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "676e92ab-ec7611df-b3f78f4b-11cc007b" + ], + "member_hbacsvc": [ + "sudo", + "sudo-i" + ], + "objectclass": [ + "ipaobject", + "ipahbacservicegroup", + "nestedGroup", + "groupOfNames", + "top" + ] + }, + "summary": null, + "value": "sudo" + } +} diff --git a/install/ui/test/data/host_add.json b/install/ui/test/data/host_add.json new file mode 100644 index 000000000..8b4d8b93a --- /dev/null +++ b/install/ui/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/ui/test/data/host_disable_dev.example.com.json b/install/ui/test/data/host_disable_dev.example.com.json new file mode 100644 index 000000000..06f5aaa99 --- /dev/null +++ b/install/ui/test/data/host_disable_dev.example.com.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Removed kerberos key from \"dev.example.com\"", + "value": "dev.example.com" + } +} diff --git a/install/ui/test/data/host_find.json b/install/ui/test/data/host_find.json new file mode 100644 index 000000000..48b1fcb89 --- /dev/null +++ b/install/ui/test/data/host_find.json @@ -0,0 +1,91 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "cn": [ + "dev.example.com" + ], + "dn": "fqdn=dev.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "dev.example.com" + ], + "ipauniqueid": [ + "fc6a6d5a-f388-11df-9c01-00163e72f2d9" + ], + "krbextradata": [ + { + "__base64__": "AAL+5+VMYWRtaW4vYWRtaW5AREVWLkVYQU1QTEUuQ09NAA==" + }, + { + "__base64__": "AAgBAA==" + } + ], + "krblastpwdchange": [ + "20101119025910Z" + ], + "krbpasswordexpiration": [ + "19700101000000Z" + ], + "krbprincipalname": [ + "host/dev.example.com@DEV.EXAMPLE.COM" + ], + "krbticketflags": [ + "0" + ], + "managedby": [ + "fqdn=dev.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "top", + "ipaobject", + "nshost", + "ipahost", + "ipaservice", + "pkiuser", + "krbprincipalaux", + "krbprincipal", + "krbticketpolicyaux" + ], + "serverhostname": [ + "dev" + ] + }, + { + "cn": [ + "test.example.com" + ], + "dn": "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "test.example.com" + ], + "ipauniqueid": [ + "ac28dca0-f3b5-11df-879f-00163e72f2d9" + ], + "krbprincipalname": [ + "host/test.example.com@DEV.EXAMPLE.COM" + ], + "managedby": [ + "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "nshost", + "ipahost", + "pkiuser", + "ipaservice", + "krbprincipalaux", + "krbprincipal", + "top" + ], + "serverhostname": [ + "test" + ] + } + ], + "summary": "2 hosts matched", + "truncated": false + } +} diff --git a/install/ui/test/data/host_mod.json b/install/ui/test/data/host_mod.json new file mode 100644 index 000000000..3cb7d9ec5 --- /dev/null +++ b/install/ui/test/data/host_mod.json @@ -0,0 +1,75 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "enrolledby": "rsc", + "fqdn": "rscwo", + "ipaclientversion": "rscwo", + "ipauniqueid": "rsc", + "krbcanonicalname": "rscwo", + "krbextradata": "rscwo", + "krblastfailedauth": "rscwo", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rscwo", + "krbloginfailedcount": "rscwo", + "krbobjectreferences": "rscwo", + "krbpasswordexpiration": "rscwo", + "krbprincipalaliases": "rscwo", + "krbprincipalexpiration": "rscwo", + "krbprincipalkey": "wo", + "krbprincipalname": "rscwo", + "krbprincipaltype": "rscwo", + "krbpwdhistory": "rscwo", + "krbpwdpolicyreference": "rscwo", + "krbticketpolicyreference": "rscwo", + "krbupenabled": "rscwo", + "l": "rscwo", + "managedby": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "nshardwareplatform": "rscwo", + "nshostlocation": "rscwo", + "nsosversion": "rscwo", + "objectclass": "rscwo", + "serverhostname": "rsc", + "usercertificate": "rscwo", + "userpassword": "wo" + }, + "cn": [ + "test.example.com" + ], + "fqdn": [ + "test.example.com" + ], + "ipauniqueid": [ + "ac28dca0-f3b5-11df-879f-00163e72f2d9" + ], + "krbprincipalname": [ + "host/test.example.com@DEV.EXAMPLE.COM" + ], + "managedby": [ + "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "nshost", + "ipahost", + "pkiuser", + "ipaservice", + "krbprincipalaux", + "krbprincipal", + "top" + ], + "serverhostname": [ + "test" + ] + }, + "summary": "Modified host \"test.example.com\"", + "value": "test.example.com" + } +} diff --git a/install/ui/test/data/host_show.json b/install/ui/test/data/host_show.json new file mode 100644 index 000000000..b87802310 --- /dev/null +++ b/install/ui/test/data/host_show.json @@ -0,0 +1,80 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "enrolledby": "rsc", + "fqdn": "rscwo", + "ipaclientversion": "rscwo", + "ipauniqueid": "rsc", + "krbcanonicalname": "rsc", + "krbextradata": "rsc", + "krblastfailedauth": "rsc", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rsc", + "krbloginfailedcount": "rsc", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbobjectreferences": "rscwo", + "krbpasswordexpiration": "rsc", + "krbprincipalaliases": "rsc", + "krbprincipalexpiration": "rsc", + "krbprincipalkey": "wo", + "krbprincipalname": "rsc", + "krbprincipaltype": "rsc", + "krbpwdhistory": "rsc", + "krbpwdpolicyreference": "rsc", + "krbticketflags": "rsc", + "krbticketpolicyreference": "rsc", + "krbupenabled": "rsc", + "l": "rscwo", + "managedby": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "nshardwareplatform": "rscwo", + "nshostlocation": "rscwo", + "nsosversion": "rscwo", + "objectclass": "rscwo", + "serverhostname": "rsc", + "usercertificate": "rscwo", + "userpassword": "wo" + }, + "cn": [ + "test.example.com" + ], + "dn": "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "test.example.com" + ], + "has_keytab": false, + "ipauniqueid": [ + "ac28dca0-f3b5-11df-879f-00163e72f2d9" + ], + "krbprincipalname": [ + "host/test.example.com@DEV.EXAMPLE.COM" + ], + "managedby": [ + "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "nshost", + "ipahost", + "pkiuser", + "ipaservice", + "krbprincipalaux", + "krbprincipal", + "top" + ], + "serverhostname": [ + "test" + ] + }, + "summary": null, + "value": "test.example.com" + } +} diff --git a/install/ui/test/data/host_show_dev.example.com.json b/install/ui/test/data/host_show_dev.example.com.json new file mode 100644 index 000000000..1ee9f445f --- /dev/null +++ b/install/ui/test/data/host_show_dev.example.com.json @@ -0,0 +1,98 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "enrolledby": "rsc", + "fqdn": "rscwo", + "ipaclientversion": "rscwo", + "ipauniqueid": "rsc", + "krbcanonicalname": "rsc", + "krbextradata": "rsc", + "krblastfailedauth": "rsc", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rsc", + "krbloginfailedcount": "rsc", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbobjectreferences": "rscwo", + "krbpasswordexpiration": "rsc", + "krbprincipalaliases": "rsc", + "krbprincipalexpiration": "rsc", + "krbprincipalkey": "wo", + "krbprincipalname": "rsc", + "krbprincipaltype": "rsc", + "krbpwdhistory": "rsc", + "krbpwdpolicyreference": "rsc", + "krbticketflags": "rsc", + "krbticketpolicyreference": "rsc", + "krbupenabled": "rsc", + "l": "rscwo", + "managedby": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "nshardwareplatform": "rscwo", + "nshostlocation": "rscwo", + "nsosversion": "rscwo", + "objectclass": "rscwo", + "serverhostname": "rsc", + "usercertificate": "rscwo", + "userpassword": "wo" + }, + "cn": [ + "dev.example.com" + ], + "dn": "fqdn=dev.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "dev.example.com" + ], + "has_keytab": true, + "ipauniqueid": [ + "fc6a6d5a-f388-11df-9c01-00163e72f2d9" + ], + "krbextradata": [ + { + "__base64__": "AAL+5+VMYWRtaW4vYWRtaW5AREVWLkVYQU1QTEUuQ09NAA==" + }, + { + "__base64__": "AAgBAA==" + } + ], + "krblastpwdchange": [ + "20101119025910Z" + ], + "krbpasswordexpiration": [ + "19700101000000Z" + ], + "krbprincipalname": [ + "host/dev.example.com@DEV.EXAMPLE.COM" + ], + "krbticketflags": [ + "0" + ], + "managedby": [ + "fqdn=dev.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "top", + "ipaobject", + "nshost", + "ipahost", + "ipaservice", + "pkiuser", + "krbprincipalaux", + "krbprincipal", + "krbticketpolicyaux" + ], + "serverhostname": [ + "dev" + ] + }, + "summary": null, + "value": "dev.example.com" + } +} diff --git a/install/ui/test/data/host_show_test.example.com.json b/install/ui/test/data/host_show_test.example.com.json new file mode 100644 index 000000000..b87802310 --- /dev/null +++ b/install/ui/test/data/host_show_test.example.com.json @@ -0,0 +1,80 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "enrolledby": "rsc", + "fqdn": "rscwo", + "ipaclientversion": "rscwo", + "ipauniqueid": "rsc", + "krbcanonicalname": "rsc", + "krbextradata": "rsc", + "krblastfailedauth": "rsc", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rsc", + "krbloginfailedcount": "rsc", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbobjectreferences": "rscwo", + "krbpasswordexpiration": "rsc", + "krbprincipalaliases": "rsc", + "krbprincipalexpiration": "rsc", + "krbprincipalkey": "wo", + "krbprincipalname": "rsc", + "krbprincipaltype": "rsc", + "krbpwdhistory": "rsc", + "krbpwdpolicyreference": "rsc", + "krbticketflags": "rsc", + "krbticketpolicyreference": "rsc", + "krbupenabled": "rsc", + "l": "rscwo", + "managedby": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "nshardwareplatform": "rscwo", + "nshostlocation": "rscwo", + "nsosversion": "rscwo", + "objectclass": "rscwo", + "serverhostname": "rsc", + "usercertificate": "rscwo", + "userpassword": "wo" + }, + "cn": [ + "test.example.com" + ], + "dn": "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "test.example.com" + ], + "has_keytab": false, + "ipauniqueid": [ + "ac28dca0-f3b5-11df-879f-00163e72f2d9" + ], + "krbprincipalname": [ + "host/test.example.com@DEV.EXAMPLE.COM" + ], + "managedby": [ + "fqdn=test.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "nshost", + "ipahost", + "pkiuser", + "ipaservice", + "krbprincipalaux", + "krbprincipal", + "top" + ], + "serverhostname": [ + "test" + ] + }, + "summary": null, + "value": "test.example.com" + } +} diff --git a/install/ui/test/data/hostgroup_add.json b/install/ui/test/data/hostgroup_add.json new file mode 100644 index 000000000..bc41ee7d8 --- /dev/null +++ b/install/ui/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/ui/test/data/hostgroup_add_member.json b/install/ui/test/data/hostgroup_add_member.json new file mode 100644 index 000000000..a92201751 --- /dev/null +++ b/install/ui/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/ui/test/data/hostgroup_find.json b/install/ui/test/data/hostgroup_find.json new file mode 100644 index 000000000..6732910c0 --- /dev/null +++ b/install/ui/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/ui/test/data/hostgroup_member_host.json b/install/ui/test/data/hostgroup_member_host.json new file mode 100644 index 000000000..c4c7dfa98 --- /dev/null +++ b/install/ui/test/data/hostgroup_member_host.json @@ -0,0 +1,70 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 1, + "results": [ + { + "error": null, + "result": { + "cn": [ + "dev.example.com" + ], + "description": [ + "Development" + ], + "dn": "fqdn=dev.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "dev.example.com" + ], + "has_keytab": true, + "ipauniqueid": [ + "0568a298-f46d-11df-9ef8-00163e72f2d9" + ], + "krbextradata": [ + { + "__base64__": "AAKTZudMYWRtaW4vYWRtaW5AREVWLkVYQU1QTEUuQ09NAA==" + }, + { + "__base64__": "AAgBAA==" + } + ], + "krblastpwdchange": [ + "20101120061131Z" + ], + "krbpasswordexpiration": [ + "19700101000000Z" + ], + "krbprincipalname": [ + "host/dev.example.com@DEV.EXAMPLE.COM" + ], + "krbticketflags": [ + "0" + ], + "managedby_host": [ + "dev.example.com" + ], + "memberof_hostgroup": [ + "test" + ], + "objectclass": [ + "top", + "ipaobject", + "nshost", + "ipahost", + "ipaservice", + "pkiuser", + "krbprincipalaux", + "krbprincipal", + "krbticketpolicyaux" + ], + "serverhostname": [ + "dev" + ] + }, + "summary": null, + "value": "dev.example.com" + } + ] + } +} diff --git a/install/ui/test/data/hostgroup_show.json b/install/ui/test/data/hostgroup_show.json new file mode 100644 index 000000000..776d446dd --- /dev/null +++ b/install/ui/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/ui/test/data/i18n_messages.json b/install/ui/test/data/i18n_messages.json new file mode 100644 index 000000000..6dfb1c645 --- /dev/null +++ b/install/ui/test/data/i18n_messages.json @@ -0,0 +1,37 @@ +{ + "error": null, + "id": 0, + "result": { + "messages": { + "ajax": { + "401": "Your kerberos ticket no longer valid.Please run KInit and then click 'retry'If this is your first time running the IPA Web UI<a href='/ipa/errors/ssbrowser.html'> Follow these directions</a> to configure your browser." + }, + "button": { + "add": "Add", + "enroll": "Enroll", + "find": "Find", + "remove": "Delete", + "reset": "Reset", + "update": "Update" + }, + "details": { + "account": "Account Details", + "contact": "Contact Details", + "employee": " Employee Information", + "identity": "Identity Details", + "mailing": "Mailing Address", + "misc": "Misc. Information", + "to_top": "Back to Top" + }, + "login": { + "header": "Logged In As" + }, + "search": { + "delete_confirm": "Do you really want to delete the selected entries?", + "quick_links": "Quick Links", + "select_all": "Select All", + "unselect_all": "Unselect All" + } + } + } +}
\ No newline at end of file diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json new file mode 100644 index 000000000..e0e6053c4 --- /dev/null +++ b/install/ui/test/data/ipa_init.json @@ -0,0 +1,7884 @@ +{ + "error": null, + "id": 1, + "result": { + "count": 4, + "results": [ + { + "error": null, + "metadata": { + "aci": { + "__base64__": "" + }, + "automountkey": { + "aciattrs": [ + "automountinformation", + "automountkey", + "description", + "objectclass" + ], + "attribute_members": {}, + "bindable": false, + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IA5Str", + "cli_name": "key", + "cli_short_name": null, + "default": null, + "doc": "Automount key name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IA5Str", + "cli_name": "info", + "cli_short_name": null, + "default": null, + "doc": "Mount information", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "description", + "exclude": null, + "flags": [], + "hint": null, + "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": { + "aciattrs": [ + "cn", + "objectclass" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=automount", + "default_attributes": [ + "cn" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Automount", + "methods": [ + "add", + "del", + "find", + "import", + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "location", + "cli_short_name": null, + "default": null, + "doc": "Automount location name", + "exclude": null, + "flags": [], + "hint": null, + "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": { + "aciattrs": [ + "automountmapname", + "description", + "objectclass" + ], + "attribute_members": {}, + "bindable": false, + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IA5Str", + "cli_name": "map", + "cli_short_name": null, + "default": null, + "doc": "Automount map name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description", + "exclude": null, + "flags": [], + "hint": null, + "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": { + "aciattrs": [], + "attribute_members": {}, + "bindable": false, + "container_dn": "", + "default_attributes": [ + "ipamaxusernamelength", + "ipahomesrootdir", + "ipadefaultloginshell", + "ipadefaultprimarygroup", + "ipadefaultemaildomain", + "ipasearchtimelimit", + "ipasearchrecordslimit", + "ipausersearchfields", + "ipagroupsearchfields", + "ipamigrationenabled", + "ipacertificatesubjectbase" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Configuration", + "methods": [ + "mod", + "show" + ], + "name": "config", + "object_class": [], + "object_class_config": null, + "object_name": "configuration options", + "object_name_plural": "entries", + "parent_object": "", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxusername", + "cli_short_name": null, + "default": null, + "doc": "Max username length", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Max username length", + "maxvalue": null, + "minvalue": 1, + "multivalue": false, + "name": "ipamaxusernamelength", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IA5Str", + "cli_name": "homedirectory", + "cli_short_name": null, + "default": null, + "doc": "Default location of home directories", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "defaultshell", + "cli_short_name": null, + "default": null, + "doc": "Default shell for new users", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "defaultgroup", + "cli_short_name": null, + "default": null, + "doc": "Default group for new users", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Search time limit", + "maxvalue": null, + "minvalue": -1, + "multivalue": false, + "name": "ipasearchtimelimit", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Search size limit", + "maxvalue": null, + "minvalue": -1, + "multivalue": false, + "name": "ipasearchrecordslimit", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IA5Str", + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IA5Str", + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Migration mode", + "multivalue": false, + "name": "ipamigrationenabled", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "alwaysask": false, + "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": [ + "no_update" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "groupobjectclasses", + "cli_short_name": null, + "default": null, + "doc": "Default group objectclassses (comma-separated list)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Default group objectclasses", + "multivalue": true, + "name": "ipagroupobjectclasses", + "primary_key": false, + "query": false, + "required": false, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "userobjectclasses", + "cli_short_name": null, + "default": null, + "doc": "Default user objectclassses (comma-separated list)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Default user objectclasses", + "multivalue": true, + "name": "ipauserobjectclasses", + "primary_key": false, + "query": false, + "required": false, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "pwdexpnotify", + "cli_short_name": null, + "default": null, + "doc": "Password Expiration Notification (days)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Password Expiration Notification", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "ipapwdexpadvnotify", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "ipaconfigstring", + "cli_short_name": null, + "default": null, + "doc": "Extra hashes to generate in password plugin", + "exclude": null, + "flags": [ + "no_update" + ], + "hint": null, + "include": null, + "label": "Password plugin features", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipaconfigstring", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "cosentry": { + "aciattrs": [ + "a6record", + "aaaarecord", + "accessruletype", + "accesstime", + "accessto", + "accountinactivitylimit", + "accountunlocktime", + "acctpolicysubentry", + "aci", + "administratorcontactinfo", + "adminrole", + "adminurl", + "afsdbrecord", + "aliasedobjectname", + "altserver", + "arecord", + "associateddomain", + "associatedname", + "attributemap", + "attributetypes", + "audio", + "authenticationmethod", + "authorityrevocationlist", + "authorizedservice", + "automountinformation", + "automountkey", + "automountmapname", + "bindtimelimit", + "bootfile", + "bootparameter", + "buildingname", + "businesscategory", + "c", + "cacertificate", + "calcaladruri", + "calcaluri", + "calcapuri", + "calfburl", + "calothercaladruris", + "calothercaluris", + "calothercapuris", + "calotherfburls", + "carlicense", + "certificaterevocationlist", + "certrecord", + "changelog", + "changelogmaximumage", + "changelogmaximumconcurrentwrites", + "changelogmaximumsize", + "changenumber", + "changes", + "changetime", + "changetype", + "cirbeginorc", + "cirbindcredentials", + "cirbinddn", + "cirhost", + "cirlastupdateapplied", + "cirport", + "cirreplicaroot", + "cirsyncinterval", + "cirupdatefailedat", + "cirupdateschedule", + "cirusepersistentsearch", + "cirusessl", + "cmdcategory", + "cn", + "cnamerecord", + "co", + "connection", + "copiedfrom", + "copyingfrom", + "cosattribute", + "cosindirectspecifier", + "cospriority", + "cosspecifier", + "costargettree", + "costemplatedn", + "createtimestamp", + "creatorsname", + "credentiallevel", + "crosscertificatepair", + "dc", + "defaultsearchbase", + "defaultsearchscope", + "defaultserverlist", + "deleteoldrdn", + "deltarevocationlist", + "departmentnumber", + "dereferencealiases", + "description", + "destinationindicator", + "dialupaccess", + "displayname", + "distinguishedname", + "ditcontentrules", + "ditredirect", + "ditstructurerules", + "dnamerecord", + "dncomp", + "dnqualifier", + "dnsclass", + "dnsttl", + "documentauthor", + "documentidentifier", + "documentlocation", + "documentpublisher", + "documenttitle", + "documentversion", + "drink", + "dsrecord", + "edupersonaffiliation", + "edupersonentitlement", + "edupersonnickname", + "edupersonorgdn", + "edupersonorgunitdn", + "edupersonprimaryaffiliation", + "edupersonprimaryorgunitdn", + "edupersonprincipalname", + "edupersonscopedaffiliation", + "employeenumber", + "employeetype", + "enhancedsearchguide", + "enrolledby", + "entrydn", + "entryid", + "entryusn", + "externalhost", + "externaluser", + "facsimiletelephonenumber", + "filterinfo", + "followreferrals", + "fqdn", + "ftpdownloadbandwidth", + "ftpdownloadratio", + "ftpgid", + "ftpquotafiles", + "ftpquotambytes", + "ftpstatus", + "ftpuid", + "ftpuploadbandwidth", + "ftpuploadratio", + "gecos", + "generation", + "generationqualifier", + "gidnumber", + "givenname", + "governingstructurerule", + "hassubordinates", + "hinforecord", + "homedirectory", + "homephone", + "homepostaladdress", + "host", + "hostcapolicy", + "hostcategory", + "hostmask", + "houseidentifier", + "idnsallowdynupdate", + "idnsname", + "idnssoaexpire", + "idnssoaminimum", + "idnssoamname", + "idnssoarefresh", + "idnssoaretry", + "idnssoarname", + "idnssoaserial", + "idnsupdatepolicy", + "idnszoneactive", + "inetdomainbasedn", + "inetdomainstatus", + "inetsubscriberaccountid", + "inetsubscriberchallenge", + "inetsubscriberresponse", + "inetuserhttpurl", + "inetuserstatus", + "info", + "initials", + "installationtimestamp", + "internationalisdnnumber", + "ipacertificatesubjectbase", + "ipaclientversion", + "ipaconfigstring", + "ipacustomfields", + "ipadefaultemaildomain", + "ipadefaultloginshell", + "ipadefaultprimarygroup", + "ipaenabledflag", + "ipagroupobjectclasses", + "ipagroupsearchfields", + "ipahomesrootdir", + "ipamaxusernamelength", + "ipamigrationenabled", + "ipapwdexpadvnotify", + "ipasearchrecordslimit", + "ipasearchtimelimit", + "ipasudoopt", + "ipasudorunas", + "ipasudorunasextgroup", + "ipasudorunasextuser", + "ipasudorunasgroup", + "ipasudorunasgroupcategory", + "ipasudorunasusercategory", + "ipauniqueid", + "ipauserobjectclasses", + "ipausersearchfields", + "iphostnumber", + "ipnetmasknumber", + "ipnetworknumber", + "ipprotocolnumber", + "ipserviceport", + "ipserviceprotocol", + "isreplicated", + "javaclassname", + "javaclassnames", + "javacodebase", + "javadoc", + "javafactory", + "javareferenceaddress", + "javaserializeddata", + "jpegphoto", + "keyrecord", + "krbadmservers", + "krbcanonicalname", + "krbdefaultencsalttypes", + "krbextradata", + "krbhostserver", + "krbkdcservers", + "krblastfailedauth", + "krblastpwdchange", + "krblastsuccessfulauth", + "krbldapservers", + "krbloginfailedcount", + "krbmaxpwdlife", + "krbmaxrenewableage", + "krbmaxticketlife", + "krbminpwdlife", + "krbmkey", + "krbobjectreferences", + "krbpasswordexpiration", + "krbprinccontainerref", + "krbprincipalaliases", + "krbprincipalexpiration", + "krbprincipalkey", + "krbprincipalname", + "krbprincipalreferences", + "krbprincipaltype", + "krbprincnamingattr", + "krbpwdfailurecountinterval", + "krbpwdhistory", + "krbpwdhistorylength", + "krbpwdlockoutduration", + "krbpwdmaxfailure", + "krbpwdmindiffchars", + "krbpwdminlength", + "krbpwdpolicyreference", + "krbpwdservers", + "krbrealmreferences", + "krbsearchscope", + "krbsubtrees", + "krbsupportedencsalttypes", + "krbticketflags", + "krbticketpolicyreference", + "krbupenabled", + "kxrecord", + "l", + "labeleduri", + "lastlogintime", + "lastmodifiedby", + "lastmodifiedtime", + "ldapschemas", + "ldapsyntaxes", + "locrecord", + "loginshell", + "macaddress", + "mail", + "mailaccessdomain", + "mailalternateaddress", + "mailautoreplymode", + "mailautoreplytext", + "maildeliveryoption", + "mailenhanceduniquemember", + "mailforwardingaddress", + "mailhost", + "mailmessagestore", + "mailprogramdeliveryinfo", + "mailquota", + "mailroutingaddress", + "managedby", + "manager", + "matchingrules", + "matchingruleuse", + "mdrecord", + "member", + "memberallowcmd", + "membercertificatedescription", + "memberdenycmd", + "memberhost", + "membernisnetgroup", + "memberof", + "memberservice", + "memberuid", + "memberurl", + "memberuser", + "mepmanagedby", + "mepmanagedentry", + "mepmappedattr", + "meprdnattr", + "mepstaticattr", + "mgrpaddheader", + "mgrpallowedbroadcaster", + "mgrpalloweddomain", + "mgrpapprovepassword", + "mgrpbroadcasterpolicy", + "mgrpdeliverto", + "mgrperrorsto", + "mgrpmoderator", + "mgrpmsgmaxsize", + "mgrpmsgrejectaction", + "mgrpmsgrejecttext", + "mgrpnoduplicatechecks", + "mgrpremoveheader", + "mgrprfc822mailmember", + "minforecord", + "mobile", + "modifiersname", + "modifytimestamp", + "mozillacustom1", + "mozillacustom2", + "mozillacustom3", + "mozillacustom4", + "mozillahomecountryname", + "mozillahomelocalityname", + "mozillahomepostalcode", + "mozillahomestate", + "mozillahomestreet", + "mozillahomestreet2", + "mozillahomeurl", + "mozillanickname", + "mozillasecondemail", + "mozillausehtmlmail", + "mozillaworkstreet2", + "mozillaworkurl", + "multilinedescription", + "mxrecord", + "name", + "nameforms", + "namingcontexts", + "naptrrecord", + "netscapereversiblepassword", + "newrdn", + "newsuperior", + "nisdomain", + "nisdomainname", + "nismapentry", + "nismapname", + "nisnetgrouptriple", + "nisnetidgroup", + "nisnetidhost", + "nisnetiduser", + "nispublickey", + "nissecretkey", + "nsaccesslog", + "nsaccountlock", + "nsadminaccessaddresses", + "nsadminaccesshosts", + "nsadminaccountinfo", + "nsadmincachelifetime", + "nsadmincgiwaitpid", + "nsadmindomainname", + "nsadminenabledsgw", + "nsadminenableenduser", + "nsadminenduserhtmlindex", + "nsadmingroupname", + "nsadminoneacldir", + "nsadminsiedn", + "nsadminusers", + "nsaimid", + "nsbackendsuffix", + "nsbasedn", + "nsbinddn", + "nsbindpassword", + "nsbuildnumber", + "nsbuildsecurity", + "nscertconfig", + "nscertfile", + "nsclassname", + "nsconfigroot", + "nscpentrydn", + "nsdefaultacceptlanguage", + "nsdefaultobjectclass", + "nsdeleteclassname", + "nsdirectoryfailoverlist", + "nsdirectoryinforef", + "nsdirectoryurl", + "nsdisplayname", + "nsds50ruv", + "nsds5beginreplicarefresh", + "nsds5debugreplicatimeout", + "nsds5flags", + "nsds5replconflict", + "nsds5replicaautoreferral", + "nsds5replicabinddn", + "nsds5replicabindmethod", + "nsds5replicabusywaittime", + "nsds5replicachangecount", + "nsds5replicachangessentsincestartup", + "nsds5replicacredentials", + "nsds5replicahost", + "nsds5replicaid", + "nsds5replicalastinitend", + "nsds5replicalastinitstart", + "nsds5replicalastinitstatus", + "nsds5replicalastupdateend", + "nsds5replicalastupdatestart", + "nsds5replicalastupdatestatus", + "nsds5replicalegacyconsumer", + "nsds5replicaname", + "nsds5replicaport", + "nsds5replicapurgedelay", + "nsds5replicareferral", + "nsds5replicaroot", + "nsds5replicasessionpausetime", + "nsds5replicatedattributelist", + "nsds5replicatimeout", + "nsds5replicatombstonepurgeinterval", + "nsds5replicatransportinfo", + "nsds5replicatype", + "nsds5replicaupdateinprogress", + "nsds5replicaupdateschedule", + "nsds5task", + "nsds7directoryreplicasubtree", + "nsds7dirsynccookie", + "nsds7newwingroupsyncenabled", + "nsds7newwinusersyncenabled", + "nsds7windowsdomain", + "nsds7windowsreplicasubtree", + "nsecrecord", + "nsencryptionalgorithm", + "nserrorlog", + "nsexecref", + "nsexpirationdate", + "nsgrouprdncomponent", + "nshardwareplatform", + "nshelpref", + "nshostlocation", + "nsidletimeout", + "nsindextype", + "nsinstalledlocation", + "nsjarfilename", + "nskeyfile", + "nsldapschemaversion", + "nslicensedfor", + "nslicenseendtime", + "nslicensestarttime", + "nslogsuppress", + "nslookthroughlimit", + "nsmatchingrule", + "nsmsgdisallowaccess", + "nsmsgnummsgquota", + "nsnickname", + "nsnyr", + "nsosversion", + "nsparentuniqueid", + "nspidlog", + "nspreference", + "nsproductname", + "nsproductversion", + "nsrecord", + "nsrevisionnumber", + "nsrole", + "nsroledn", + "nsrolefilter", + "nsruvreplicalastmodified", + "nssaslmapbasedntemplate", + "nssaslmapfiltertemplate", + "nssaslmapregexstring", + "nsschemacsn", + "nssecureserverport", + "nsserialnumber", + "nsserveraddress", + "nsservercreationclassname", + "nsserverid", + "nsservermigrationclassname", + "nsserverport", + "nsserversecurity", + "nssizelimit", + "nsslapd-changelogsuffix", + "nsslapd-ldapiautodnsuffix", + "nsslapd-parent-suffix", + "nsslapd-plugindescription", + "nsslapd-pluginenabled", + "nsslapd-pluginid", + "nsslapd-plugininitfunc", + "nsslapd-pluginpath", + "nsslapd-plugintype", + "nsslapd-pluginvendor", + "nsslapd-pluginversion", + "nsslapd-suffix", + "nssnmpcontact", + "nssnmpdescription", + "nssnmpenabled", + "nssnmplocation", + "nssnmpmasterhost", + "nssnmpmasterport", + "nssnmpname", + "nssnmporganization", + "nsssl2", + "nsssl2ciphers", + "nsssl3", + "nsssl3ciphers", + "nsssl3sessiontimeout", + "nssslactivation", + "nssslclientauth", + "nssslpersonalityssl", + "nssslsessiontimeout", + "nssslsupportedciphers", + "nsssltoken", + "nsstate", + "nssuitespotuser", + "nssymmetrickey", + "nssynchuniqueattribute", + "nssynchuseridformat", + "nssystemindex", + "nstasklabel", + "nstimelimit", + "nsuniqueattribute", + "nsuniqueid", + "nsuseridformat", + "nsuserrdncomponent", + "nsvaluebin", + "nsvalueces", + "nsvaluecis", + "nsvaluedefault", + "nsvaluedescription", + "nsvaluedn", + "nsvalueflags", + "nsvaluehelpurl", + "nsvalueint", + "nsvaluesyntax", + "nsvaluetel", + "nsvaluetype", + "nsvendor", + "nsviewconfiguration", + "nsviewfilter", + "nswellknownjarfiles", + "nswmextendeduserprefs", + "ntgroupattributes", + "ntgroupcreatenewgroup", + "ntgroupdeletegroup", + "ntgroupdomainid", + "ntgroupid", + "ntgrouptype", + "ntuniqueid", + "ntuseracctexpires", + "ntuserauthflags", + "ntuserbadpwcount", + "ntusercodepage", + "ntusercomment", + "ntusercountrycode", + "ntusercreatenewaccount", + "ntuserdeleteaccount", + "ntuserdomainid", + "ntuserflags", + "ntuserhomedir", + "ntuserhomedirdrive", + "ntuserlastlogoff", + "ntuserlastlogon", + "ntuserlogonhours", + "ntuserlogonserver", + "ntusermaxstorage", + "ntusernumlogons", + "ntuserparms", + "ntuserpasswordexpired", + "ntuserprimarygroupid", + "ntuserpriv", + "ntuserprofile", + "ntuserscriptpath", + "ntuseruniqueid", + "ntuserunitsperweek", + "ntuserusrcomment", + "ntuserworkstations", + "numsubordinates", + "nxtrecord", + "o", + "objectclass", + "objectclasses", + "objectclassmap", + "oid", + "oncrpcnumber", + "onewaysync", + "organizationalstatus", + "ou", + "owner", + "pager", + "pamexcludesuffix", + "pamfallback", + "pamidattr", + "pamidmapmethod", + "pamincludesuffix", + "pammissingsuffix", + "pamsecure", + "pamservice", + "parentid", + "parentorganization", + "passwordallowchangetime", + "passwordchange", + "passwordchecksyntax", + "passwordexp", + "passwordexpirationtime", + "passwordexpwarned", + "passwordgracelimit", + "passwordgraceusertime", + "passwordhistory", + "passwordinhistory", + "passwordkeephistory", + "passwordlockout", + "passwordlockoutduration", + "passwordmaxage", + "passwordmaxfailure", + "passwordmaxrepeats", + "passwordmin8bit", + "passwordminage", + "passwordminalphas", + "passwordmincategories", + "passwordmindigits", + "passwordminlength", + "passwordminlowers", + "passwordminspecials", + "passwordmintokenlength", + "passwordminuppers", + "passwordmustchange", + "passwordresetduration", + "passwordresetfailurecount", + "passwordretrycount", + "passwordstoragescheme", + "passwordunlock", + "passwordwarning", + "personaltitle", + "photo", + "physicaldeliveryofficename", + "postaladdress", + "postalcode", + "postofficebox", + "preferreddeliverymethod", + "preferredlanguage", + "preferredlocale", + "preferredserverlist", + "preferredtimezone", + "printer-aliases", + "printer-charset-configured", + "printer-charset-supported", + "printer-color-supported", + "printer-compression-supported", + "printer-copies-supported", + "printer-current-operator", + "printer-delivery-orientation-supported", + "printer-document-format-supported", + "printer-finishings-supported", + "printer-generated-natural-language-supported", + "printer-info", + "printer-ipp-versions-supported", + "printer-job-k-octets-supported", + "printer-job-priority-supported", + "printer-location", + "printer-make-and-model", + "printer-media-local-supported", + "printer-media-supported", + "printer-more-info", + "printer-multiple-document-jobs-supported", + "printer-name", + "printer-natural-language-configured", + "printer-number-up-supported", + "printer-output-features-supported", + "printer-pages-per-minute", + "printer-pages-per-minute-color", + "printer-print-quality-supported", + "printer-resolution-supported", + "printer-service-person", + "printer-sides-supported", + "printer-stacking-order-supported", + "printer-uri", + "printer-xri-supported", + "profilettl", + "ptrrecord", + "pwdpolicysubentry", + "ref", + "registeredaddress", + "replicaabandonedchanges", + "replicabeginorc", + "replicabinddn", + "replicabindmethod", + "replicacfupdated", + "replicacredentials", + "replicaentryfilter", + "replicahost", + "replicalastrelevantchange", + "replicanickname", + "replicaport", + "replicaroot", + "replicatedattributelist", + "replicaupdatefailedat", + "replicaupdatereplayed", + "replicaupdateschedule", + "replicausessl", + "retrycountresettime", + "roleoccupant", + "roomnumber", + "rrsigrecord", + "sabayonprofilename", + "sabayonprofileurl", + "sambaacctflags", + "sambaalgorithmicridbase", + "sambabadpasswordcount", + "sambabadpasswordtime", + "sambabooloption", + "sambadomainname", + "sambaforcelogoff", + "sambagrouptype", + "sambahomedrive", + "sambahomepath", + "sambaintegeroption", + "sambakickofftime", + "sambalmpassword", + "sambalockoutduration", + "sambalockoutobservationwindow", + "sambalockoutthreshold", + "sambalogofftime", + "sambalogonhours", + "sambalogonscript", + "sambalogontime", + "sambalogontochgpwd", + "sambamaxpwdage", + "sambaminpwdage", + "sambaminpwdlength", + "sambamungeddial", + "sambanextgrouprid", + "sambanextrid", + "sambanextuserrid", + "sambantpassword", + "sambaoptionname", + "sambapasswordhistory", + "sambaprimarygroupsid", + "sambaprofilepath", + "sambapwdcanchange", + "sambapwdhistorylength", + "sambapwdlastset", + "sambapwdmustchange", + "sambarefusemachinepwdchange", + "sambasharename", + "sambasid", + "sambasidlist", + "sambastringlistoption", + "sambastringoption", + "sambatrustflags", + "sambauserworkstations", + "searchguide", + "searchtimelimit", + "secretary", + "seealso", + "serialnumber", + "serverhostname", + "serverproductname", + "serverroot", + "serverversionnumber", + "serviceauthenticationmethod", + "servicecategory", + "servicecredentiallevel", + "servicesearchdescriptor", + "shadowexpire", + "shadowflag", + "shadowinactive", + "shadowlastchange", + "shadowmax", + "shadowmin", + "shadowwarning", + "sigrecord", + "sn", + "sourcehost", + "sourcehostcategory", + "srvrecord", + "sshfprecord", + "st", + "street", + "structuralobjectclass", + "subschemasubentry", + "subtreeaci", + "sudocmd", + "sudocommand", + "sudohost", + "sudooption", + "sudorunas", + "sudouser", + "supportedalgorithms", + "supportedcontrol", + "supportedextension", + "supportedfeatures", + "supportedldapversion", + "supportedsaslmechanisms", + "targetdn", + "telephonenumber", + "teletexterminalidentifier", + "telexnumber", + "title", + "trustmodel", + "ttl", + "txtrecord", + "uid", + "uidnumber", + "uniqueidentifier", + "uniquemember", + "usercategory", + "usercertificate", + "userclass", + "userpassword", + "userpkcs12", + "usersmimecertificate", + "vacationenddate", + "vacationstartdate", + "vendorname", + "vendorversion", + "vlvbase", + "vlvenabled", + "vlvfilter", + "vlvscope", + "vlvsort", + "vlvuses", + "winsyncinterval", + "x121address", + "x500uniqueidentifier" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=costemplates,cn=accounts", + "default_attributes": [ + "cn", + "cospriority", + "krbpwdpolicyreference" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Entry", + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "cn", + "cli_short_name": null, + "default": null, + "doc": "<cn>", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "<cn>", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "krbpwdpolicyreference", + "cli_short_name": null, + "default": null, + "doc": "<krbpwdpolicyreference>", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "<krbpwdpolicyreference>", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "krbpwdpolicyreference", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "cospriority", + "cli_short_name": null, + "default": null, + "doc": "<cospriority>", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "<cospriority>", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "cospriority", + "primary_key": false, + "query": false, + "required": true, + "type": "int" + } + ], + "uuid_attribute": "" + }, + "delegation": { + "bindable": false, + "label": "Delegation", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "delegation", + "object_name": [ + "delegation" + ], + "object_name_plural": [ + "delegation" + ], + "primary_key": "aciname", + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Delegation name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Delegation name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "aciname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "permissions", + "cli_short_name": null, + "default": null, + "doc": "Comma-separated list of permissions to grant (read, write). Default is write.", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Permissions", + "multivalue": true, + "name": "permissions", + "primary_key": false, + "query": false, + "required": false, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "attrs", + "cli_short_name": null, + "default": null, + "doc": "Comma-separated list of attributes", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Attributes", + "multivalue": true, + "name": "attrs", + "primary_key": false, + "query": false, + "required": true, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "membergroup", + "cli_short_name": null, + "default": null, + "doc": "User group to apply delegation to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Member user group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "group", + "cli_short_name": null, + "default": null, + "doc": "User group ACI grants access to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "User group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + } + ] + }, + "dns": { + "default_attributes": [ + "idnsname", + "idnszoneactive", + "idnssoamname", + "idnssoarname", + "idnssoaserial", + "idnssoarefresh", + "idnssoaretry", + "idnssoaexpire", + "idnssoaminimum" + ], + "label": "DNS", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "dns", + "primary_key": "idnsname", + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Zone name (FQDN)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Zone", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name_server", + "cli_short_name": null, + "default": null, + "doc": "Authoritative name server", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Authoritative name server", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnssoamname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "admin_email", + "cli_short_name": null, + "default": null, + "doc": "administrator e-mail address", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "administrator e-mail address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnssoarname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "serial", + "cli_short_name": null, + "default": null, + "doc": "SOA serial", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA serial", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaserial", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "refresh", + "cli_short_name": null, + "default": null, + "doc": "SOA refresh", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA refresh", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoarefresh", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "retry", + "cli_short_name": null, + "default": null, + "doc": "SOA retry", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA retry", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaretry", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "expire", + "cli_short_name": null, + "default": null, + "doc": "SOA expire", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA expire", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaexpire", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minimum", + "cli_short_name": null, + "default": null, + "doc": "SOA minimum", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA minimum", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaminimum", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ttl", + "cli_short_name": null, + "default": null, + "doc": "SOA time to live", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA time to live", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "dnsttl", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "class", + "cli_short_name": null, + "default": null, + "doc": "SOA class", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA class", + "multivalue": false, + "name": "dnsclass", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "IN", + "CS", + "CH", + "HS" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Flag", + "cli_name": "allow_dynupdate", + "cli_short_name": null, + "default": false, + "doc": "allow dynamic update?", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [], + "hint": null, + "include": null, + "label": "allow dynamic update?", + "multivalue": false, + "name": "idnsallowdynupdate", + "primary_key": false, + "query": false, + "required": true, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "update_policy", + "cli_short_name": null, + "default": null, + "doc": "BIND update policy", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "BIND update policy", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsupdatepolicy", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ] + }, + "dnsrecord": { + "aciattrs": [ + "a6record", + "aaaarecord", + "afsdbrecord", + "arecord", + "certrecord", + "cn", + "cnamerecord", + "dnamerecord", + "dnsclass", + "dnsttl", + "dsrecord", + "hinforecord", + "idnsallowdynupdate", + "idnsname", + "keyrecord", + "kxrecord", + "locrecord", + "mdrecord", + "minforecord", + "mxrecord", + "naptrrecord", + "nsecrecord", + "nsrecord", + "nxtrecord", + "objectclass", + "ptrrecord", + "rrsigrecord", + "sigrecord", + "srvrecord", + "sshfprecord", + "txtrecord" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=dns", + "default_attributes": [ + "arecord", + "aaaarecord", + "a6record", + "afsdbrecord", + "aplrecord", + "certrecord", + "cnamerecord", + "dhcidrecord", + "dlvrecord", + "dnamerecord", + "dnskeyrecord", + "dsrecord", + "hinforecord", + "hiprecord", + "ipseckeyrecord", + "keyrecord", + "kxrecord", + "locrecord", + "mdrecord", + "minforecord", + "mxrecord", + "naptrrecord", + "nsrecord", + "nsecrecord", + "nsec3record", + "nsec3paramrecord", + "nxtrecord", + "ptrrecord", + "rrsigrecord", + "rprecord", + "sigrecord", + "spfrecord", + "srvrecord", + "sshfprecord", + "tarecord", + "tkeyrecord", + "tsigrecord", + "txtrecord", + "idnsname" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "DNS resource record", + "methods": [ + "add", + "add_record", + "del", + "delentry", + "find", + "show" + ], + "name": "dnsrecord", + "object_class": [ + "top", + "idnsrecord" + ], + "object_class_config": null, + "object_name": "DNS resource record", + "object_name_plural": "DNS resource records", + "parent_object": "dnszone", + "primary_key": "idnsname", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Record name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Record name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ttl", + "cli_short_name": null, + "default": null, + "doc": "Time to live", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Time to live", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "dnsttl", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "class", + "cli_short_name": null, + "default": null, + "doc": "DNS class", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Class", + "multivalue": false, + "name": "dnsclass", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "IN", + "CS", + "CH", + "HS" + ] + } + ], + "uuid_attribute": "" + }, + "dnszone": { + "aciattrs": [ + "a6record", + "aaaarecord", + "afsdbrecord", + "arecord", + "certrecord", + "cn", + "cnamerecord", + "dnamerecord", + "dnsclass", + "dnsttl", + "dsrecord", + "hinforecord", + "idnsallowdynupdate", + "idnsname", + "idnssoaexpire", + "idnssoaminimum", + "idnssoamname", + "idnssoarefresh", + "idnssoaretry", + "idnssoarname", + "idnssoaserial", + "idnsupdatepolicy", + "idnszoneactive", + "keyrecord", + "kxrecord", + "locrecord", + "mdrecord", + "minforecord", + "mxrecord", + "naptrrecord", + "nsecrecord", + "nsrecord", + "nxtrecord", + "objectclass", + "ptrrecord", + "rrsigrecord", + "sigrecord", + "srvrecord", + "sshfprecord", + "txtrecord" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=dns", + "default_attributes": [ + "idnsname", + "idnszoneactive", + "idnssoamname", + "idnssoarname", + "idnssoaserial", + "idnssoarefresh", + "idnssoaretry", + "idnssoaexpire", + "idnssoaminimum", + "arecord", + "aaaarecord", + "a6record", + "afsdbrecord", + "aplrecord", + "certrecord", + "cnamerecord", + "dhcidrecord", + "dlvrecord", + "dnamerecord", + "dnskeyrecord", + "dsrecord", + "hinforecord", + "hiprecord", + "ipseckeyrecord", + "keyrecord", + "kxrecord", + "locrecord", + "mdrecord", + "minforecord", + "mxrecord", + "naptrrecord", + "nsrecord", + "nsecrecord", + "nsec3record", + "nsec3paramrecord", + "nxtrecord", + "ptrrecord", + "rrsigrecord", + "rprecord", + "sigrecord", + "spfrecord", + "srvrecord", + "sshfprecord", + "tarecord", + "tkeyrecord", + "tsigrecord", + "txtrecord" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "DNS", + "methods": [ + "add", + "del", + "disable", + "enable", + "find", + "mod", + "show" + ], + "name": "dnszone", + "object_class": [ + "top", + "idnsrecord", + "idnszone" + ], + "object_class_config": null, + "object_name": "DNS zone", + "object_name_plural": "DNS zones", + "parent_object": "", + "primary_key": "idnsname", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Zone name (FQDN)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Zone name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name_server", + "cli_short_name": null, + "default": null, + "doc": "Authoritative name server", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Authoritative name server", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnssoamname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "admin_email", + "cli_short_name": null, + "default": null, + "doc": "Administrator e-mail address", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Administrator e-mail address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnssoarname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Int", + "cli_name": "serial", + "cli_short_name": null, + "default": null, + "doc": "SOA record serial number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA serial", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaserial", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Int", + "cli_name": "refresh", + "cli_short_name": null, + "default": 3600, + "doc": "SOA record refresh time", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA refresh", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoarefresh", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Int", + "cli_name": "retry", + "cli_short_name": null, + "default": 900, + "doc": "SOA record retry time", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA retry", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaretry", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Int", + "cli_name": "expire", + "cli_short_name": null, + "default": 1209600, + "doc": "SOA record expire time", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA expire", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaexpire", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Int", + "cli_name": "minimum", + "cli_short_name": null, + "default": 3600, + "doc": "SOA record minimum value", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA minimum", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaminimum", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maximum", + "cli_short_name": null, + "default": null, + "doc": "SOA record maximum value", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA maximum", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoamaximum", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ttl", + "cli_short_name": null, + "default": null, + "doc": "SOA record time to live", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA time to live", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "dnsttl", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "class", + "cli_short_name": null, + "default": null, + "doc": "SOA record class", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA class", + "multivalue": false, + "name": "dnsclass", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "IN", + "CS", + "CH", + "HS" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "update_policy", + "cli_short_name": null, + "default": null, + "doc": "BIND update policy", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "BIND update policy", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsupdatepolicy", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": true, + "autofill": true, + "class": "Flag", + "cli_name": "zone_active", + "cli_short_name": null, + "default": false, + "doc": "Is zone active?", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [ + "no_update", + "no_create" + ], + "hint": null, + "include": null, + "label": "Active zone", + "multivalue": false, + "name": "idnszoneactive", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "alwaysask": false, + "attribute": true, + "autofill": true, + "class": "Flag", + "cli_name": "allow_dynupdate", + "cli_short_name": null, + "default": false, + "doc": "Allow dynamic update?", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [], + "hint": null, + "include": null, + "label": "Dynamic update", + "multivalue": false, + "name": "idnsallowdynupdate", + "primary_key": false, + "query": false, + "required": true, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + } + ], + "uuid_attribute": "" + }, + "group": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "gidnumber", + "ipauniqueid", + "member", + "memberof", + "memberuid", + "mepmanagedby", + "o", + "objectclass", + "ou", + "owner", + "seealso", + "userpassword" + ], + "attribute_members": { + "member": [ + "user", + "group" + ], + "memberindirect": [ + "user", + "group", + "netgroup", + "role" + ], + "memberof": [ + "group", + "netgroup", + "role" + ] + }, + "bindable": false, + "container_dn": "cn=groups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "gidnumber", + "member", + "memberof", + "memberindirect" + ], + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "group_name", + "cli_short_name": null, + "default": null, + "doc": "Group name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Group name", + "length": null, + "maxlength": 255, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,252}[a-zA-Z0-9_.$-]?$", + "pattern_errmsg": "may only include letters, numbers, _, -, . and $", + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Group description", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "GID", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "gidnumber", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hbacrule": { + "aciattrs": [ + "accessruletype", + "accesstime", + "cn", + "description", + "externalhost", + "hostcategory", + "ipaenabledflag", + "ipauniqueid", + "memberhost", + "memberservice", + "memberuser", + "servicecategory", + "sourcehost", + "sourcehostcategory", + "usercategory" + ], + "attribute_members": { + "memberhost": [ + "host", + "hostgroup" + ], + "memberservice": [ + "hbacsvc", + "hbacsvcgroup" + ], + "memberuser": [ + "user", + "group" + ], + "sourcehost": [ + "host", + "hostgroup" + ] + }, + "bindable": false, + "container_dn": "cn=hbac", + "default_attributes": [ + "cn", + "accessruletype", + "ipaenabledflag", + "description", + "usercategory", + "hostcategory", + "sourcehostcategory", + "servicecategory", + "ipaenabledflag", + "memberuser", + "sourcehost", + "memberhost", + "memberservice", + "memberhostgroup" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "HBAC", + "methods": [ + "add", + "add_host", + "add_service", + "add_sourcehost", + "add_user", + "del", + "disable", + "enable", + "find", + "mod", + "remove_host", + "remove_service", + "remove_sourcehost", + "remove_user", + "show" + ], + "name": "hbacrule", + "object_class": [ + "ipaassociation", + "ipahbacrule" + ], + "object_class_config": null, + "object_name": "HBAC rule", + "object_name_plural": "HBAC rules", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "ipauniqueid", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Rule name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "type", + "cli_short_name": null, + "default": null, + "doc": "Rule type (allow or deny)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Rule type", + "multivalue": false, + "name": "accessruletype", + "primary_key": false, + "query": false, + "required": true, + "type": "unicode", + "values": [ + "allow", + "deny" + ] + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "User category", + "multivalue": false, + "name": "usercategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Host category", + "multivalue": false, + "name": "hostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Source host category", + "multivalue": false, + "name": "sourcehostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Service category", + "multivalue": false, + "name": "servicecategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "include": null, + "label": "Enabled", + "multivalue": false, + "name": "ipaenabledflag", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberuser_group", + "cli_short_name": null, + "default": null, + "doc": "Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberuser_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberservice_hbacsvc", + "cli_short_name": null, + "default": null, + "doc": "Services", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Services", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberservice_hbacsvc", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberservice_hbacsvcgroup", + "cli_short_name": null, + "default": null, + "doc": "Service Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Service Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberservice_hbacsvcgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hbacsvc": { + "aciattrs": [ + "cn", + "description", + "ipauniqueid", + "memberof", + "objectclass" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=hbacservices,cn=hbac", + "default_attributes": [ + "cn", + "description", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "HBAC Services", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "hbacsvc", + "object_class": [ + "ipaobject", + "ipahbacservice" + ], + "object_class_config": null, + "object_name": "hbacsvc", + "object_name_plural": "hbacsvcs", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "service", + "cli_short_name": null, + "default": null, + "doc": "HBAC Service", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description of service", + "exclude": null, + "flags": [], + "hint": null, + "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": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "ipauniqueid", + "member", + "o", + "objectclass", + "ou", + "owner", + "seealso" + ], + "attribute_members": { + "member": [ + "hbacsvc" + ] + }, + "bindable": false, + "container_dn": "cn=hbacservicegroups,cn=hbac", + "default_attributes": [ + "cn", + "description", + "member" + ], + "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": "hbacsvcgroup", + "object_name_plural": "hbacsvcgroups", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Service group name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "HBAC service group description", + "exclude": null, + "flags": [], + "hint": null, + "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" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "host": { + "aciattrs": [ + "cn", + "description", + "enrolledby", + "fqdn", + "ipaclientversion", + "ipauniqueid", + "l", + "managedby", + "memberof", + "nshardwareplatform", + "nshostlocation", + "nsosversion", + "objectclass", + "serverhostname", + "usercertificate", + "userpassword" + ], + "attribute_members": { + "enrolledby": [ + "user" + ], + "managedby": [ + "host" + ], + "memberof": [ + "hostgroup", + "netgroup", + "role" + ] + }, + "bindable": true, + "container_dn": "cn=computers,cn=accounts", + "default_attributes": [ + "fqdn", + "description", + "l", + "nshostlocation", + "krbprincipalname", + "nshardwareplatform", + "nsosversion", + "usercertificate", + "memberof", + "krblastpwdchange", + "managedby" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Hosts", + "methods": [ + "add", + "add_managedby", + "del", + "disable", + "find", + "mod", + "remove_managedby", + "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", + "rdn_attribute": "", + "relationships": { + "enrolledby": [ + "Enrolled by", + "enroll_by_", + "not_enroll_by_" + ], + "managedby": [ + "Managed by", + "man_by_", + "not_man_by_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "hostname", + "cli_short_name": null, + "default": null, + "doc": "Host name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "A description of this host", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "password", + "cli_short_name": null, + "default": null, + "doc": "Password used in bulk enrollment", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Flag", + "cli_name": "random", + "cli_short_name": null, + "default": false, + "doc": "Generate a random password to be used in bulk enrollment", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [ + "no_search" + ], + "hint": null, + "include": null, + "label": "<random>", + "multivalue": false, + "name": "random", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "randompassword", + "cli_short_name": null, + "default": null, + "doc": "Random password", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Random password", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "randompassword", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Bytes", + "cli_name": "certificate", + "cli_short_name": null, + "default": null, + "doc": "Base-64 encoded server certificate", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hostgroup": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "ipauniqueid", + "member", + "memberof", + "o", + "objectclass", + "ou", + "owner", + "seealso" + ], + "attribute_members": { + "member": [ + "host", + "hostgroup" + ], + "memberindirect": [ + "host", + "hostgroup" + ], + "memberof": [ + "hostgroup" + ] + }, + "bindable": false, + "container_dn": "cn=hostgroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "hostgroup_name", + "cli_short_name": null, + "default": null, + "doc": "Name of host-group", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "krbtpolicy": { + "aciattrs": [], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=IPA14.AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos", + "default_attributes": [ + "krbmaxticketlife", + "krbmaxrenewableage" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Kerberos Ticket Policy", + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxlife", + "cli_short_name": null, + "default": null, + "doc": "Maximum ticket life (seconds)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Max life", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "krbmaxticketlife", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxrenew", + "cli_short_name": null, + "default": null, + "doc": "Maximum renewable age (seconds)", + "exclude": null, + "flags": [], + "hint": null, + "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": { + "aciattrs": [ + "cn", + "description", + "externalhost", + "hostcategory", + "ipaenabledflag", + "ipauniqueid", + "member", + "memberhost", + "memberof", + "memberuser", + "nisdomainname", + "usercategory" + ], + "attribute_members": { + "member": [ + "netgroup" + ], + "memberhost": [ + "host", + "hostgroup" + ], + "memberindirect": [ + "netgroup" + ], + "memberof": [ + "netgroup" + ], + "memberuser": [ + "user", + "group" + ] + }, + "bindable": false, + "container_dn": "cn=ng,cn=alt", + "default_attributes": [ + "cn", + "description", + "memberof", + "externalhost", + "nisdomainname", + "memberuser", + "memberhost", + "member", + "memberindirect", + "usercategory", + "hostcategory" + ], + "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", + "rdn_attribute": "ipauniqueid", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberhost": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ], + "memberuser": [ + "Member", + "", + "no_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Netgroup name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Netgroup description", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "nisdomain", + "cli_short_name": null, + "default": null, + "doc": "NIS domain name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "User category", + "multivalue": false, + "name": "usercategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Host category", + "multivalue": false, + "name": "hostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + } + ], + "uuid_attribute": "ipauniqueid" + }, + "permission": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "member", + "o", + "objectclass", + "ou", + "owner", + "seealso" + ], + "attribute_members": { + "member": [ + "privilege" + ] + }, + "bindable": false, + "container_dn": "cn=permissions,cn=pbac", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Permissions", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "permission", + "object_class": [ + "groupofnames" + ], + "object_class_config": null, + "object_name": "permission", + "object_name_plural": "permissions", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Permission name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Permission 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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Permission description", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "permissions", + "cli_short_name": null, + "default": null, + "doc": "Comma-separated list of permissions to grant (read, write, add, delete, all)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Permissions", + "multivalue": true, + "name": "permissions", + "primary_key": false, + "query": false, + "required": true, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "attrs", + "cli_short_name": null, + "default": null, + "doc": "Comma-separated list of attributes", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Attributes", + "multivalue": true, + "name": "attrs", + "primary_key": false, + "query": false, + "required": false, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "type", + "cli_short_name": null, + "default": null, + "doc": "Type of IPA object (user, group, host, hostgroup, service, netgroup, dns)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Type", + "multivalue": false, + "name": "type", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "user", + "group", + "host", + "service", + "hostgroup", + "netgroup", + "dns" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberof", + "cli_short_name": null, + "default": null, + "doc": "Target members of a group", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Member of group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberof", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "filter", + "cli_short_name": null, + "default": null, + "doc": "Legal LDAP filter (e.g. ou=Engineering)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Filter", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "filter", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "subtree", + "cli_short_name": null, + "default": null, + "doc": "Subtree to apply permissions to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Subtree", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "subtree", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "targetgroup", + "cli_short_name": null, + "default": null, + "doc": "User group to apply permissions to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Target group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "targetgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "" + }, + "pkinit": { + "__base64__": "" + }, + "privilege": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "member", + "memberof", + "o", + "objectclass", + "ou", + "owner", + "seealso" + ], + "attribute_members": { + "member": [ + "permission", + "role" + ], + "memberof": [ + "permission" + ] + }, + "bindable": false, + "container_dn": "cn=privileges,cn=pbac", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Privileges", + "methods": [ + "add", + "add_member", + "add_permission", + "del", + "find", + "mod", + "remove_member", + "remove_permission", + "show" + ], + "name": "privilege", + "object_class": [ + "nestedgroup", + "groupofnames" + ], + "object_class_config": null, + "object_name": "privilege", + "object_name_plural": "privileges", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Privilege name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Privilege 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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Privilege description", + "exclude": null, + "flags": [], + "hint": null, + "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" + } + ], + "uuid_attribute": "" + }, + "pwpolicy": { + "aciattrs": [ + "cn", + "krbmaxpwdlife", + "krbminpwdlife", + "krbpwdfailurecountinterval", + "krbpwdhistorylength", + "krbpwdlockoutduration", + "krbpwdmaxfailure", + "krbpwdmindiffchars", + "krbpwdminlength", + "objectclass" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=IPA14.AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos", + "default_attributes": [ + "cn", + "cospriority", + "krbmaxpwdlife", + "krbminpwdlife", + "krbpwdhistorylength", + "krbpwdmindiffchars", + "krbpwdminlength", + "krbpwdmaxfailure", + "krbpwdfailurecountinterval", + "krbpwdlockoutduration" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Password Policy", + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxlife", + "cli_short_name": null, + "default": null, + "doc": "Maximum password lifetime (in days)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Max lifetime (days)", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbmaxpwdlife", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minlife", + "cli_short_name": null, + "default": null, + "doc": "Minimum password lifetime (in hours)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Min lifetime (hours)", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbminpwdlife", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "history", + "cli_short_name": null, + "default": null, + "doc": "Password history size", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "History size", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdhistorylength", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minclasses", + "cli_short_name": null, + "default": null, + "doc": "Minimum number of character classes", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Character classes", + "maxvalue": 5, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdmindiffchars", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minlength", + "cli_short_name": null, + "default": null, + "doc": "Minimum length of password", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Min length", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdminlength", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Priority", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "cospriority", + "primary_key": false, + "query": false, + "required": true, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxfail", + "cli_short_name": null, + "default": null, + "doc": "Consecutive failures before lockout", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Max failures", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdmaxfailure", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "failinterval", + "cli_short_name": null, + "default": null, + "doc": "Period after which failure count will be reset (seconds)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Failure reset interval", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdfailurecountinterval", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "lockouttime", + "cli_short_name": null, + "default": null, + "doc": "Period for which lockout is enforced (seconds)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Lockout duration", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "krbpwdlockoutduration", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + } + ], + "uuid_attribute": "" + }, + "role": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "member", + "memberof", + "o", + "objectclass", + "ou", + "owner", + "seealso" + ], + "attribute_members": { + "member": [ + "user", + "group", + "host", + "hostgroup" + ], + "memberof": [ + "privilege" + ] + }, + "bindable": false, + "container_dn": "cn=roles,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Role", + "methods": [ + "add", + "add_member", + "add_privilege", + "del", + "find", + "mod", + "remove_member", + "remove_privilege", + "show" + ], + "name": "role", + "object_class": [ + "groupofnames", + "nestedgroup" + ], + "object_class_config": null, + "object_name": "role", + "object_name_plural": "roles", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Role name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Role 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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "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" + } + ], + "uuid_attribute": "" + }, + "selfservice": { + "bindable": false, + "label": "Self Service Permissions", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "selfservice", + "object_name": [ + "selfservice" + ], + "object_name_plural": [ + "selfservice" + ], + "primary_key": "aciname", + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Self-Service name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Self-Service name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "aciname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "permissions", + "cli_short_name": null, + "default": null, + "doc": "Comma-separated list of permissions to grant (read, write). Default is write.", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Permissions", + "multivalue": true, + "name": "permissions", + "primary_key": false, + "query": false, + "required": false, + "separator": ",", + "skipspace": true, + "type": "tuple" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "List", + "cli_name": "attrs", + "cli_short_name": null, + "default": null, + "doc": "Comma-separated list of attributes", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Attributes", + "multivalue": true, + "name": "attrs", + "primary_key": false, + "query": false, + "required": true, + "separator": ",", + "skipspace": true, + "type": "tuple" + } + ] + }, + "service": { + "aciattrs": [ + "ipauniqueid", + "krbcanonicalname", + "krbextradata", + "krblastfailedauth", + "krblastpwdchange", + "krblastsuccessfulauth", + "krbloginfailedcount", + "krbmaxrenewableage", + "krbmaxticketlife", + "krbobjectreferences", + "krbpasswordexpiration", + "krbprincipalaliases", + "krbprincipalexpiration", + "krbprincipalkey", + "krbprincipalname", + "krbprincipaltype", + "krbpwdhistory", + "krbpwdpolicyreference", + "krbticketflags", + "krbticketpolicyreference", + "krbupenabled", + "managedby", + "memberof", + "objectclass", + "usercertificate" + ], + "attribute_members": { + "managedby": [ + "host" + ] + }, + "bindable": true, + "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", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "principal", + "cli_short_name": null, + "default": null, + "doc": "Service principal", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Bytes", + "cli_name": "certificate", + "cli_short_name": null, + "default": null, + "doc": "Base-64 encoded server certificate", + "exclude": null, + "flags": [], + "hint": null, + "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" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "sudocmd": { + "aciattrs": [ + "description", + "ipauniqueid", + "memberof", + "objectclass", + "sudocmd" + ], + "attribute_members": {}, + "bindable": false, + "container_dn": "cn=sudocmds,cn=sudo", + "default_attributes": [ + "sudocmd", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "SUDO Commands", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "sudocmd", + "object_class": [ + "ipaobject", + "ipasudocmd" + ], + "object_class_config": null, + "object_name": "sudocmd", + "object_name_plural": "sudocmds", + "parent_object": "", + "primary_key": "sudocmd", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "command", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Sudo Command", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "A description of this command", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + "sudocmdgroup": { + "aciattrs": [ + "businesscategory", + "cn", + "description", + "ipauniqueid", + "member", + "o", + "objectclass", + "ou", + "owner", + "seealso" + ], + "attribute_members": { + "member": [ + "sudocmd", + "sudocmdgroup" + ], + "memberindirect": [ + "sudocmd", + "sudocmdgroup" + ], + "memberof": [ + "sudocmdgroup" + ] + }, + "bindable": false, + "container_dn": "cn=sudocmdgroups,cn=sudo", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "SUDO Command Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "sudocmdgroup", + "object_class": [ + "ipaobject", + "ipasudocmdgrp" + ], + "object_class_config": null, + "object_name": "sudocmdgroup", + "object_name_plural": "sudocmdgroups", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sudocmdgroup_name", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Group name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Sudo Command 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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Group description", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "membercmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "membercmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "membercmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "membercmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "sudorule": { + "aciattrs": [ + "cmdcategory", + "cn", + "description", + "externalhost", + "externaluser", + "hostcategory", + "hostmask", + "ipaenabledflag", + "ipasudoopt", + "ipasudorunas", + "ipasudorunasextgroup", + "ipasudorunasextuser", + "ipasudorunasgroup", + "ipasudorunasgroupcategory", + "ipasudorunasusercategory", + "ipauniqueid", + "memberallowcmd", + "memberdenycmd", + "memberhost", + "memberuser", + "usercategory" + ], + "attribute_members": { + "ipasudorunas": [ + "user", + "group" + ], + "ipasudorunasgroup": [ + "group" + ], + "memberallowcmd": [ + "sudocmd", + "sudocmdgroup" + ], + "memberdenycmd": [ + "sudocmd", + "sudocmdgroup" + ], + "memberhost": [ + "host", + "hostgroup" + ], + "memberuser": [ + "user", + "group" + ] + }, + "bindable": false, + "container_dn": "cn=sudorules,cn=sudo", + "default_attributes": [ + "cn", + "ipaenabledflag", + "description", + "usercategory", + "hostcategory", + "cmdcategory", + "memberuser", + "memberhost", + "memberallowcmd", + "memberdenycmd" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "SUDO", + "methods": [ + "add", + "add_allow_command", + "add_deny_command", + "add_host", + "add_option", + "add_runasgroup", + "add_runasuser", + "add_user", + "del", + "disable", + "enable", + "find", + "mod", + "remove_allow_command", + "remove_deny_command", + "remove_host", + "remove_option", + "remove_runasgroup", + "remove_runasuser", + "remove_user", + "show" + ], + "name": "sudorule", + "object_class": [ + "ipaassociation", + "ipasudorule" + ], + "object_class_config": null, + "object_name": "Sudo Rule", + "object_name_plural": "Sudo Rules", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "ipauniqueid", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sudorule_name", + "cli_short_name": null, + "default": null, + "doc": "Rule name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "include": null, + "label": "Enabled", + "multivalue": false, + "name": "ipaenabledflag", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "User category", + "multivalue": false, + "name": "usercategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "Host category", + "multivalue": false, + "name": "hostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "cmdcat", + "cli_short_name": null, + "default": null, + "doc": "Command category the rule applies to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Command category", + "multivalue": false, + "name": "cmdcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "runasusercat", + "cli_short_name": null, + "default": null, + "doc": "Run As User category the rule applies to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Run As User category", + "multivalue": false, + "name": "ipasudorunasusercategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "runasgroupcat", + "cli_short_name": null, + "default": null, + "doc": "Run As Group category the rule applies to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Run As Group category", + "multivalue": false, + "name": "ipasudorunasgroupcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberallowcmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Sudo Allow Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Allow Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberallowcmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberdenycmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Sudo Deny Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Deny Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberdenycmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberallowcmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberallowcmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberdenycmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberdenycmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "ipasudorunas_user", + "cli_short_name": null, + "default": null, + "doc": "Run As User", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Run As User", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipasudorunas_user", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "ipasudorunasgroup_group", + "cli_short_name": null, + "default": null, + "doc": "Run As Group", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Run As Group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipasudorunasgroup_group", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "externaluser", + "cli_short_name": null, + "default": null, + "doc": "External User the rule applies to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "External User", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "externaluser", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "runasexternaluser", + "cli_short_name": null, + "default": null, + "doc": "External User the commands can run as", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "RunAs External User", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipasudorunasextuser", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "runasexternalgroup", + "cli_short_name": null, + "default": null, + "doc": "External Group the commands can run as", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "RunAs External Group", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ipasudorunasextgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "user": { + "aciattrs": [ + "audio", + "businesscategory", + "carlicense", + "cn", + "departmentnumber", + "description", + "destinationindicator", + "displayname", + "employeenumber", + "employeetype", + "facsimiletelephonenumber", + "gecos", + "gidnumber", + "givenname", + "homedirectory", + "homephone", + "homepostaladdress", + "inetuserhttpurl", + "inetuserstatus", + "initials", + "internationalisdnnumber", + "ipauniqueid", + "jpegphoto", + "krbcanonicalname", + "krbextradata", + "krblastfailedauth", + "krblastpwdchange", + "krblastsuccessfulauth", + "krbloginfailedcount", + "krbmaxrenewableage", + "krbmaxticketlife", + "krbpasswordexpiration", + "krbprincipalaliases", + "krbprincipalexpiration", + "krbprincipalkey", + "krbprincipalname", + "krbprincipaltype", + "krbpwdhistory", + "krbpwdpolicyreference", + "krbticketflags", + "krbticketpolicyreference", + "krbupenabled", + "l", + "labeleduri", + "loginshell", + "mail", + "manager", + "memberof", + "mepmanagedentry", + "mobile", + "o", + "objectclass", + "ou", + "pager", + "photo", + "physicaldeliveryofficename", + "postaladdress", + "postalcode", + "postofficebox", + "preferreddeliverymethod", + "preferredlanguage", + "registeredaddress", + "roomnumber", + "secretary", + "seealso", + "sn", + "st", + "street", + "telephonenumber", + "teletexterminalidentifier", + "telexnumber", + "title", + "uid", + "uidnumber", + "usercertificate", + "userpassword", + "userpkcs12", + "usersmimecertificate", + "x121address", + "x500uniqueidentifier" + ], + "attribute_members": { + "memberof": [ + "group", + "netgroup", + "role" + ] + }, + "bindable": true, + "container_dn": "cn=users,cn=accounts", + "default_attributes": [ + "uid", + "givenname", + "sn", + "homedirectory", + "loginshell", + "ou", + "telephonenumber", + "title", + "memberof", + "nsaccountlock" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Users", + "methods": [ + "add", + "del", + "disable", + "enable", + "find", + "mod", + "show" + ], + "name": "user", + "object_class": [ + "posixaccount" + ], + "object_class_config": "ipauserobjectclasses", + "object_name": "user", + "object_name_plural": "users", + "parent_object": "", + "primary_key": "uid", + "rdn_attribute": "", + "relationships": { + "member": [ + "Member", + "", + "no_" + ], + "memberindirect": [ + "Indirect Member", + null, + "no_indirect_" + ], + "memberof": [ + "Member Of", + "in_", + "not_in_" + ] + }, + "takes_params": [ + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "login", + "cli_short_name": null, + "default": null, + "doc": "User login", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "User login", + "length": null, + "maxlength": 255, + "minlength": null, + "multivalue": false, + "name": "uid", + "pattern": "^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,252}[a-zA-Z0-9_.$-]?$", + "pattern_errmsg": "may only include letters, numbers, _, -, . and $", + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "first", + "cli_short_name": null, + "default": null, + "doc": "First name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "last", + "cli_short_name": null, + "default": null, + "doc": "Last name", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "cn", + "cli_short_name": null, + "default": null, + "doc": "Full name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Full name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cn", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "displayname", + "cli_short_name": null, + "default": null, + "doc": "Display name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Display name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "displayname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "initials", + "cli_short_name": null, + "default": null, + "doc": "Initials", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Initials", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "initials", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "homedir", + "cli_short_name": null, + "default": null, + "doc": "Home directory", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "gecos", + "cli_short_name": null, + "default": null, + "doc": "GECOS field", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "shell", + "cli_short_name": null, + "default": "/bin/sh", + "doc": "Login shell", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": true, + "class": "Str", + "cli_name": "principal", + "cli_short_name": null, + "default": null, + "doc": "Kerberos principal", + "exclude": null, + "flags": [ + "no_update" + ], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "email", + "cli_short_name": null, + "default": null, + "doc": "Email address", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Email address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "mail", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Password", + "cli_name": "password", + "cli_short_name": null, + "default": null, + "doc": "Prompt to set the user password", + "exclude": [ + "webui" + ], + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "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": [], + "hint": null, + "include": null, + "label": "UID", + "maxvalue": null, + "minvalue": 1, + "multivalue": false, + "name": "uidnumber", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "gidnumber", + "cli_short_name": null, + "default": null, + "doc": "Group ID Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "GID", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "gidnumber", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "street", + "cli_short_name": null, + "default": null, + "doc": "Street address", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "city", + "cli_short_name": null, + "default": null, + "doc": "City", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "City", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "location", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "state", + "cli_short_name": null, + "default": null, + "doc": "State", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "State", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "state", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "postalcode", + "cli_short_name": null, + "default": null, + "doc": "ZIP", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "ZIP", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "postalcode", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "phone", + "cli_short_name": null, + "default": null, + "doc": "Telephone Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Telephone Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "telephonenumber", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "mobile", + "cli_short_name": null, + "default": null, + "doc": "Mobile Telephone Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Mobile Telephone Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "mobile", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "pager", + "cli_short_name": null, + "default": null, + "doc": "Pager Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Pager Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "pager", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "fax", + "cli_short_name": null, + "default": null, + "doc": "Fax Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Fax Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "facsimiletelephonenumber", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "orgunit", + "cli_short_name": null, + "default": null, + "doc": "Org. Unit", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Org. Unit", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ou", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "title", + "cli_short_name": null, + "default": null, + "doc": "Job Title", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Job Title", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "title", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "manager", + "cli_short_name": null, + "default": null, + "doc": "Manager", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Manager", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "manager", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "carlicense", + "cli_short_name": null, + "default": null, + "doc": "Car License", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Car License", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "carlicense", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Bool", + "cli_name": "nsaccountlock", + "cli_short_name": null, + "default": null, + "doc": "Account activation status", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Account activation status", + "multivalue": false, + "name": "nsaccountlock", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + } + ], + "uuid_attribute": "ipauniqueid" + } + } + }, + { + "error": null, + "messages": { + "ajax": { + "401": "Your kerberos ticket no longer valid.Please run KInit and then click 'retry'If this is your first time running the IPA Web UI<a href='/ipa/errors/ssbrowser.html'> Follow these directions</a> to configure your browser." + }, + "association": { + "managedby": "Managed by", + "members": "Members", + "membershipin": "Membership in" + }, + "button": { + "add": "Add", + "enroll": "Enroll", + "find": "Find", + "remove": "Delete", + "reset": "Reset", + "update": "Update" + }, + "details": { + "account": "Account Settings", + "contact": "Contact Settings", + "employee": "Employee Information", + "identity": "Identity Settings", + "mailing": "Mailing Address", + "misc": "Misc. Information", + "to_top": "Back to Top" + }, + "facets": { + "details": "Settings", + "search": "Search" + }, + "login": { + "header": "Logged In As" + }, + "search": { + "delete_confirm": "Do you really want to delete the selected entries?", + "quick_links": "Quick Links", + "select_all": "Select All", + "unselect_all": "Unselect All" + } + } + }, + { + "count": 1, + "error": null, + "result": [ + { + "cn": [ + "Administrator" + ], + "dn": "uid=admin,cn=users,cn=accounts,dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "Administrator" + ], + "gidnumber": [ + "590200000" + ], + "homedirectory": [ + "/home/admin" + ], + "ipauniqueid": [ + "3f1c60c6-2026-11e0-80c2-52540029a798" + ], + "krblastpwdchange": [ + "20110114213748Z" + ], + "krblastsuccessfulauth": [ + "20110114213845Z" + ], + "krbpasswordexpiration": [ + "20110414213748Z" + ], + "krbprincipalname": [ + "admin@IPA14.AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "loginshell": [ + "/bin/bash" + ], + "memberof_group": [ + "admins" + ], + "mepmanagedentry": [ + "cn=admin,cn=groups,cn=accounts,dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "nsaccountlock": [ + "False" + ], + "objectclass": [ + "top", + "person", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "inetuser", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "Administrator" + ], + "uid": [ + "admin" + ], + "uidnumber": [ + "590200000" + ] + } + ], + "summary": "1 user matched", + "truncated": false + }, + { + "count": 65, + "error": null, + "result": { + "basedn": "dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "bin": "/var/www", + "ca_agent_port": 9443, + "ca_ee_port": 9444, + "ca_host": "ipa14.ayoung.boston.devel.redhat.com", + "ca_port": 9180, + "conf": "/etc/ipa/server.conf", + "conf_default": "/etc/ipa/default.conf", + "confdir": "/etc/ipa", + "config_loaded": true, + "container_accounts": "cn=accounts", + "container_applications": "cn=applications,cn=configs,cn=policies", + "container_automount": "cn=automount", + "container_configs": "cn=configs,cn=policies", + "container_dns": "cn=dns", + "container_group": "cn=groups,cn=accounts", + "container_hbac": "cn=hbac", + "container_hbacservice": "cn=hbacservices,cn=hbac", + "container_hbacservicegroup": "cn=hbacservicegroups,cn=hbac", + "container_host": "cn=computers,cn=accounts", + "container_hostgroup": "cn=hostgroups,cn=accounts", + "container_netgroup": "cn=ng,cn=alt", + "container_permission": "cn=permissions,cn=pbac", + "container_policies": "cn=policies", + "container_policygroups": "cn=policygroups,cn=configs,cn=policies", + "container_policylinks": "cn=policylinks,cn=configs,cn=policies", + "container_privilege": "cn=privileges,cn=pbac", + "container_rolegroup": "cn=roles,cn=accounts", + "container_roles": "cn=roles,cn=policies", + "container_service": "cn=services,cn=accounts", + "container_sudocmd": "cn=sudocmds,cn=sudo", + "container_sudocmdgroup": "cn=sudocmdgroups,cn=sudo", + "container_sudorule": "cn=sudorules,cn=sudo", + "container_user": "cn=users,cn=accounts", + "container_virtual": "cn=virtual operations,cn=etc", + "context": "server", + "debug": false, + "domain": "ayoung.boston.devel.redhat.com", + "dot_ipa": "/var/www/.ipa", + "enable_ra": true, + "fallback": true, + "home": "/var/www", + "host": "ipa14.ayoung.boston.devel.redhat.com", + "in_server": true, + "in_tree": false, + "interactive": true, + "ipalib": "/usr/lib/python2.7/site-packages/ipalib", + "ldap_uri": "ldapi://%2fvar%2frun%2fslapd-IPA14-AYOUNG-BOSTON-DEVEL-REDHAT-COM.socket", + "log": null, + "logdir": "/var/log/ipa", + "mode": "production", + "mount_ipa": "/ipa/", + "mount_jsonserver": "json", + "mount_xmlserver": "xml", + "prompt_all": false, + "ra_plugin": "selfsign", + "realm": "IPA14.AYOUNG.BOSTON.DEVEL.REDHAT.COM", + "rpc_json_uri": "http://localhost:8888/ipa/json", + "script": "/var/www/mod_wsgi", + "site_packages": "/usr/lib/python2.7/site-packages", + "startup_traceback": false, + "verbose": 0, + "webui_assets_dir": null, + "webui_prod": true, + "xmlrpc_uri": "https://ipa14.ayoung.boston.devel.redhat.com/ipa/xml" + }, + "summary": "65 variables", + "total": 65 + } + ] + } +} diff --git a/install/ui/test/data/json_metadata.json b/install/ui/test/data/json_metadata.json new file mode 100644 index 000000000..222a8b65c --- /dev/null +++ b/install/ui/test/data/json_metadata.json @@ -0,0 +1,4097 @@ +{ + "error": null, + "id": 0, + "result": { + "messages": { + "ajax": { + "401": "Your kerberos ticket no longer valid.Please run KInit and then click 'retry'If this is your first time running the IPA Web UI<a href='/ipa/errors/ssbrowser.html'> Follow these directions</a> to configure your browser." + }, + "button": { + "add": "Add", + "enroll": "Enroll", + "find": "Find", + "remove": "Delete", + "reset": "Reset", + "update": "Update" + }, + "details": { + "account": "Account Details", + "contact": "Contact Details", + "employee": " Employee Information", + "identity": "Identity Details", + "mailing": "Mailing Address", + "misc": "Misc. Information", + "to_top": "Back to Top" + }, + "login": { + "header": "Logged In As" + }, + "search": { + "delete_confirm": "Do you really want to delete the selected entries?", + "quick_links": "Quick Links", + "select_all": "Select All", + "unselect_all": "Unselect All" + } + }, + "metadata": { + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "key", + "cli_short_name": null, + "default": null, + "doc": "Automount key name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": "Automount", + "methods": [ + "add", + "del", + "find", + "import", + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "location", + "cli_short_name": null, + "default": null, + "doc": "Automount location name", + "exclude": null, + "flags": [], + "hint": null, + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "map", + "cli_short_name": null, + "default": null, + "doc": "Automount map name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": "Configuration", + "methods": [ + "mod", + "show" + ], + "name": "config", + "object_class": [], + "object_class_config": null, + "object_name": "configuration options", + "object_name_plural": "entries", + "parent_object": "", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "maxusername", + "cli_short_name": null, + "default": null, + "doc": "Max username length", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": "<cosentry.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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "cn", + "cli_short_name": null, + "default": null, + "doc": "<cn>", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "<cn>", + "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": "<krbpwdpolicyreference>", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "<krbpwdpolicyreference>", + "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": "<cospriority>", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "<cospriority>", + "maxvalue": null, + "minvalue": 0, + "multivalue": false, + "name": "cospriority", + "primary_key": false, + "query": false, + "required": true, + "type": "int" + } + ], + "uuid_attribute": "" + }, + "dns": { + "default_attributes": [ + "idnsname", + "idnszoneactive", + "idnssoamname", + "idnssoarname", + "idnssoaserial", + "idnssoarefresh", + "idnssoaretry", + "idnssoaexpire", + "idnssoaminimum" + ], + "label": "DNS", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "dns", + "primary_key": "idnsname", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Zone name (FQDN)", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Zone", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": true, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name_server", + "cli_short_name": null, + "default": null, + "doc": "Authoritative name server", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Authoritative name server", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnssoamname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "admin_email", + "cli_short_name": null, + "default": null, + "doc": "administrator e-mail address", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "administrator e-mail address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnssoarname", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": true, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "serial", + "cli_short_name": null, + "default": null, + "doc": "SOA serial", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA serial", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaserial", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "refresh", + "cli_short_name": null, + "default": null, + "doc": "SOA refresh", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA refresh", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoarefresh", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "retry", + "cli_short_name": null, + "default": null, + "doc": "SOA retry", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA retry", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaretry", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "expire", + "cli_short_name": null, + "default": null, + "doc": "SOA expire", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA expire", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaexpire", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "minimum", + "cli_short_name": null, + "default": null, + "doc": "SOA minimum", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA minimum", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "idnssoaminimum", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ttl", + "cli_short_name": null, + "default": null, + "doc": "SOA time to live", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA time to live", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "dnsttl", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + }, + { + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "class", + "cli_short_name": null, + "default": null, + "doc": "SOA class", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SOA class", + "multivalue": false, + "name": "dnsclass", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "IN", + "CS", + "CH", + "HS" + ] + }, + { + "attribute": false, + "autofill": true, + "class": "Flag", + "cli_name": "allow_dynupdate", + "cli_short_name": null, + "default": false, + "doc": "allow dynamic update?", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [], + "hint": null, + "include": null, + "label": "allow dynamic update?", + "multivalue": false, + "name": "idnsallowdynupdate", + "primary_key": false, + "query": false, + "required": true, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "update_policy", + "cli_short_name": null, + "default": null, + "doc": "BIND update policy", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "BIND update policy", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "idnsupdatepolicy", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ] + }, + "group": { + "attribute_members": { + "member": [ + "user", + "group" + ], + "memberindirect": [ + "user", + "group", + "netgroup", + "rolegroup", + "taskgroup" + ], + "memberof": [ + "group", + "netgroup", + "rolegroup", + "taskgroup" + ] + }, + "container_dn": "cn=groups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "gidnumber", + "member", + "memberof", + "memberindirect" + ], + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Group name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "include": null, + "label": "GID", + "maxvalue": null, + "minvalue": null, + "multivalue": false, + "name": "gidnumber", + "primary_key": false, + "query": false, + "required": false, + "type": "int" + } + ], + "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", + "rdn_attribute": "ipauniqueid", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Rule name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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=hbac", + "default_attributes": [ + "cn", + "description", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Services", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "hbacsvc", + "object_class": [ + "ipaobject", + "ipahbacservice" + ], + "object_class_config": null, + "object_name": "hbacsvc", + "object_name_plural": "hbacsvcs", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "service", + "cli_short_name": null, + "default": null, + "doc": "HBAC Service", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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" + ] + }, + "container_dn": "cn=hbacservicegroups,cn=hbac", + "default_attributes": [ + "cn", + "description", + "member" + ], + "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": "hbacsvcgroup", + "object_name_plural": "hbacsvcgroups", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Service group name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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" + } + ], + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "hostname", + "cli_short_name": null, + "default": null, + "doc": "Host name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": true, + "class": "Flag", + "cli_name": "random", + "cli_short_name": null, + "default": false, + "doc": "Generate a random password to be used in bulk enrollment", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [ + "no_search" + ], + "hint": null, + "include": null, + "label": "<random>", + "multivalue": false, + "name": "random", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "randompassword", + "cli_short_name": null, + "default": null, + "doc": "Random password", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Random password", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "randompassword", + "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": [], + "hint": null, + "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" + ], + "hint": null, + "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" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "hostgroup": { + "attribute_members": { + "member": [ + "host", + "hostgroup" + ], + "memberindirect": [ + "host", + "hostgroup" + ], + "memberof": [ + "hostgroup" + ] + }, + "container_dn": "cn=hostgroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "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", + "rdn_attribute": "", + "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": [], + "hint": null, + "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": [], + "hint": null, + "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" + } + ], + "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": "Kerberos Ticket Policy", + "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", + "rdn_attribute": "", + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": { + "member": [ + "netgroup" + ], + "memberhost": [ + "host", + "hostgroup" + ], + "memberindirect": [ + "netgroup" + ], + "memberof": [ + "netgroup" + ], + "memberuser": [ + "user", + "group" + ] + }, + "container_dn": "cn=ng,cn=alt", + "default_attributes": [ + "cn", + "description", + "memberof", + "externalhost", + "nisdomainname", + "memberuser", + "memberhost", + "member", + "memberindirect", + "usercategory", + "hostcategory" + ], + "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", + "rdn_attribute": "ipauniqueid", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Netgroup name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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" + ], + "hint": null, + "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" + }, + { + "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": [], + "hint": null, + "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": [], + "hint": null, + "include": null, + "label": "Host category", + "multivalue": false, + "name": "hostcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + } + ], + "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", + "krbpwdmaxfailure", + "krbpwdfailurecountinterval", + "krbpwdlockoutduration" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Password Policy", + "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", + "rdn_attribute": "", + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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" + ], + "memberindirect": [ + "user", + "group", + "host", + "hostgroup" + ], + "memberof": [ + "taskgroup" + ] + }, + "container_dn": "cn=rolegroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Role-group name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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" + } + ], + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "principal", + "cli_short_name": null, + "default": null, + "doc": "Service principal", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + { + "attribute": false, + "autofill": false, + "class": "Bytes", + "cli_name": "certificate", + "cli_short_name": null, + "default": null, + "doc": "Base-64 encoded server certificate", + "exclude": null, + "flags": [], + "hint": null, + "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" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "sudocmd": { + "attribute_members": {}, + "container_dn": "cn=sudocmds,cn=sudo", + "default_attributes": [ + "sudocmd", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "SudoCmds", + "methods": [ + "add", + "del", + "find", + "mod", + "show" + ], + "name": "sudocmd", + "object_class": [ + "ipaobject", + "ipasudocmd" + ], + "object_class_config": null, + "object_name": "sudocmd", + "object_name_plural": "sudocmds", + "parent_object": "", + "primary_key": "sudocmd", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "command", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Sudo Command", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sudocmd", + "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 command", + "exclude": null, + "flags": [], + "hint": null, + "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" + }, + "sudocmdgroup": { + "attribute_members": { + "member": [ + "sudocmd", + "sudocmdgroup" + ], + "memberindirect": [ + "sudocmd", + "sudocmdgroup" + ], + "memberof": [ + "sudocmdgroup" + ] + }, + "container_dn": "cn=sudocmdgroups,cn=sudo", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Sudo Command Groups", + "methods": [ + "add", + "add_member", + "del", + "find", + "mod", + "remove_member", + "show" + ], + "name": "sudocmdgroup", + "object_class": [ + "ipaobject", + "ipasudocmdgrp" + ], + "object_class_config": null, + "object_name": "sudocmdgroup", + "object_name_plural": "sudocmdgroups", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Group name", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Sudo Command 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": "Group description", + "exclude": null, + "flags": [], + "hint": null, + "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": "membercmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "membercmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "membercmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "membercmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "sudorule": { + "attribute_members": { + "memberallowcmd": [ + "sudocmd", + "sudocmdgroup" + ], + "memberdenycmd": [ + "sudocmd", + "sudocmdgroup" + ], + "memberhost": [ + "host", + "hostgroup" + ], + "memberuser": [ + "user", + "group" + ] + }, + "container_dn": "cn=sudorules,cn=sudo", + "default_attributes": [ + "cn", + "description" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "SudoRule", + "methods": [ + "add", + "add_allow_command", + "add_deny_command", + "add_host", + "add_user", + "del", + "find", + "mod", + "remove_allow_command", + "remove_deny_command", + "remove_host", + "remove_user", + "show" + ], + "name": "sudorule", + "object_class": [ + "ipaassociation", + "ipasudorule" + ], + "object_class_config": null, + "object_name": "Sudo Rule", + "object_name_plural": "Sudo Rules", + "parent_object": "", + "primary_key": "cn", + "rdn_attribute": "ipauniqueid", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Rule name", + "exclude": null, + "flags": [], + "hint": null, + "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": "Str", + "cli_name": "desc", + "cli_short_name": null, + "default": null, + "doc": "Description", + "exclude": null, + "flags": [], + "hint": null, + "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": "StrEnum", + "cli_name": "cmdcat", + "cli_short_name": null, + "default": null, + "doc": "Command category the rule applies to", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Command category", + "multivalue": false, + "name": "cmdcategory", + "primary_key": false, + "query": false, + "required": false, + "type": "unicode", + "values": [ + "all" + ] + }, + { + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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" + ], + "hint": null, + "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": "memberallowcmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Sudo Allow Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Allow Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberallowcmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberdenycmd_sudocmd", + "cli_short_name": null, + "default": null, + "doc": "Sudo Deny Commands", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Deny Commands", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberdenycmd_sudocmd", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberallowcmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberallowcmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "memberdenycmd_sudocmdgroup", + "cli_short_name": null, + "default": null, + "doc": "Sudo Command Groups", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Sudo Command Groups", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "memberdenycmd_sudocmdgroup", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + } + ], + "uuid_attribute": "ipauniqueid" + }, + "taskgroup": { + "attribute_members": { + "member": [ + "user", + "group", + "rolegroup" + ], + "memberindirect": [ + "user", + "group", + "rolegroup" + ] + }, + "container_dn": "cn=taskgroups,cn=accounts", + "default_attributes": [ + "cn", + "description", + "member", + "memberof", + "memberindirect" + ], + "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", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "name", + "cli_short_name": null, + "default": null, + "doc": "Task-group name", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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" + } + ], + "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", + "nsaccountlock" + ], + "hidden_attributes": [ + "objectclass", + "aci" + ], + "label": "Users", + "methods": [ + "add", + "del", + "disable", + "enable", + "find", + "mod", + "show" + ], + "name": "user", + "object_class": [ + "posixaccount" + ], + "object_class_config": "ipauserobjectclasses", + "object_name": "user", + "object_name_plural": "users", + "parent_object": "", + "primary_key": "uid", + "rdn_attribute": "", + "takes_params": [ + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "login", + "cli_short_name": null, + "default": null, + "doc": "User login", + "exclude": null, + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "include": null, + "label": "Email address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "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": "Prompt to set the user password", + "exclude": [ + "webui" + ], + "flags": [], + "hint": null, + "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": [], + "hint": null, + "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": [], + "hint": null, + "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": "phone", + "cli_short_name": null, + "default": null, + "doc": "Telephone Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Telephone Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "telephonenumber", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "mobile", + "cli_short_name": null, + "default": null, + "doc": "Mobile Telephone Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Mobile Telephone Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "mobile", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "pager", + "cli_short_name": null, + "default": null, + "doc": "Pager Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Pager Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "pager", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "fax", + "cli_short_name": null, + "default": null, + "doc": "Fax Number", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "Fax Number", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "facsimiletelephonenumber", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "type": "unicode" + }, + { + "attribute": false, + "autofill": false, + "class": "Bool", + "cli_name": "nsaccountlock", + "cli_short_name": null, + "default": null, + "doc": "Account disabled", + "exclude": null, + "falsehoods": [ + 0, + "0", + "false" + ], + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Account disabled", + "multivalue": false, + "name": "nsaccountlock", + "primary_key": false, + "query": false, + "required": false, + "truths": [ + "1", + 1, + "true" + ], + "type": "bool" + } + ], + "uuid_attribute": "ipauniqueid" + } + } + } +} diff --git a/install/ui/test/data/krbtpolicy_show.json b/install/ui/test/data/krbtpolicy_show.json new file mode 100644 index 000000000..39882e14a --- /dev/null +++ b/install/ui/test/data/krbtpolicy_show.json @@ -0,0 +1,78 @@ +{ + "error": null, + "id": 6, + "result": { + "result": { + "aci": [ + "(targetattr = \"krbMKey\")(version 3.0; acl \"No external access\"; deny (read,write,search,compare) userdn != \"ldap:///uid=kdc,cn=sysaccounts,cn=etc,dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com\";)" + ], + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "krbadmservers": "rscwo", + "krbdefaultencsalttypes": "rscwo", + "krbkdcservers": "rscwo", + "krbldapservers": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbmkey": "none", + "krbprinccontainerref": "rscwo", + "krbprincnamingattr": "rscwo", + "krbpwdpolicyreference": "rsc", + "krbpwdservers": "rscwo", + "krbsearchscope": "rscwo", + "krbsubtrees": "rscwo", + "krbsupportedencsalttypes": "rscwo", + "krbticketflags": "rsc", + "krbticketpolicyreference": "rsc", + "krbupenabled": "rsc", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "IPA14.AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "dn": "cn=ipa14.ayoung.boston.devel.redhat.com,cn=kerberos,dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "krbdefaultencsalttypes": [ + "aes256-cts:special", + "aes128-cts:special", + "des3-hmac-sha1:special", + "arcfour-hmac:special" + ], + "krbmaxrenewableage": [ + "604800" + ], + "krbmaxticketlife": [ + "86400" + ], + "krbsearchscope": [ + "2" + ], + "krbsubtrees": [ + "dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "krbsupportedencsalttypes": [ + "aes256-cts:normal", + "aes256-cts:special", + "aes128-cts:normal", + "aes128-cts:special", + "des3-hmac-sha1:normal", + "des3-hmac-sha1:special", + "arcfour-hmac:normal", + "arcfour-hmac:special", + "des-hmac-sha1:normal", + "des-cbc-md5:normal", + "des-cbc-crc:normal", + "des-cbc-crc:v4", + "des-cbc-crc:afs3" + ], + "objectclass": [ + "top", + "krbrealmcontainer", + "krbticketpolicyaux" + ] + }, + "summary": null, + "value": "" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/netgroup_add.json b/install/ui/test/data/netgroup_add.json new file mode 100644 index 000000000..989bb5db0 --- /dev/null +++ b/install/ui/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/ui/test/data/netgroup_add_member.json b/install/ui/test/data/netgroup_add_member.json new file mode 100644 index 000000000..5fbae9e14 --- /dev/null +++ b/install/ui/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/ui/test/data/netgroup_find.json b/install/ui/test/data/netgroup_find.json new file mode 100644 index 000000000..15626e0b9 --- /dev/null +++ b/install/ui/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/ui/test/data/netgroup_show.json b/install/ui/test/data/netgroup_show.json new file mode 100644 index 000000000..aa77e8885 --- /dev/null +++ b/install/ui/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/ui/test/data/permission_add.json b/install/ui/test/data/permission_add.json new file mode 100644 index 000000000..9ea7b226b --- /dev/null +++ b/install/ui/test/data/permission_add.json @@ -0,0 +1,26 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "testperm" + ], + "description": [ + "description" + ], + "dn": "cn=testperm,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "objectclass": [ + "groupofnames", + "top" + ], + "permissions": [ + "read", + "write" + ], + "targetgroup": "ipausers" + }, + "summary": "Added permission \"testperm\"", + "value": "testperm" + } +} diff --git a/install/ui/test/data/permission_del b/install/ui/test/data/permission_del new file mode 100644 index 000000000..c11368986 --- /dev/null +++ b/install/ui/test/data/permission_del @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted permission \"testperm\"", + "value": "testperm" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/permission_find.json b/install/ui/test/data/permission_find.json new file mode 100644 index 000000000..cad5f0868 --- /dev/null +++ b/install/ui/test/data/permission_find.json @@ -0,0 +1,887 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 47, + "result": [ + { + "cn": [ + "addusers" + ], + "description": [ + "Add Users" + ], + "dn": "cn=addusers,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "useradmin" + ], + "permissions": [ + "add" + ], + "type": "user" + }, + { + "attrs": [ + "userPassword", + "krbPrincipalKey", + "sambaLMPassword", + "sambaNTPassword", + "passwordHistory" + ], + "cn": [ + "change_password" + ], + "description": [ + "Change a user password" + ], + "dn": "cn=change_password,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "useradmin" + ], + "permissions": [ + "write" + ] + }, + { + "attrs": [ + "member" + ], + "cn": [ + "add_user_to_default_group" + ], + "description": [ + "Add user to default group" + ], + "dn": "cn=add_user_to_default_group,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "useradmin" + ], + "permissions": [ + "write" + ], + "targetgroup": "ldap:///cn=ipausers,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "removeusers" + ], + "description": [ + "Remove Users" + ], + "dn": "cn=removeusers,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "useradmin" + ], + "permissions": [ + "delete" + ], + "type": "user" + }, + { + "attrs": [ + "givenName", + "sn", + "cn", + "displayName", + "title", + "initials", + "loginShell", + "gecos", + "homePhone", + "mobile", + "pager", + "facsimileTelephoneNumber", + "telephoneNumber", + "street", + "roomNumber", + "l", + "st", + "postalCode", + "manager", + "secretary", + "description", + "carLicense", + "labeledURI", + "inetUserHTTPURL", + "seeAlso", + "employeeType", + "businessCategory", + "ou", + "mepManagedEntry", + "objectclass" + ], + "cn": [ + "modifyusers" + ], + "description": [ + "Modify Users" + ], + "dn": "cn=modifyusers,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "useradmin" + ], + "permissions": [ + "write" + ], + "type": "user" + }, + { + "cn": [ + "addgroups" + ], + "description": [ + "Add Groups" + ], + "dn": "cn=addgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "groupadmin" + ], + "permissions": [ + "add" + ], + "type": "group" + }, + { + "cn": [ + "removegroups" + ], + "description": [ + "Remove Groups" + ], + "dn": "cn=removegroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "groupadmin" + ], + "permissions": [ + "delete" + ], + "type": "group" + }, + { + "attrs": [ + "cn", + "description", + "gidnumber", + "objectclass", + "mepManagedBy", + "ipaUniqueId" + ], + "cn": [ + "modifygroups" + ], + "description": [ + "Modify Groups" + ], + "dn": "cn=modifygroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "groupadmin" + ], + "permissions": [ + "write" + ], + "type": "group" + }, + { + "attrs": [ + "member" + ], + "cn": [ + "modifygroupmembership" + ], + "description": [ + "Modify Group membership" + ], + "dn": "cn=modifygroupmembership,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "groupadmin" + ], + "permissions": [ + "write" + ], + "type": "group" + }, + { + "cn": [ + "addhosts" + ], + "description": [ + "Add Hosts" + ], + "dn": "cn=addhosts,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostadmin" + ], + "permissions": [ + "add" + ], + "type": "host" + }, + { + "cn": [ + "removehosts" + ], + "description": [ + "Remove Hosts" + ], + "dn": "cn=removehosts,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostadmin" + ], + "permissions": [ + "delete" + ], + "type": "host" + }, + { + "attrs": [ + "description", + "l", + "nshostlocation", + "nshardwareplatform", + "nsosversion" + ], + "cn": [ + "modifyhosts" + ], + "description": [ + "Modify Hosts" + ], + "dn": "cn=modifyhosts,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostadmin" + ], + "permissions": [ + "write" + ], + "type": "host" + }, + { + "cn": [ + "addhostgroups" + ], + "description": [ + "Add Hostgroups" + ], + "dn": "cn=addhostgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostgroupadmin" + ], + "permissions": [ + "add" + ], + "type": "hostgroup" + }, + { + "cn": [ + "removehostgroups" + ], + "description": [ + "Remove Hostgroups" + ], + "dn": "cn=removehostgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostgroupadmin" + ], + "permissions": [ + "delete" + ], + "type": "hostgroup" + }, + { + "attrs": [ + "cn", + "description" + ], + "cn": [ + "modifyhostgroups" + ], + "description": [ + "Modify Hostgroups" + ], + "dn": "cn=modifyhostgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostgroupadmin" + ], + "permissions": [ + "write" + ], + "type": "hostgroup" + }, + { + "attrs": [ + "member" + ], + "cn": [ + "modifyhostgroupmembership" + ], + "description": [ + "Modify Hostgroup membership" + ], + "dn": "cn=modifyhostgroupmembership,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostgroupadmin" + ], + "permissions": [ + "write" + ], + "type": "hostgroup" + }, + { + "cn": [ + "addservices" + ], + "description": [ + "Add Services" + ], + "dn": "cn=addservices,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "serviceadmin" + ], + "permissions": [ + "add" + ], + "type": "service" + }, + { + "cn": [ + "removeservices" + ], + "description": [ + "Remove Services" + ], + "dn": "cn=removeservices,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "serviceadmin" + ], + "permissions": [ + "delete" + ], + "type": "service" + }, + { + "attrs": [ + "userCertificate" + ], + "cn": [ + "modifyservices" + ], + "description": [ + "Modify Services" + ], + "dn": "cn=modifyservices,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "serviceadmin" + ], + "permissions": [ + "write" + ], + "type": "service" + }, + { + "cn": [ + "addroles" + ], + "description": [ + "Add Roles" + ], + "dn": "cn=addroles,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "delegationadmin" + ], + "permissions": [ + "add" + ], + "subtree": "ldap:///cn=*,cn=roles,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "removeroles" + ], + "description": [ + "Remove Roles" + ], + "dn": "cn=removeroles,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "delegationadmin" + ], + "permissions": [ + "delete" + ], + "subtree": "ldap:///cn=*,cn=roles,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "cn", + "description" + ], + "cn": [ + "modifyroles" + ], + "description": [ + "Modify Roles" + ], + "dn": "cn=modifyroles,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "delegationadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=*,cn=roles,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "member" + ], + "cn": [ + "modifyrolemembership" + ], + "description": [ + "Modify Role Group membership" + ], + "dn": "cn=modifyrolemembership,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "delegationadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=*,cn=roles,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "member" + ], + "cn": [ + "modifyprivilegemembership" + ], + "description": [ + "Modify privilege membership" + ], + "dn": "cn=modifyprivilegemembership,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "delegationadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=*,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "addautomountmaps" + ], + "description": [ + "Add Automount maps" + ], + "dn": "cn=addautomountmaps,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "automountadmin" + ], + "permissions": [ + "add" + ], + "subtree": "ldap:///automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "removeautomountmaps" + ], + "description": [ + "Remove Automount maps" + ], + "dn": "cn=removeautomountmaps,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "automountadmin" + ], + "permissions": [ + "delete" + ], + "subtree": "ldap:///automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "addautomountkeys" + ], + "description": [ + "Add Automount keys" + ], + "dn": "cn=addautomountkeys,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "automountadmin" + ], + "permissions": [ + "add" + ], + "subtree": "ldap:///automountkey=*,automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "removeautomountkeys" + ], + "description": [ + "Remove Automount keys" + ], + "dn": "cn=removeautomountkeys,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "automountadmin" + ], + "permissions": [ + "delete" + ], + "subtree": "ldap:///automountkey=*,automountmapname=*,cn=automount,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "addnetgroups" + ], + "description": [ + "Add netgroups" + ], + "dn": "cn=addnetgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "netgroupadmin" + ], + "permissions": [ + "add" + ], + "type": "netgroup" + }, + { + "cn": [ + "removenetgroups" + ], + "description": [ + "Remove netgroups" + ], + "dn": "cn=removenetgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "netgroupadmin" + ], + "permissions": [ + "delete" + ], + "type": "netgroup" + }, + { + "attrs": [ + "description" + ], + "cn": [ + "modifynetgroups" + ], + "description": [ + "Modify netgroups" + ], + "dn": "cn=modifynetgroups,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "netgroupadmin" + ], + "permissions": [ + "write" + ], + "type": "netgroup" + }, + { + "attrs": [ + "memberhost", + "externalhost", + "memberuser", + "member" + ], + "cn": [ + "modifynetgroupmembership" + ], + "description": [ + "Modify netgroup membership" + ], + "dn": "cn=modifynetgroupmembership,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "netgroupadmin" + ], + "permissions": [ + "write" + ], + "type": "netgroup" + }, + { + "attrs": [ + "krbPrincipalKey", + "krbLastPwdChange" + ], + "cn": [ + "manage_host_keytab" + ], + "description": [ + "Manage host keytab" + ], + "dn": "cn=manage_host_keytab,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostadmin", + "enrollhost" + ], + "permissions": [ + "write" + ], + "type": "host" + }, + { + "attrs": [ + "krbPrincipalKey", + "krbLastPwdChange" + ], + "cn": [ + "manage_service_keytab" + ], + "description": [ + "Manage service keytab" + ], + "dn": "cn=manage_service_keytab,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "serviceadmin", + "admins" + ], + "permissions": [ + "write" + ], + "type": "service" + }, + { + "attrs": [ + "enrolledBy", + "objectClass" + ], + "cn": [ + "enroll_host" + ], + "description": [ + "Enroll a host" + ], + "dn": "cn=enroll_host,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "hostadmin", + "enrollhost" + ], + "permissions": [ + "write" + ], + "type": "host" + }, + { + "cn": [ + "managereplica" + ], + "description": [ + "Manage Replication Agreements" + ], + "dn": "cn=managereplica,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "replicaadmin" + ], + "memberindirect": [ + "uid=admin,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ] + }, + { + "cn": [ + "deletereplica" + ], + "description": [ + "Delete Replication Agreements" + ], + "dn": "cn=deletereplica,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "replicaadmin" + ], + "memberindirect": [ + "uid=admin,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "cn=admins,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ] + }, + { + "cn": [ + "addentitlements" + ], + "description": [ + "Add Entitlements" + ], + "dn": "cn=addentitlements,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "entitlementadmin" + ], + "permissions": [ + "add" + ], + "subtree": "ldap:///ipauniqueid=*,cn=entitlements,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "removeentitlements" + ], + "description": [ + "Remove Entitlements" + ], + "dn": "cn=removeentitlements,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "entitlementadmin" + ], + "permissions": [ + "delete" + ], + "subtree": "ldap:///ipauniqueid=*,cn=entitlements,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "userCertificate" + ], + "cn": [ + "modifyentitlements" + ], + "description": [ + "Modify Entitlements" + ], + "dn": "cn=modifyentitlements,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "entitlementadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///ipauniqueid=*,cn=entitlements,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "objectClass" + ], + "cn": [ + "retrieve_certs" + ], + "description": [ + "Retrieve Certificates from the CA" + ], + "dn": "cn=retrieve_certs,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "certadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=retrieve certificate,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "objectClass" + ], + "cn": [ + "request_certs" + ], + "description": [ + "Request Certificates from the CA" + ], + "dn": "cn=request_certs,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "certadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=request certificate,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "objectClass" + ], + "cn": [ + "request_cert_different_host" + ], + "description": [ + "Request Certificates from a different host" + ], + "dn": "cn=request_cert_different_host,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "certadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=request certificate different host,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "objectClass" + ], + "cn": [ + "certificate_status" + ], + "description": [ + "Get Certificates status from the CA" + ], + "dn": "cn=certificate_status,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "certadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=certificate status,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "objectClass" + ], + "cn": [ + "revoke_certificate" + ], + "description": [ + "Revoke Certificate" + ], + "dn": "cn=revoke_certificate,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "certadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=revoke certificate,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "attrs": [ + "objectClass" + ], + "cn": [ + "certificate_remove_hold" + ], + "description": [ + "Certificate Remove Hold" + ], + "dn": "cn=certificate_remove_hold,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "certadmin" + ], + "permissions": [ + "write" + ], + "subtree": "ldap:///cn=certificate remove hold,cn=virtual operations,cn=etc,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "update_dns" + ], + "description": [ + "DNS Servers Updates" + ], + "dn": "cn=update_dns,cn=permissions,cn=pbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_privilege": [ + "dnsadmin", + "dnsserver" + ], + "memberindirect": [ + "krbprincipalname=dns/ipa.ayoung.boston.devel.redhat.com@ayoung.boston.devel.redhat.com,cn=services,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ] + } + ], + "summary": "47 permissions matched", + "truncated": false + } +} diff --git a/install/ui/test/data/permission_show.json b/install/ui/test/data/permission_show.json new file mode 100644 index 000000000..d823061d5 --- /dev/null +++ b/install/ui/test/data/permission_show.json @@ -0,0 +1,41 @@ +{ + "error": null, + "id": 6, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "member": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "addusers" + ], + "description": [ + "Add Users" + ], + "dn": "cn=addusers,cn=permissions,cn=hbac,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member": [ + "cn=useradmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "objectclass": [ + "top", + "groupofnames" + ], + "permissions": [ + "add" + ], + "type": "user" + }, + "summary": null, + "value": "addusers" + } +} diff --git a/install/ui/test/data/privilege_find.json b/install/ui/test/data/privilege_find.json new file mode 100644 index 000000000..c48c4a0e8 --- /dev/null +++ b/install/ui/test/data/privilege_find.json @@ -0,0 +1,215 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 14, + "result": [ + { + "cn": [ + "useradmin" + ], + "description": [ + "User Administrators" + ], + "dn": "cn=useradmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addusers", + "change_password", + "add_user_to_default_group", + "removeusers", + "modifyusers" + ] + }, + { + "cn": [ + "groupadmin" + ], + "description": [ + "Group Administrators" + ], + "dn": "cn=groupadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addgroups", + "removegroups", + "modifygroups", + "modifygroupmembership" + ] + }, + { + "cn": [ + "hostadmin" + ], + "description": [ + "Host Administrators" + ], + "dn": "cn=hostadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addhosts", + "removehosts", + "modifyhosts", + "manage_host_keytab", + "enroll_host" + ] + }, + { + "cn": [ + "hostgroupadmin" + ], + "description": [ + "Host Group Administrators" + ], + "dn": "cn=hostgroupadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addhostgroups", + "removehostgroups", + "modifyhostgroups", + "modifyhostgroupmembership" + ] + }, + { + "cn": [ + "delegationadmin" + ], + "description": [ + "Role administration" + ], + "dn": "cn=delegationadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addroles", + "removeroles", + "modifyroles", + "modifyrolemembership", + "modifyprivilegemembership" + ] + }, + { + "cn": [ + "serviceadmin" + ], + "description": [ + "Service Administrators" + ], + "dn": "cn=serviceadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addservices", + "removeservices", + "modifyservices", + "manage_service_keytab" + ] + }, + { + "cn": [ + "automountadmin" + ], + "description": [ + "Automount Administrators" + ], + "dn": "cn=automountadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addautomountmaps", + "removeautomountmaps", + "addautomountkeys", + "removeautomountkeys" + ] + }, + { + "cn": [ + "netgroupadmin" + ], + "description": [ + "Netgroups Administrators" + ], + "dn": "cn=netgroupadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addnetgroups", + "removenetgroups", + "modifynetgroups", + "modifynetgroupmembership" + ] + }, + { + "cn": [ + "certadmin" + ], + "description": [ + "Certificate Administrators" + ], + "dn": "cn=certadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "retrieve_certs", + "request_certs", + "request_cert_different_host", + "certificate_status", + "revoke_certificate", + "certificate_remove_hold" + ] + }, + { + "cn": [ + "replicaadmin" + ], + "description": [ + "Replication Administrators" + ], + "dn": "cn=replicaadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberindirect": [ + "uid=admin,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "memberof_permission": [ + "managereplica", + "deletereplica" + ] + }, + { + "cn": [ + "enrollhost" + ], + "description": [ + "Host Enrollment" + ], + "dn": "cn=enrollhost,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "manage_host_keytab", + "enroll_host" + ] + }, + { + "cn": [ + "entitlementadmin" + ], + "description": [ + "Entitlement Administrators" + ], + "dn": "cn=entitlementadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberof_permission": [ + "addentitlements", + "removeentitlements", + "modifyentitlements" + ] + }, + { + "cn": [ + "dnsadmin" + ], + "description": [ + "DNS Administrators" + ], + "dn": "cn=dnsadmin,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + }, + { + "cn": [ + "dnsserver" + ], + "description": [ + "DNS Servers" + ], + "dn": "cn=dnsserver,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberindirect": [ + "krbprincipalname=dns/ipa.ayoung.boston.devel.redhat.com@ayoung.boston.devel.redhat.com,cn=services,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ] + } + ], + "summary": "14 privileges matched", + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/privilege_show.json b/install/ui/test/data/privilege_show.json new file mode 100644 index 000000000..7d9328aa0 --- /dev/null +++ b/install/ui/test/data/privilege_show.json @@ -0,0 +1,39 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "member": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "dnsserver" + ], + "description": [ + "DNS Servers" + ], + "dn": "cn=dnsserver,cn=privileges,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "memberindirect": [ + "krbprincipalname=dns/ipa.ayoung.boston.devel.redhat.com@ayoung.boston.devel.redhat.com,cn=services,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "objectclass": [ + "top", + "groupofnames", + "nestedgroup" + ] + }, + "summary": null, + "value": "dnsserver" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/pwpolicy_find.json b/install/ui/test/data/pwpolicy_find.json new file mode 100644 index 000000000..629ebfc90 --- /dev/null +++ b/install/ui/test/data/pwpolicy_find.json @@ -0,0 +1,72 @@ +{ + "error": null, + "id": 6, + "result": { + "count": 3, + "result": [ + { + "cn": "GLOBAL", + "dn": "cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "krbmaxpwdlife": [ + "90" + ], + "krbminpwdlife": [ + "1" + ], + "krbpwdhistorylength": [ + "0" + ], + "krbpwdmindiffchars": [ + "0" + ], + "krbpwdminlength": [ + "8" + ] + }, + { + "cn": [ + "testgroup12" + ], + "cospriority": [ + "1" + ], + "dn": "cn=testgroup12,cn=ayoung.boston.devel.redhat.com,cn=kerberos,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "krbmaxpwdlife": [ + "40" + ], + "krbminpwdlife": [ + "50" + ], + "krbpwdhistorylength": [ + "5" + ], + "krbpwdminlength": [ + "6" + ] + }, + { + "cn": [ + "testgroup22" + ], + "cospriority": [ + "2" + ], + "dn": "cn=testgroup22,cn=ayoung.boston.devel.redhat.com,cn=kerberos,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "krbmaxpwdlife": [ + "60" + ], + "krbminpwdlife": [ + "40" + ], + "krbpwdhistorylength": [ + "8" + ], + "krbpwdminlength": [ + "9" + ] + } + ], + "summary": null, + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/pwpolicy_mod.json b/install/ui/test/data/pwpolicy_mod.json new file mode 100644 index 000000000..44d589519 --- /dev/null +++ b/install/ui/test/data/pwpolicy_mod.json @@ -0,0 +1,56 @@ +{ + "error": null, + "id": 3, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "krbmaxpwdlife": "rscwo", + "krbminpwdlife": "rscwo", + "krbpwdfailurecountinterval": "rscwo", + "krbpwdhistorylength": "rscwo", + "krbpwdlockoutduration": "rscwo", + "krbpwdmaxfailure": "rscwo", + "krbpwdmindiffchars": "rscwo", + "krbpwdminlength": "rscwo", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "global_policy" + ], + "krbmaxpwdlife": [ + "90" + ], + "krbminpwdlife": [ + "1" + ], + "krbpwdfailurecountinterval": [ + "60" + ], + "krbpwdhistorylength": [ + "0" + ], + "krbpwdlockoutduration": [ + "10" + ], + "krbpwdmaxfailure": [ + "3" + ], + "krbpwdmindiffchars": [ + "0" + ], + "krbpwdminlength": [ + "8" + ], + "objectclass": [ + "top", + "nsContainer", + "krbPwdPolicy" + ] + }, + "summary": null, + "value": "global_policy" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/pwpolicy_show.json b/install/ui/test/data/pwpolicy_show.json new file mode 100644 index 000000000..e91f52efa --- /dev/null +++ b/install/ui/test/data/pwpolicy_show.json @@ -0,0 +1,57 @@ +{ + "error": null, + "id": 8, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "krbmaxpwdlife": "rscwo", + "krbminpwdlife": "rscwo", + "krbpwdfailurecountinterval": "rscwo", + "krbpwdhistorylength": "rscwo", + "krbpwdlockoutduration": "rscwo", + "krbpwdmaxfailure": "rscwo", + "krbpwdmindiffchars": "rscwo", + "krbpwdminlength": "rscwo", + "nsaccountlock": "rscwo", + "objectclass": "rscwo" + }, + "cn": [ + "global_policy" + ], + "dn": "cn=global_policy,cn=ipa14.ayoung.boston.devel.redhat.com,cn=kerberos,dc=ipa14,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "krbmaxpwdlife": [ + "90" + ], + "krbminpwdlife": [ + "1" + ], + "krbpwdfailurecountinterval": [ + "60" + ], + "krbpwdhistorylength": [ + "0" + ], + "krbpwdlockoutduration": [ + "10" + ], + "krbpwdmaxfailure": [ + "3" + ], + "krbpwdmindiffchars": [ + "0" + ], + "krbpwdminlength": [ + "8" + ], + "objectclass": [ + "top", + "nsContainer", + "krbPwdPolicy" + ] + }, + "summary": null, + "value": "global_policy" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/role_find.json b/install/ui/test/data/role_find.json new file mode 100644 index 000000000..af013803c --- /dev/null +++ b/install/ui/test/data/role_find.json @@ -0,0 +1,20 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 1, + "result": [ + { + "cn": [ + "helpdesk" + ], + "description": [ + "Helpdesk" + ], + "dn": "cn=helpdesk,cn=roles,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + } + ], + "summary": "1 role matched", + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/role_show.json b/install/ui/test/data/role_show.json new file mode 100644 index 000000000..9ad8dd689 --- /dev/null +++ b/install/ui/test/data/role_show.json @@ -0,0 +1,36 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "member": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "helpdesk" + ], + "description": [ + "Helpdesk" + ], + "dn": "cn=helpdesk,cn=roles,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "objectclass": [ + "top", + "groupofnames", + "nestedgroup" + ] + }, + "summary": null, + "value": "helpdesk" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/rolegroup_add.json b/install/ui/test/data/rolegroup_add.json new file mode 100644 index 000000000..54e2c2832 --- /dev/null +++ b/install/ui/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/ui/test/data/rolegroup_add_member.json b/install/ui/test/data/rolegroup_add_member.json new file mode 100644 index 000000000..e68ecc28b --- /dev/null +++ b/install/ui/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/ui/test/data/rolegroup_del.json b/install/ui/test/data/rolegroup_del.json new file mode 100644 index 000000000..8af1e6306 --- /dev/null +++ b/install/ui/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/ui/test/data/rolegroup_find.json b/install/ui/test/data/rolegroup_find.json new file mode 100644 index 000000000..8ed2a76b7 --- /dev/null +++ b/install/ui/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/ui/test/data/rolegroup_remove_member.json b/install/ui/test/data/rolegroup_remove_member.json new file mode 100644 index 000000000..d42bb6016 --- /dev/null +++ b/install/ui/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/ui/test/data/rolegroup_show.json b/install/ui/test/data/rolegroup_show.json new file mode 100644 index 000000000..4652fb2cd --- /dev/null +++ b/install/ui/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/ui/test/data/selfservice_find.json b/install/ui/test/data/selfservice_find.json new file mode 100644 index 000000000..91db6e40b --- /dev/null +++ b/install/ui/test/data/selfservice_find.json @@ -0,0 +1,24 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 1, + "result": [ + { + "aciname": "Self can write own password", + "attrs": [ + "userPassword", + "krbPrincipalKey", + "sambaLMPassword", + "sambaNTPassword" + ], + "permissions": [ + "write" + ], + "selfaci": true + } + ], + "summary": "1 selfservice matched", + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/selfservice_show.json b/install/ui/test/data/selfservice_show.json new file mode 100644 index 000000000..358e65924 --- /dev/null +++ b/install/ui/test/data/selfservice_show.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "aciname": "Self can write own password", + "attrs": [ + "userPassword", + "krbPrincipalKey", + "sambaLMPassword", + "sambaNTPassword" + ], + "permissions": [ + "write" + ], + "selfaci": true + }, + "summary": null, + "value": "Self can write own password" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/service_add.json b/install/ui/test/data/service_add.json new file mode 100644 index 000000000..4275d9bba --- /dev/null +++ b/install/ui/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/ui/test/data/service_add_host.json b/install/ui/test/data/service_add_host.json new file mode 100644 index 000000000..cb199e310 --- /dev/null +++ b/install/ui/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/ui/test/data/service_del.json b/install/ui/test/data/service_del.json new file mode 100644 index 000000000..053b0ad99 --- /dev/null +++ b/install/ui/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/ui/test/data/service_disable.json b/install/ui/test/data/service_disable.json new file mode 100644 index 000000000..d62c05472 --- /dev/null +++ b/install/ui/test/data/service_disable.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Removed kerberos key from \"test/dev.example.com@DEV.EXAMPLE.COM\"", + "value": "test/dev.example.com@DEV.EXAMPLE.COM" + } +} diff --git a/install/ui/test/data/service_find.json b/install/ui/test/data/service_find.json new file mode 100644 index 000000000..b71ea9e31 --- /dev/null +++ b/install/ui/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/ui/test/data/service_managedby_host.json b/install/ui/test/data/service_managedby_host.json new file mode 100644 index 000000000..181fc5b96 --- /dev/null +++ b/install/ui/test/data/service_managedby_host.json @@ -0,0 +1,110 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 1, + "results": [ + { + "error": null, + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "enrolledby": "rsc", + "fqdn": "rscwo", + "ipaclientversion": "rscwo", + "ipauniqueid": "rscwo", + "krbcanonicalname": "rscwo", + "krbextradata": "rscwo", + "krblastfailedauth": "rscwo", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rscwo", + "krbloginfailedcount": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbobjectreferences": "rscwo", + "krbpasswordexpiration": "rscwo", + "krbprincipalaliases": "rscwo", + "krbprincipalexpiration": "rscwo", + "krbprincipalkey": "wo", + "krbprincipalname": "rscwo", + "krbprincipaltype": "rscwo", + "krbpwdhistory": "rscwo", + "krbpwdpolicyreference": "rscwo", + "krbticketflags": "rscwo", + "krbticketpolicyreference": "rscwo", + "krbupenabled": "rscwo", + "l": "rscwo", + "managedby": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "nshardwareplatform": "rscwo", + "nshostlocation": "rscwo", + "nsosversion": "rscwo", + "objectclass": "rscwo", + "serverhostname": "rsc", + "usercertificate": "rscwo", + "userpassword": "wo" + }, + "cn": [ + "dev.example.com" + ], + "description": [ + "Development" + ], + "dn": "fqdn=dev.example.com,cn=computers,cn=accounts,dc=dev,dc=example,dc=com", + "fqdn": [ + "dev.example.com" + ], + "has_keytab": true, + "ipauniqueid": [ + "0568a298-f46d-11df-9ef8-00163e72f2d9" + ], + "krbextradata": [ + { + "__base64__": "AAKTZudMYWRtaW4vYWRtaW5AREVWLkVYQU1QTEUuQ09NAA==" + }, + { + "__base64__": "AAgBAA==" + } + ], + "krblastpwdchange": [ + "20101120061131Z" + ], + "krbpasswordexpiration": [ + "19700101000000Z" + ], + "krbprincipalname": [ + "host/dev.example.com@DEV.EXAMPLE.COM" + ], + "krbticketflags": [ + "0" + ], + "managedby_host": [ + "dev.example.com" + ], + "memberof_hostgroup": [ + "test" + ], + "objectclass": [ + "top", + "ipaobject", + "nshost", + "ipahost", + "ipaservice", + "pkiuser", + "krbprincipalaux", + "krbprincipal", + "krbticketpolicyaux" + ], + "serverhostname": [ + "dev" + ] + }, + "summary": null, + "value": "dev.example.com" + } + ] + } +} diff --git a/install/ui/test/data/service_mod.json b/install/ui/test/data/service_mod.json new file mode 100644 index 000000000..f56186466 --- /dev/null +++ b/install/ui/test/data/service_mod.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ], + "usercertificate": [ + { + "__base64__": "MIICAjCCAWugAwIBAgICBAswDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMTAwNzIzMzk0NFoXDTE1MTAwNzIzMzk0NFowKDEMMAoGA1UECgwDSVBBMRgwFgYDVQQDDA9kZXYuZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOTXyj8grVB7Rj95RFawgdwn9OYZ03LWHZ+HMYggu2/xCCrUrdThP14YBlVqZumjVJSclj6T4ACjjdPJq9JTTmx7gMizDTReus7IPlS6fCxb5v5whQJZsEksXL04OxUMl25euPRFkYcTK1rdW47+AkG10j1qeNW+B6CpdQGR6eM/AgMBAAGjOjA4MBEGCWCGSAGG+EIBAQQEAwIGQDATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEASIhq723VL5xP0q51MYXFlGU1boD7pPD1pIQspD/MjCIEupcbH2kAo4wf+EiKsXR0rs+WZkaSgvFqaM4OQ2kWSFTiqmFXFDBEi6EFr68yLg7IpQpNTzVBXERd8B4GwNL9wrRw60jPXlUK29DPBsdGq8fDgX18l39wKkWXv7p1to4=" + } + ] + }, + "summary": "Modified service \"test/dev.example.com@DEV.EXAMPLE.COM\"", + "value": "test/dev.example.com@DEV.EXAMPLE.COM" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/service_remove_host.sh b/install/ui/test/data/service_remove_host.sh new file mode 100644 index 000000000..15234f4d0 --- /dev/null +++ b/install/ui/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/ui/test/data/service_show.json b/install/ui/test/data/service_show.json new file mode 100644 index 000000000..9cb11d535 --- /dev/null +++ b/install/ui/test/data/service_show.json @@ -0,0 +1,74 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "ipauniqueid": "rsc", + "krbcanonicalname": "rscwo", + "krbextradata": "rscwo", + "krblastfailedauth": "rscwo", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rscwo", + "krbloginfailedcount": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbobjectreferences": "rscwo", + "krbpasswordexpiration": "rscwo", + "krbprincipalaliases": "rscwo", + "krbprincipalexpiration": "rscwo", + "krbprincipalkey": "wo", + "krbprincipalname": "rscwo", + "krbprincipaltype": "rscwo", + "krbpwdhistory": "rscwo", + "krbpwdpolicyreference": "rscwo", + "krbticketflags": "rscwo", + "krbticketpolicyreference": "rscwo", + "krbupenabled": "rscwo", + "managedby": "rscwo", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "objectclass": "rscwo", + "usercertificate": "rscwo" + }, + "dn": "krbprincipalname=test/dev.example.com@dev.example.com,cn=services,cn=accounts,dc=dev,dc=example,dc=com", + "has_keytab": true, + "issuer": "CN=IPA Test Certificate Authority", + "ipauniqueid": [ + "c0298f70-f396-11df-a2aa-00163e72f2d9" + ], + "krblastpwdchange": [ + "20101119101837Z" + ], + "krbprincipalname": [ + "test/dev.example.com@DEV.EXAMPLE.COM" + ], + "managedby_host": [ + "dev.example.com" + ], + "md5_fingerprint": "08:86:a9:f9:87:af:0d:d7:42:01:e0:5f:12:9b:32:7f", + "serial_number": "1", + "sha1_fingerprint": "b8:4c:4b:79:4f:13:03:79:47:08:fa:6b:52:63:3d:f9:15:8e:7e:dc", + "subject": "CN=dev.example.com,O=IPA", + "usercertificate": [ + { + "__base64__": "MIICAjCCAWugAwIBAgICBAswDQYJKoZIhvcNAQEFBQAwKTEnMCUGA1UEAxMeSVBBIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTEwMTAwNzIzMzk0NFoXDTE1MTAwNzIzMzk0NFowKDEMMAoGA1UECgwDSVBBMRgwFgYDVQQDDA9kZXYuZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOTXyj8grVB7Rj95RFawgdwn9OYZ03LWHZ+HMYggu2/xCCrUrdThP14YBlVqZumjVJSclj6T4ACjjdPJq9JTTmx7gMizDTReus7IPlS6fCxb5v5whQJZsEksXL04OxUMl25euPRFkYcTK1rdW47+AkG10j1qeNW+B6CpdQGR6eM/AgMBAAGjOjA4MBEGCWCGSAGG+EIBAQQEAwIGQDATBgNVHSUEDDAKBggrBgEFBQcDATAOBgNVHQ8BAf8EBAMCBPAwDQYJKoZIhvcNAQEFBQADgYEASIhq723VL5xP0q51MYXFlGU1boD7pPD1pIQspD/MjCIEupcbH2kAo4wf+EiKsXR0rs+WZkaSgvFqaM4OQ2kWSFTiqmFXFDBEi6EFr68yLg7IpQpNTzVBXERd8B4GwNL9wrRw60jPXlUK29DPBsdGq8fDgX18l39wKkWXv7p1to4=" + } + ], + "valid_not_after": "Tue Oct 13 01:59:32 2015 UTC", + "valid_not_before": "Wed Oct 13 01:59:32 2010 UTC", + "objectclass": [ + "krbprincipal", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "ipaservice", + "pkiuser", + "top" + ] + }, + "summary": null, + "value": "test/dev.example.com@DEV.EXAMPLE.COM" + } +} diff --git a/install/ui/test/data/sudocmd_add.json b/install/ui/test/data/sudocmd_add.json new file mode 100644 index 000000000..6fb4a5fc1 --- /dev/null +++ b/install/ui/test/data/sudocmd_add.json @@ -0,0 +1,21 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "dn": "sudocmd=/usr/bin/less,cn=sudocmds,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "09e4ab26-f456-11df-bb95-00163e72f2d9" + ], + "objectclass": [ + "ipaobject", + "ipasudocmd" + ], + "sudocmd": [ + "/usr/bin/less" + ] + }, + "summary": "Added sudo command \"/usr/bin/less\"", + "value": "/usr/bin/less" + } +} diff --git a/install/ui/test/data/sudocmd_del.json b/install/ui/test/data/sudocmd_del.json new file mode 100644 index 000000000..d6bc5ad00 --- /dev/null +++ b/install/ui/test/data/sudocmd_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted sudo command \"/usr/bin/less\"", + "value": "/usr/bin/less" + } +} diff --git a/install/ui/test/data/sudocmd_find.json b/install/ui/test/data/sudocmd_find.json new file mode 100644 index 000000000..f7f5a23ef --- /dev/null +++ b/install/ui/test/data/sudocmd_find.json @@ -0,0 +1,23 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "dn": "sudocmd=/usr/bin/more,cn=sudocmds,cn=sudo,dc=dev,dc=example,dc=com", + "sudocmd": [ + "/usr/bin/more" + ] + }, + { + "dn": "sudocmd=/usr/bin/less,cn=sudocmds,cn=sudo,dc=dev,dc=example,dc=com", + "sudocmd": [ + "/usr/bin/less" + ] + } + ], + "summary": "2 sudo command matched", + "truncated": false + } +} diff --git a/install/ui/test/data/sudocmd_memberof_add.json b/install/ui/test/data/sudocmd_memberof_add.json new file mode 100644 index 000000000..fc45ef4e2 --- /dev/null +++ b/install/ui/test/data/sudocmd_memberof_add.json @@ -0,0 +1,53 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "completed": 1, + "error": null, + "failed": { + "member": { + "sudocmd": [], + "sudocmdgroup": [] + } + }, + "result": { + "cn": [ + "group1" + ], + "description": [ + "Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=ipa", + "member_sudocmd": [ + "/usr/bin/less" + ] + } + }, + { + "completed": 1, + "error": null, + "failed": { + "member": { + "sudocmd": [], + "sudocmdgroup": [] + } + }, + "result": { + "cn": [ + "group2" + ], + "description": [ + "Group 2" + ], + "dn": "cn=group2,cn=sudocmdgroups,cn=sudo,dc=ipa", + "member_sudocmd": [ + "/usr/bin/more" + ] + } + } + ] + } +} diff --git a/install/ui/test/data/sudocmd_memberof_remove.json b/install/ui/test/data/sudocmd_memberof_remove.json new file mode 100644 index 000000000..c5e031b86 --- /dev/null +++ b/install/ui/test/data/sudocmd_memberof_remove.json @@ -0,0 +1,50 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "completed": 1, + "error": null, + "failed": { + "member": { + "sudocmd": [], + "sudocmdgroup": [] + } + }, + "result": { + "cn": [ + "group1" + ], + "description": [ + "Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=ipa" + } + }, + { + "completed": 1, + "error": null, + "failed": { + "member": { + "sudocmd": [], + "sudocmdgroup": [] + } + }, + "result": { + "cn": [ + "group2" + ], + "description": [ + "Group 2" + ], + "dn": "cn=group2,cn=sudocmdgroups,cn=sudo,dc=ipa", + "memberindirect_sudocmd": [ + "/usr/bin/more" + ] + } + } + ] + } +} diff --git a/install/ui/test/data/sudocmd_memberof_show.json b/install/ui/test/data/sudocmd_memberof_show.json new file mode 100644 index 000000000..279dc6c96 --- /dev/null +++ b/install/ui/test/data/sudocmd_memberof_show.json @@ -0,0 +1,61 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "error": null, + "result": { + "cn": [ + "group1" + ], + "description": [ + "Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=ipa", + "ipauniqueid": [ + "fc775d2e-1d56-11e0-b7cd-00163e2fe6de" + ], + "member_sudocmd": [ + "/usr/bin/less" + ], + "objectclass": [ + "ipaobject", + "ipasudocmdgrp", + "groupOfNames", + "top" + ] + }, + "summary": null, + "value": "group1" + }, + { + "error": null, + "result": { + "cn": [ + "group2" + ], + "description": [ + "Group 2" + ], + "dn": "cn=group2,cn=sudocmdgroups,cn=sudo,dc=ipa", + "ipauniqueid": [ + "b90c1930-1d5b-11e0-ac89-00163e2fe6de" + ], + "member_sudocmd": [ + "/usr/bin/more" + ], + "objectclass": [ + "ipaobject", + "ipasudocmdgrp", + "groupOfNames", + "top" + ] + }, + "summary": null, + "value": "group2" + } + ] + } +} diff --git a/install/ui/test/data/sudocmd_mod.json b/install/ui/test/data/sudocmd_mod.json new file mode 100644 index 000000000..82919cd2d --- /dev/null +++ b/install/ui/test/data/sudocmd_mod.json @@ -0,0 +1,31 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "sudocmd": "rscwo" + }, + "description": [ + "opposite of more" + ], + "ipauniqueid": [ + "06708d0e-f454-11df-9273-00163e72f2d9" + ], + "objectclass": [ + "ipaobject", + "ipasudocmd" + ], + "sudocmd": [ + "/usr/bin/less" + ] + }, + "summary": "Modified sudo command \"/usr/bin/less\"", + "value": "/usr/bin/less" + } +} diff --git a/install/ui/test/data/sudocmd_show.json b/install/ui/test/data/sudocmd_show.json new file mode 100644 index 000000000..b27c832f3 --- /dev/null +++ b/install/ui/test/data/sudocmd_show.json @@ -0,0 +1,33 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "memberof": "rsc", + "nsaccountlock": "rscwo", + "sudocmd": "rscwo" + }, + "dn": "sudocmd=/usr/bin/less,cn=sudocmds,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "06708d0e-f454-11df-9273-00163e72f2d9" + ], + "memberof": [ + "cn=group1,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com", + "cn=group2,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "ipasudocmd" + ], + "sudocmd": [ + "/usr/bin/less" + ] + }, + "summary": null, + "value": "/usr/bin/less" + } +} diff --git a/install/ui/test/data/sudocmdgroup_add.json b/install/ui/test/data/sudocmdgroup_add.json new file mode 100644 index 000000000..ce389f564 --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_add.json @@ -0,0 +1,26 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "group1" + ], + "description": [ + "Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "1a8f4852-f459-11df-815c-00163e72f2d9" + ], + "objectclass": [ + "ipaobject", + "ipasudocmdgrp", + "groupOfNames", + "top" + ] + }, + "summary": "Added sudo command group \"group1\"", + "value": "group1" + } +} diff --git a/install/ui/test/data/sudocmdgroup_add_member.json b/install/ui/test/data/sudocmdgroup_add_member.json new file mode 100644 index 000000000..254746e65 --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_add_member.json @@ -0,0 +1,26 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 2, + "failed": { + "member": { + "sudocmd": [], + "sudocmdgroup": [] + } + }, + "result": { + "cn": [ + "group1" + ], + "description": [ + "SUDO Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com", + "member_sudocmd": [ + "/usr/bin/more", + "/usr/bin/less" + ] + } + } +} diff --git a/install/ui/test/data/sudocmdgroup_del.json b/install/ui/test/data/sudocmdgroup_del.json new file mode 100644 index 000000000..24c7ab692 --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": "Deleted sudo command group \"group1\"", + "value": "group1" + } +} diff --git a/install/ui/test/data/sudocmdgroup_find.json b/install/ui/test/data/sudocmdgroup_find.json new file mode 100644 index 000000000..d640e35bd --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_find.json @@ -0,0 +1,33 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "result": [ + { + "cn": [ + "group1" + ], + "description": [ + "Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com", + "member_sudocmd": [ + "/usr/bin/more", + "/usr/bin/less" + ] + }, + { + "cn": [ + "group2" + ], + "description": [ + "Group 2" + ], + "dn": "cn=group2,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com" + } + ], + "summary": "2 sudo command groups matched", + "truncated": false + } +} diff --git a/install/ui/test/data/sudocmdgroup_member_sudocmd.json b/install/ui/test/data/sudocmdgroup_member_sudocmd.json new file mode 100644 index 000000000..7871a4684 --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_member_sudocmd.json @@ -0,0 +1,57 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "error": null, + "result": { + "description": [ + "more" + ], + "dn": "sudocmd=/usr/bin/more,cn=sudocmds,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "a9138c9a-fc0c-11df-8584-00163e72f2d9" + ], + "memberof": [ + "cn=test,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "ipasudocmd" + ], + "sudocmd": [ + "/usr/bin/more" + ] + }, + "summary": null, + "value": "/usr/bin/more" + }, + { + "error": null, + "result": { + "description": [ + "less" + ], + "dn": "sudocmd=/usr/bin/less,cn=sudocmds,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "44ce29ee-fc38-11df-b995-00163e72f2d9" + ], + "memberof": [ + "cn=test,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com" + ], + "objectclass": [ + "ipaobject", + "ipasudocmd" + ], + "sudocmd": [ + "/usr/bin/less" + ] + }, + "summary": null, + "value": "/usr/bin/less" + } + ] + } +} diff --git a/install/ui/test/data/sudocmdgroup_mod.json b/install/ui/test/data/sudocmdgroup_mod.json new file mode 100644 index 000000000..d0eb3226b --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_mod.json @@ -0,0 +1,39 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "member": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "group1" + ], + "description": [ + "SUDO Group 1" + ], + "ipauniqueid": [ + "1a8f4852-f459-11df-815c-00163e72f2d9" + ], + "objectclass": [ + "ipaobject", + "ipasudocmdgrp", + "groupOfNames", + "top" + ] + }, + "summary": "Modified sudo command group \"group1\"", + "value": "group1" + } +} diff --git a/install/ui/test/data/sudocmdgroup_remove_member.json b/install/ui/test/data/sudocmdgroup_remove_member.json new file mode 100644 index 000000000..22353c314 --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_remove_member.json @@ -0,0 +1,22 @@ +{ + "error": null, + "id": 0, + "result": { + "completed": 2, + "failed": { + "member": { + "sudocmd": [], + "sudocmdgroup": [] + } + }, + "result": { + "cn": [ + "group1" + ], + "description": [ + "SUDO Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com" + } + } +} diff --git a/install/ui/test/data/sudocmdgroup_show.json b/install/ui/test/data/sudocmdgroup_show.json new file mode 100644 index 000000000..1478ba265 --- /dev/null +++ b/install/ui/test/data/sudocmdgroup_show.json @@ -0,0 +1,44 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "businesscategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "ipauniqueid": "rsc", + "member": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "owner": "rscwo", + "seealso": "rscwo" + }, + "cn": [ + "group1" + ], + "description": [ + "Group 1" + ], + "dn": "cn=group1,cn=sudocmdgroups,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "d99989a6-f459-11df-9273-00163e72f2d9" + ], + "member_sudocmd": [ + "/usr/bin/more", + "/usr/bin/less" + ], + "objectclass": [ + "ipaobject", + "ipasudocmdgrp", + "groupOfNames", + "top" + ] + }, + "summary": null, + "value": "group1" + } +} diff --git a/install/ui/test/data/sudorule_add.json b/install/ui/test/data/sudorule_add.json new file mode 100644 index 000000000..396b4935c --- /dev/null +++ b/install/ui/test/data/sudorule_add.json @@ -0,0 +1,24 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "cn": [ + "test" + ], + "description": [ + "test" + ], + "dn": "ipauniqueid=94ef3550-f443-11df-a2aa-00163e72f2d9,cn=sudorules,cn=sudo,dc=dev,dc=example,dc=com", + "ipauniqueid": [ + "94ef3550-f443-11df-a2aa-00163e72f2d9" + ], + "objectclass": [ + "ipaassociation", + "ipasudorule" + ] + }, + "summary": "Added sudo rule \"test\"", + "value": "test" + } +} diff --git a/install/ui/test/data/sudorule_del.json b/install/ui/test/data/sudorule_del.json new file mode 100644 index 000000000..c30979892 --- /dev/null +++ b/install/ui/test/data/sudorule_del.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 0, + "result": { + "result": true, + "summary": null, + "value": "test" + } +} diff --git a/install/ui/test/data/sudorule_find.json b/install/ui/test/data/sudorule_find.json new file mode 100644 index 000000000..a843b2a5b --- /dev/null +++ b/install/ui/test/data/sudorule_find.json @@ -0,0 +1,17 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 1, + "result": [ + { + "cn": [ + "test" + ], + "dn": "ipauniqueid=4fc57a02-f23311df-b268e50e-a3b3ef71,cn=sudorules,cn=sudo,dc=dev,dc=example,dc=com" + } + ], + "summary": null, + "truncated": false + } +} diff --git a/install/ui/test/data/sudorule_mod.json b/install/ui/test/data/sudorule_mod.json new file mode 100644 index 000000000..7785f5f5e --- /dev/null +++ b/install/ui/test/data/sudorule_mod.json @@ -0,0 +1,51 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cmdcategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "externalhost": "rscwo", + "externaluser": "rscwo", + "hostcategory": "rscwo", + "hostmask": "rscwo", + "ipaenabledflag": "rscwo", + "ipasudoopt": "rscwo", + "ipasudorunas": "rscwo", + "ipasudorunasextgroup": "rscwo", + "ipasudorunasextuser": "rscwo", + "ipasudorunasgroup": "rscwo", + "ipasudorunasgroupcategory": "rscwo", + "ipasudorunasusercategory": "rscwo", + "ipauniqueid": "rsc", + "memberallowcmd": "rscwo", + "memberdenycmd": "rscwo", + "memberhost": "rscwo", + "memberuser": "rscwo", + "nsaccountlock": "rscwo", + "usercategory": "rscwo" + }, + "cmdcategory": [ + "all" + ], + "cn": [ + "test" + ], + "description": [ + "Test Rule" + ], + "ipauniqueid": [ + "94ef3550-f443-11df-a2aa-00163e72f2d9" + ], + "objectclass": [ + "ipaassociation", + "ipasudorule" + ] + }, + "summary": null, + "value": "test" + } +} diff --git a/install/ui/test/data/sudorule_show.json b/install/ui/test/data/sudorule_show.json new file mode 100644 index 000000000..51f83af70 --- /dev/null +++ b/install/ui/test/data/sudorule_show.json @@ -0,0 +1,84 @@ +{ + "error": null, + "id": 0, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "cmdcategory": "rscwo", + "cn": "rscwo", + "description": "rscwo", + "externalhost": "rscwo", + "externaluser": "rscwo", + "hostcategory": "rscwo", + "hostmask": "rscwo", + "ipaenabledflag": "rscwo", + "ipasudoopt": "rscwo", + "ipasudorunas": "rscwo", + "ipasudorunasextgroup": "rscwo", + "ipasudorunasextuser": "rscwo", + "ipasudorunasgroup": "rscwo", + "ipasudorunasgroupcategory": "rscwo", + "ipasudorunasusercategory": "rscwo", + "ipauniqueid": "rsc", + "memberallowcmd": "rscwo", + "memberdenycmd": "rscwo", + "memberhost": "rscwo", + "memberuser": "rscwo", + "nsaccountlock": "rscwo", + "usercategory": "rscwo" + }, + "cn": [ + "test" + ], + "dn": "ipauniqueid=4fc57a02-f23311df-b268e50e-a3b3ef71,cn=sudorules,cn=sudo,dc=dev,dc=example,dc=com", + "externalhost": [ + "external.example.com" + ], + "externaluser": [ + "external" + ], + "ipasudorunas_user": [ + "admin" + ], + "ipasudorunasgroup_group": [ + "admins" + ], + "ipauniqueid": [ + "4fc57a02-f23311df-b268e50e-a3b3ef71" + ], + "memberallowcmd_sudocmd": [ + "/usr/bin/less" + ], + "memberallowcmd_sudocmdgroup": [ + "group1" + ], + "memberdenycmd_sudocmd": [ + "/usr/bin/more" + ], + "memberdenycmd_sudocmdgroup": [ + "group1", + "group2" + ], + "memberhost_host": [ + "dev.example.com" + ], + "memberhost_hostgroup": [ + "production", + "staging" + ], + "memberuser_group": [ + "editors" + ], + "memberuser_user": [ + "test" + ], + "objectclass": [ + "ipaassociation", + "ipasudorule" + ] + }, + "summary": null, + "value": "test" + } +} diff --git a/install/ui/test/data/taskgroup_find.json b/install/ui/test/data/taskgroup_find.json new file mode 100644 index 000000000..fa5c46250 --- /dev/null +++ b/install/ui/test/data/taskgroup_find.json @@ -0,0 +1,554 @@ +{ + "error": null, + "id": 6, + "result": { + "count": 45, + "result": [ + { + "cn": [ + "addusers" + ], + "description": [ + "Add Users" + ], + "dn": "cn=addusers,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "useradmin" + ] + }, + { + "cn": [ + "change_password" + ], + "description": [ + "Change a user password" + ], + "dn": "cn=change_password,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "useradmin" + ] + }, + { + "cn": [ + "add_user_to_default_group" + ], + "description": [ + "Add user to default group" + ], + "dn": "cn=add_user_to_default_group,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "useradmin" + ] + }, + { + "cn": [ + "removeusers" + ], + "description": [ + "Remove Users" + ], + "dn": "cn=removeusers,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "useradmin" + ] + }, + { + "cn": [ + "modifyusers" + ], + "description": [ + "Modify Users" + ], + "dn": "cn=modifyusers,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "useradmin" + ] + }, + { + "cn": [ + "addgroups" + ], + "description": [ + "Add Groups" + ], + "dn": "cn=addgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "groupadmin" + ] + }, + { + "cn": [ + "removegroups" + ], + "description": [ + "Remove Groups" + ], + "dn": "cn=removegroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "groupadmin" + ] + }, + { + "cn": [ + "modifygroups" + ], + "description": [ + "Modify Groups" + ], + "dn": "cn=modifygroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "groupadmin" + ] + }, + { + "cn": [ + "modifygroupmembership" + ], + "description": [ + "Modify Group membership" + ], + "dn": "cn=modifygroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "groupadmin" + ] + }, + { + "cn": [ + "addhosts" + ], + "description": [ + "Add Hosts" + ], + "dn": "cn=addhosts,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostadmin" + ] + }, + { + "cn": [ + "removehosts" + ], + "description": [ + "Remove Hosts" + ], + "dn": "cn=removehosts,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostadmin" + ] + }, + { + "cn": [ + "modifyhosts" + ], + "description": [ + "Modify Hosts" + ], + "dn": "cn=modifyhosts,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostadmin" + ] + }, + { + "cn": [ + "addhostgroups" + ], + "description": [ + "Add Host Groups" + ], + "dn": "cn=addhostgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostgroupadmin" + ] + }, + { + "cn": [ + "removehostgroups" + ], + "description": [ + "Remove Host Groups" + ], + "dn": "cn=removehostgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostgroupadmin" + ] + }, + { + "cn": [ + "modifyhostgroups" + ], + "description": [ + "Modify Host Groups" + ], + "dn": "cn=modifyhostgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostgroupadmin" + ] + }, + { + "cn": [ + "modifyhostgroupmembership" + ], + "description": [ + "Modify Host Group membership" + ], + "dn": "cn=modifyhostgroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostgroupadmin" + ] + }, + { + "cn": [ + "addservices" + ], + "description": [ + "Add Services" + ], + "dn": "cn=addservices,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "serviceadmin" + ] + }, + { + "cn": [ + "removeservices" + ], + "description": [ + "Remove Services" + ], + "dn": "cn=removeservices,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "serviceadmin" + ] + }, + { + "cn": [ + "addhrole", + "addroles" + ], + "description": [ + "Add Roles" + ], + "dn": "cn=addroles,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "delegationadmin" + ] + }, + { + "cn": [ + "removeroles" + ], + "description": [ + "Remove Roles" + ], + "dn": "cn=removeroles,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "delegationadmin" + ] + }, + { + "cn": [ + "modifyroles" + ], + "description": [ + "Modify Roles" + ], + "dn": "cn=modifyroles,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "delegationadmin" + ] + }, + { + "cn": [ + "modifyrolegroupmembership" + ], + "description": [ + "Modify Role Group membership" + ], + "dn": "cn=modifyrolegroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "delegationadmin" + ] + }, + { + "cn": [ + "modifytaskgroupmembership" + ], + "description": [ + "Modify Task Group membership" + ], + "dn": "cn=modifytaskgroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "delegationadmin" + ] + }, + { + "cn": [ + "addautomount" + ], + "description": [ + "Add Automount maps/keys" + ], + "dn": "cn=addautomount,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "automountadmin" + ] + }, + { + "cn": [ + "removeautomount" + ], + "description": [ + "Remove Automount maps/keys" + ], + "dn": "cn=removeautomount,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "automountadmin" + ] + }, + { + "cn": [ + "addnetgroups" + ], + "description": [ + "Add netgroups" + ], + "dn": "cn=addnetgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "netgroupadmin" + ] + }, + { + "cn": [ + "removenetgroups" + ], + "description": [ + "Remove netgroups" + ], + "dn": "cn=removenetgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "netgroupadmin" + ] + }, + { + "cn": [ + "modifynetgroups" + ], + "description": [ + "Modify netgroups" + ], + "dn": "cn=modifynetgroups,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "netgroupadmin" + ] + }, + { + "cn": [ + "modifynetgroupmembership" + ], + "description": [ + "Modify netgroup membership" + ], + "dn": "cn=modifynetgroupmembership,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "netgroupadmin" + ] + }, + { + "cn": [ + "manage_host_keytab" + ], + "description": [ + "Manage host keytab" + ], + "dn": "cn=manage_host_keytab,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostadmin", + "enrollhost" + ] + }, + { + "cn": [ + "manage_host_keytab", + "update_dns", + "update_sn" + ], + "description": [ + "Updates DNS" + ], + "dn": "cn=update_dns,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "dnsadmin", + "dnsserver" + ] + }, + { + "cn": [ + "modifyservices" + ], + "description": [ + "Modify Services" + ], + "dn": "cn=modifyservices,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "serviceadmin" + ] + }, + { + "cn": [ + "enroll_host" + ], + "description": [ + "Enroll a host" + ], + "dn": "cn=enroll_host,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "hostadmin", + "enrollhost" + ] + }, + { + "cn": [ + "retrieve_certs" + ], + "description": [ + "Retrieve SSL Certificates" + ], + "dn": "cn=retrieve_certs,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "certadmin" + ] + }, + { + "cn": [ + "request_certs" + ], + "description": [ + "Request a SSL Certificate" + ], + "dn": "cn=request_certs,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "certadmin" + ] + }, + { + "cn": [ + "request_cert_different_host" + ], + "description": [ + "Request a SSL Certificate from a different host" + ], + "dn": "cn=request_cert_different_host,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "certadmin" + ] + }, + { + "cn": [ + "certificate_status" + ], + "description": [ + "Status of cert request" + ], + "dn": "cn=certificate_status,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "certadmin" + ] + }, + { + "cn": [ + "revoke_certificate" + ], + "description": [ + "Revoke Certificate" + ], + "dn": "cn=revoke_certificate,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "certadmin" + ] + }, + { + "cn": [ + "certificate_remove_hold" + ], + "description": [ + "Certificate Remove Hold" + ], + "dn": "cn=certificate_remove_hold,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "certadmin" + ] + }, + { + "cn": [ + "managereplica" + ], + "description": [ + "Manage Replication Agreements" + ], + "dn": "cn=managereplica,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "replicaadmin" + ] + }, + { + "cn": [ + "deletereplica" + ], + "description": [ + "Delete Replication Agreements" + ], + "dn": "cn=deletereplica,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "replicaadmin" + ] + }, + { + "cn": [ + "addentitlements" + ], + "description": [ + "Add Entitlements" + ], + "dn": "cn=addentitlements,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "entitlementadmin" + ] + }, + { + "cn": [ + "removeentitlements" + ], + "description": [ + "Remove Entitlements" + ], + "dn": "cn=removeentitlements,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "entitlementadmin" + ] + }, + { + "cn": [ + "modifyentitlements" + ], + "description": [ + "Modify Entitlements" + ], + "dn": "cn=modifyentitlements,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "member_rolegroup": [ + "entitlementadmin" + ] + }, + { + "cn": [ + "testtaskgroup" + ], + "description": [ + "test1" + ], + "dn": "cn=testtaskgroup,cn=taskgroups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + } + ], + "summary": "45 grupos de tarea coincidentes", + "truncated": false + } +}
\ No newline at end of file diff --git a/install/ui/test/data/user_add.json b/install/ui/test/data/user_add.json new file mode 100644 index 000000000..e6a98b5c2 --- /dev/null +++ b/install/ui/test/data/user_add.json @@ -0,0 +1,49 @@ +{ + "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", + "ipaobject" + ], + "sn": [ + "Snuffleupagus" + ], + "uid": [ + "snuffy" + ], + "uidnumber": [ + "1869788865" + ] + }, + "summary": "Added user \"snuffy\"", + "value": "snuffy" + } +} diff --git a/install/ui/test/data/user_disable.json b/install/ui/test/data/user_disable.json new file mode 100644 index 000000000..75a71fdf6 --- /dev/null +++ b/install/ui/test/data/user_disable.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 6, + "result": { + "result": true, + "summary": "Disabled user account \"rfrank\"", + "value": "rfrank" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/user_enable.json b/install/ui/test/data/user_enable.json new file mode 100644 index 000000000..c596c81da --- /dev/null +++ b/install/ui/test/data/user_enable.json @@ -0,0 +1,9 @@ +{ + "error": null, + "id": 6, + "result": { + "result": true, + "summary": "Enabled user account \"rfrank\"", + "value": "rfrank" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/user_find.json b/install/ui/test/data/user_find.json new file mode 100644 index 000000000..8a4094712 --- /dev/null +++ b/install/ui/test/data/user_find.json @@ -0,0 +1,243 @@ + +{ + "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", + "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", + "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", + "ipaobject" + ], + "sn": [ + "Monster" + ], + "street": [ + "123 Sesame Street" + ], + "title": [ + "Chef" + ], + "uid": [ + "cookie" + ], + "uidnumber": [ + "444194800" + ] + } + ], + "summary": "4 users matched", + "truncated": false + } +} diff --git a/install/ui/test/data/user_memberof_group.json b/install/ui/test/data/user_memberof_group.json new file mode 100644 index 000000000..e8f7a8fa5 --- /dev/null +++ b/install/ui/test/data/user_memberof_group.json @@ -0,0 +1,64 @@ +{ + "error": null, + "id": 0, + "result": { + "count": 2, + "results": [ + { + "error": null, + "result": { + "cn": [ + "ipausers" + ], + "description": [ + "Default group for all users" + ], + "dn": "cn=ipausers,cn=groups,cn=accounts,dc=dev,dc=example,dc=com", + "gidnumber": [ + "1662072956" + ], + "member_user": [ + "test", + "admin" + ], + "objectclass": [ + "top", + "groupofnames", + "nestedgroup", + "ipausergroup", + "posixgroup" + ] + }, + "summary": null, + "value": "ipausers" + }, + { + "error": null, + "result": { + "cn": [ + "editors" + ], + "description": [ + "Limited admins who can edit other users" + ], + "dn": "cn=editors,cn=groups,cn=accounts,dc=dev,dc=example,dc=com", + "gidnumber": [ + "1662072957" + ], + "member_user": [ + "test" + ], + "objectclass": [ + "top", + "groupofnames", + "posixgroup", + "ipausergroup", + "nestedGroup" + ] + }, + "summary": null, + "value": "editors" + } + ] + } +} diff --git a/install/ui/test/data/user_mod.json b/install/ui/test/data/user_mod.json new file mode 100644 index 000000000..c77012c14 --- /dev/null +++ b/install/ui/test/data/user_mod.json @@ -0,0 +1,162 @@ +{ + "error": null, + "id": 6, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "audio": "rscwo", + "businesscategory": "rscwo", + "carlicense": "rscwo", + "cn": "rscwo", + "departmentnumber": "rscwo", + "description": "rscwo", + "destinationindicator": "rscwo", + "dialupaccess": "rscwo", + "displayname": "rscwo", + "employeenumber": "rscwo", + "employeetype": "rscwo", + "facsimiletelephonenumber": "rscwo", + "gecos": "rscwo", + "gidnumber": "rscwo", + "givenname": "rscwo", + "homedirectory": "rscwo", + "homephone": "rscwo", + "homepostaladdress": "rscwo", + "inetuserhttpurl": "rscwo", + "inetuserstatus": "rscwo", + "initials": "rscwo", + "internationalisdnnumber": "rscwo", + "ipauniqueid": "rsc", + "jpegphoto": "rscwo", + "krbcanonicalname": "rscwo", + "krbextradata": "rscwo", + "krblastfailedauth": "rscwo", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rscwo", + "krbloginfailedcount": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbpasswordexpiration": "rscwo", + "krbprincipalaliases": "rscwo", + "krbprincipalexpiration": "rscwo", + "krbprincipalkey": "wo", + "krbprincipalname": "rscwo", + "krbprincipaltype": "rscwo", + "krbpwdhistory": "rscwo", + "krbpwdpolicyreference": "rscwo", + "krbticketflags": "rscwo", + "krbticketpolicyreference": "rscwo", + "krbupenabled": "rscwo", + "l": "rscwo", + "labeleduri": "rscwo", + "loginshell": "rscwo", + "mail": "rscwo", + "manager": "rscwo", + "memberof": "rsc", + "mepmanagedentry": "rscwo", + "mobile": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "pager": "rscwo", + "photo": "rscwo", + "physicaldeliveryofficename": "rscwo", + "postaladdress": "rscwo", + "postalcode": "rscwo", + "postofficebox": "rscwo", + "preferreddeliverymethod": "rscwo", + "preferredlanguage": "rscwo", + "registeredaddress": "rscwo", + "roomnumber": "rscwo", + "secretary": "rscwo", + "seealso": "rscwo", + "sn": "rscwo", + "st": "rscwo", + "street": "rscwo", + "telephonenumber": "rscwo", + "teletexterminalidentifier": "rscwo", + "telexnumber": "rscwo", + "title": "rscwo", + "uid": "rscwo", + "uidnumber": "rscwo", + "usercertificate": "rscwo", + "userpassword": "wo", + "userpkcs12": "rscwo", + "usersmimecertificate": "rscwo", + "x121address": "rscwo", + "x500uniqueidentifier": "rscwo" + }, + "cn": [ + "Kermit The Frog" + ], + "gecos": [ + "kfrog" + ], + "gidnumber": [ + "953553261" + ], + "givenname": [ + "Kermit" + ], + "homedirectory": [ + "/home/kfrog" + ], + "ipauniqueid": [ + "a2854798-e7d811df-b69ad8ca-cb44a24c" + ], + "krblastpwdchange": [ + "20101105172205Z" + ], + "krbpasswordexpiration": [ + "20101105172205Z" + ], + "krbprincipalname": [ + "kfrog@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "krbpwdpolicyreference": [ + "cn=global_policy,cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "kermit@muppets.com" + ], + "memberof_group": [ + "ipausers", + "muppets" + ], + "mepmanagedentry": [ + "cn=kfrog,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "nsaccountlock": [ + "False" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "Frog" + ], + "uid": [ + "kfrog" + ], + "uidnumber": [ + "953553261" + ] + }, + "summary": "Modified user \"kfrog\"", + "value": "kfrog" + } +} diff --git a/install/ui/test/data/user_show.json b/install/ui/test/data/user_show.json new file mode 100644 index 000000000..33893d77b --- /dev/null +++ b/install/ui/test/data/user_show.json @@ -0,0 +1,163 @@ +{ + "error": null, + "id": 6, + "result": { + "result": { + "attributelevelrights": { + "aci": "rscwo", + "audio": "rscwo", + "businesscategory": "rscwo", + "carlicense": "rscwo", + "cn": "rscwo", + "departmentnumber": "rscwo", + "description": "rscwo", + "destinationindicator": "rscwo", + "dialupaccess": "rscwo", + "displayname": "rscwo", + "employeenumber": "rscwo", + "employeetype": "rscwo", + "facsimiletelephonenumber": "rscwo", + "gecos": "rscwo", + "gidnumber": "rscwo", + "givenname": "rscwo", + "homedirectory": "rscwo", + "homephone": "rscwo", + "homepostaladdress": "rscwo", + "inetuserhttpurl": "rscwo", + "inetuserstatus": "rscwo", + "initials": "rscwo", + "internationalisdnnumber": "rscwo", + "ipauniqueid": "rsc", + "jpegphoto": "rscwo", + "krbcanonicalname": "rscwo", + "krbextradata": "rscwo", + "krblastfailedauth": "rscwo", + "krblastpwdchange": "rscwo", + "krblastsuccessfulauth": "rscwo", + "krbloginfailedcount": "rscwo", + "krbmaxrenewableage": "rscwo", + "krbmaxticketlife": "rscwo", + "krbpasswordexpiration": "rscwo", + "krbprincipalaliases": "rscwo", + "krbprincipalexpiration": "rscwo", + "krbprincipalkey": "wo", + "krbprincipalname": "rscwo", + "krbprincipaltype": "rscwo", + "krbpwdhistory": "rscwo", + "krbpwdpolicyreference": "rscwo", + "krbticketflags": "rscwo", + "krbticketpolicyreference": "rscwo", + "krbupenabled": "rscwo", + "l": "rscwo", + "labeleduri": "rscwo", + "loginshell": "rscwo", + "mail": "rscwo", + "manager": "rscwo", + "memberof": "rsc", + "mepmanagedentry": "rscwo", + "mobile": "rscwo", + "nsaccountlock": "rscwo", + "o": "rscwo", + "objectclass": "rscwo", + "ou": "rscwo", + "pager": "rscwo", + "photo": "rscwo", + "physicaldeliveryofficename": "rscwo", + "postaladdress": "rscwo", + "postalcode": "rscwo", + "postofficebox": "rscwo", + "preferreddeliverymethod": "rscwo", + "preferredlanguage": "rscwo", + "registeredaddress": "rscwo", + "roomnumber": "rscwo", + "secretary": "rscwo", + "seealso": "rscwo", + "sn": "rscwo", + "st": "rscwo", + "street": "rscwo", + "telephonenumber": "rscwo", + "teletexterminalidentifier": "rscwo", + "telexnumber": "rscwo", + "title": "rscwo", + "uid": "rscwo", + "uidnumber": "rscwo", + "usercertificate": "rscwo", + "userpassword": "wo", + "userpkcs12": "rscwo", + "usersmimecertificate": "rscwo", + "x121address": "rscwo", + "x500uniqueidentifier": "rscwo" + }, + "cn": [ + "Kermit The Frog" + ], + "dn": "uid=kfrog,cn=users,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com", + "gecos": [ + "kfrog" + ], + "gidnumber": [ + "953553261" + ], + "givenname": [ + "Kermit" + ], + "homedirectory": [ + "/home/kfrog" + ], + "ipauniqueid": [ + "a2854798-e7d811df-b69ad8ca-cb44a24c" + ], + "krblastpwdchange": [ + "20101105172205Z" + ], + "krbpasswordexpiration": [ + "20101105172205Z" + ], + "krbprincipalname": [ + "kfrog@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + ], + "krbpwdpolicyreference": [ + "cn=global_policy,cn=AYOUNG.BOSTON.DEVEL.REDHAT.COM,cn=kerberos,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "loginshell": [ + "/bin/sh" + ], + "mail": [ + "kermit@muppets.com" + ], + "memberof_group": [ + "ipausers", + "muppets" + ], + "mepmanagedentry": [ + "cn=kfrog,cn=groups,cn=accounts,dc=ayoung,dc=boston,dc=devel,dc=redhat,dc=com" + ], + "nsaccountlock": [ + "False" + ], + "objectclass": [ + "top", + "person", + "organizationalperson", + "inetorgperson", + "inetuser", + "posixaccount", + "krbprincipalaux", + "krbticketpolicyaux", + "ipaobject", + "mepOriginEntry" + ], + "sn": [ + "Frog" + ], + "uid": [ + "kfrog" + ], + "uidnumber": [ + "953553261" + ] + }, + "summary": null, + "value": "kfrog" + } +} diff --git a/install/ui/test/data/whoami.json b/install/ui/test/data/whoami.json new file mode 100644 index 000000000..a922d3720 --- /dev/null +++ b/install/ui/test/data/whoami.json @@ -0,0 +1,7 @@ +{ + "error": null, + "id": 0, + "result": { + "summary": "admin@AYOUNG.BOSTON.DEVEL.REDHAT.COM" + } +} diff --git a/install/ui/test/details_tests.html b/install/ui/test/details_tests.html new file mode 100644 index 000000000..3cb20c562 --- /dev/null +++ b/install/ui/test/details_tests.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> +<head> + <title>Details Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../jquery-ui.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../widget.js"></script> + <script type="text/javascript" src="../details.js"></script> + <script type="text/javascript" src="../entity.js"></script> + + <script type="text/javascript" src="details_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Details Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/details_tests.js b/install/ui/test/details_tests.js new file mode 100644 index 000000000..d832bd26d --- /dev/null +++ b/install/ui/test/details_tests.js @@ -0,0 +1,327 @@ +/* Authors: + * Adam Young <ayoung@redhat.com> + * + * 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, either version 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + */ + + +module('details'); + +test("Testing IPA.details_section.create().", function() { + + IPA.ajax_options.async = false; + + IPA.init( + "data", + true, + function(data, text_status, xhr) { + ok(true, "ipa_init() succeeded."); + }, + function(xhr, text_status, error_thrown) { + ok(false, "ipa_init() failed: "+error_thrown); + } + ); + + var section = IPA.stanza({name:'IDIDID', label:'NAMENAMENAME'}). + input({name:'cn'}). + input({name:'description'}). + input({name:'number'}); + + + var fields = section.fields; + var container = $("<div/>"); + section.create(container); + + var dl = $('dl', container); + + same( + dl.length, 1, + 'Checking dl tag' + ); + + same( + dl.attr('id'), section.name, + 'Checking section name' + ); + + var dts = $('dt', dl); + same( + dts.length, fields.length, // each field generates dt & dd + 'Checking number of children' + ); + + for (var i=0; i<fields.length; i++) { + var field = fields[i]; + + var dt = dts.get(i); + same( + dt.innerHTML, field.label+':', + 'Checking field '+field.name+'\'s label' + ); + + var span = $('span[name='+field.name+']', dl); + + ok( + span.length, + 'Checking span tag for field '+field.name + ); + + var dd = $('dd', span); + + ok( + dd.length == 0, + 'Checking dd tag for field '+field.name + ); + } +}); + + + +test("Testing details lifecycle: create, setup, load.", function(){ + + IPA.ajax_options.async = false; + + IPA.init( + "data", + true, + function(data, text_status, xhr) { + ok(true, "ipa_init() succeeded."); + }, + function(xhr, text_status, error_thrown) { + ok(false, "ipa_init() failed: "+error_thrown); + } + ); + + var result = {}; + + IPA.cmd( + 'user_show', + ['kfrog'], + {}, + function(data, text_status, xhr) { + result = data.result.result; + ok(true, "IPA.cmd() succeeded."); + }, + function(xhr, text_status, error_thrown) { + ok(false, "IPA.cmd() failed: "+error_thrown); + } + ); + + var setup_status_called = false; + var save_password_called= false; + var load_manager_called = false; + var load_success_called = false; + var load_failure_called = false; + var update_success_called = false; + var update_failure_called = false; + + function setup_status(){ + setup_status_called = true; + } + + function save_password(){ + save_password_called = true; + return []; + } + + function load_manager(){ + load_manager_called = true; + } + + function setup_st(){ + } + + var container = $("<div/>"); + var obj_name = 'user'; + IPA.entity_set_details_definition(obj_name, [ + IPA.stanza({name:'identity', label:'Identity Details'}). + input({name:'title'}). + input({name:'givenname'}). + input({name:'sn'}). + input({name:'cn'}). + input({name:'displayname'}). + input({name:'initials'}), + IPA.stanza({name:'account', label:'Account Details'}). + input({name:'status', setup: setup_status}). + input({name:'uid'}). + input({name:'userpassword', save: save_password}). + input({name:'uidnumber'}). + input({name:'gidnumber'}). + input({name:'homedirectory'}), + IPA.stanza({name:'contact', label:'Contact Details'}). + input({name:'mail'}). + input({name:'telephonenumber'}), + IPA.stanza({name:'address'}). + input({name:'street'}). + input({name:'location'}). + input({name:'state', setup: setup_st}). + input({name:'postalcode'}), + IPA.stanza({name:'employee', label:'Employee Information'}). + input({name:'ou'}). + input({name:'manager', load: load_manager}), + IPA.stanza({name:'misc', label:'Misc. Information'}). + input({name:'carlicense'}) + ]); + + var entity = IPA.fetch_entity(obj_name); + var facet = entity.get_facet('details'); + facet.create(container); + facet.setup(container); + facet.load(result); + + var contact = container.find('dl#contact.entryattrs'); + + ok( + contact, + 'dl tag for contact is created' + ); + + var identity = container.find('dl#identity.entryattrs'); + + ok( + identity, + 'dl tag for identity is created' + ); + + var dts = identity.find('dt'); + + same( + dts.length, 6, + 'Checking dt tags for identity' + ); + + container.attr('id','user'); + + ok ( + setup_status_called, + 'Setup status called' + ); + + ok (load_manager_called, 'load manager called'); + + facet.update( + function(){update_success_called = true}, + function(){update_failure_called = true} + ); + + ok (update_success_called,'update success called'); + ok (!update_failure_called,'update failure not called'); + ok (save_password_called, 'save password called'); + +}); + + +test("Testing create_input().", function() { + + var field = IPA.details_field({ + 'name': "name" + }); + + var name = "name"; + var value="value"; + var rights = 'rscwo' + var input = field.create_input(value, null, rights); + ok(input,"input not null"); + + var text = input.find('input'); + ok(text); + + same(text[0].name,name ); + same(text[0].value,value ); + same(text[0].type,"text" ); +}); + +test("Testing create_input() read only .", function() { + + var field = IPA.details_field({ + 'name': "name" + }); + + var name = "name"; + var value="value"; + var rights = 'rsc' + var input = field.create_input(value, null, rights); + ok(input,"input not null"); + + var text = input.find('input'); + ok(text); + + same(text[0].name,name ); + same(text[0].value,value ); + same(text[0].type,"text" ); + ok(text[0].disabled); + +}); + + + + +test("Testing IPA.details_section_setup again()",function(){ + + var section = IPA.stanza({name: 'IDIDID', label: 'NAMENAMENAME'}). + input({name:'cn', label:'Entity Name'}). + input({name:'description', label:'Description'}). + input({name:'number', label:'Entity ID'}); + var fields = section.fields; + var container = $("<div title='entity'/>"); + var details = $("<div/>"); + container.append(details); + + var result = {}; + + section.create(container); + section.setup(container); + section.load(result); + + //var h2= container.find('h2'); + //ok(h2); + //ok(h2[0].innerHTML.indexOf(section.label) > 1,"find name in html"); + + var dl = $('dl', container); + ok( + dl.length, + 'dl is created' + ); + + var dt = $('dt', dl); + same( + dt.length, 3, + '3 dt' + ); + + var span = dt.next(); + same( + span.length, 3, + '3 span' + ); + + same( + dl[0].id, section.name, + 'checking section name' + ); + + same( + dt[0].innerHTML, fields[0].label+":", + 'inner HTML matches label' + ); + + var dd = $('dd', span[0]); + same( + dd.length, 1, + '1 dd' + ); +}); diff --git a/install/ui/test/entity_tests.html b/install/ui/test/entity_tests.html new file mode 100644 index 000000000..cd6b64095 --- /dev/null +++ b/install/ui/test/entity_tests.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> + <title>Entity Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../widget.js"></script> + <script type="text/javascript" src="../details.js"></script> + <script type="text/javascript" src="../search.js"></script> + <script type="text/javascript" src="../add.js"></script> + <script type="text/javascript" src="../associate.js"></script> + <script type="text/javascript" src="../navigation.js"></script> + <script type="text/javascript" src="../entity.js"></script> + <script type="text/javascript" src="entity_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Entity Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/entity_tests.js b/install/ui/test/entity_tests.js new file mode 100644 index 000000000..21fff48f8 --- /dev/null +++ b/install/ui/test/entity_tests.js @@ -0,0 +1,171 @@ +/* Authors: + * Endi Sukma Dewata <edewata@redhat.com> + * + * 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, either version 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +module('entity'); + +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 facet = IPA.entity_get_search_facet('user'); + ok( + facet, + 'IPA.entity_get_search_facet(\'user\') is not null' + ); + + var column = facet.get_columns()[0]; + ok( + column, + 'column is not null' + ); + + equals( + column.name, 'uid', + 'column.name' + ); + + equals( + column.label, 'Login', + 'column.label' + ); + + ok( + column.setup, + 'column.setup not null' + ); + + ok( + column.setup(), + 'column.setup() works' + ); +}); + +test('Testing ipa_facet_setup_views().', function() { + + var orig_switch_and_show_page = IPA.switch_and_show_page; + IPA.ajax_options.async = false; + + IPA.init( + 'data', + true, + function(data, text_status, xhr) { + ok(true, 'ipa_init() succeeded.'); + }, + function(xhr, text_status, error_thrown) { + ok(false, 'ipa_init() failed: '+error_thrown); + } + ); + + var entity = IPA.entity({ + 'name': 'user' + }); + + IPA.add_entity(entity); + + var facet = IPA.search_facet({ + 'name': 'search', + 'label': 'Search' + }); + entity.add_facet(facet); + + entity.create_association_facets(); + + var container = $('<div/>'); + + entity.init(); + entity.setup(container); + + var counter = 0; + IPA.switch_and_show_page = function(entity_name, facet_name, pkey) { + counter++; + }; + + //Container now has two divs, one for the action panel one for content + var action_panel = facet.get_action_panel(); + ok(action_panel.length, 'action panel exists'); + + var ul = $('ul', action_panel); + + var views = ul.children(); + + /*6 Views: + one for each of 3 associations + one for search + one for details + a blank one for the action controls*/ + equals( + views.length, 6, + 'Checking number of views' + ); + + var li = views.first(); + ok( li.children().first().hasClass('action-controls'), + 'Checking that first item in list is placement for controls' + ); + + li = li.next(); // skip action controls + li = li.next(); // skip the header line for Member of + + var attribute_members = IPA.metadata['user'].attribute_members; + for (var attribute_member in attribute_members) { + var objects = attribute_members[attribute_member]; + for (var i = 0; i < objects.length; i++) { + var object = objects[i]; + var title = attribute_member+'_'+object; + + li = li.next(); + var value = li.attr('title'); + equals( + value, title, + 'Checking the '+title+' facet' + ); + } + } + + var pkey_input = $('input[name=pkey]', action_panel); + ok(pkey_input.length,'pkey input exists'); + var search_facets = $('li.search-facet', action_panel); + equals(search_facets.length,0,'search facet should not show up in action panel'); + var entity_facets = $('li.entity-facet', action_panel); + /*No longer automatically adding details, so ony the assoc. facets */ + equals(entity_facets.length,4,'4 hidden entity facets in action panel'); + entity_facets.each(function() { + ok( $(this).hasClass('entity-facet-disabled'), + 'entity facets are disabled'); + }); + + for ( var entity_facet = entity_facets.first(); + entity_facet.length; + entity_facet = entity_facet.next()){ + entity_facet.click(); + } + + equals(counter, 0, 'links are disabled'); + + IPA.switch_and_show_page = orig_switch_and_show_page; +}); + + diff --git a/install/ui/test/index.html b/install/ui/test/index.html new file mode 100644 index 000000000..78b41e9b5 --- /dev/null +++ b/install/ui/test/index.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> +<head> + <title>IPA Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <style type="text/css"> +#content { + font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; + font-size: smaller; + + border-bottom: 1px solid #fff; + padding: 0.5em 0.5em 0.5em 2.5em; + + color: #2b81af; + background-color: #D2E0E6; +} + </style> +</head> +<body> + <h1 id="qunit-header">IPA Test Suite</h1> + + <h2 id="qunit-banner" class="qunit-pass"></h2> + + <div id="content"> + <a href="all_tests.html">Complete Test Suite</a> + <ul> + <li><a href="ipa_tests.html">Core Test Suite</a> + <li><a href="entity_tests.html">Entity Test Suite</a> + <li><a href="details_tests.html">Details Test Suite</a> + <li><a href="association_tests.html">Association Test Suite</a> + <li><a href="navigation_tests.html">Navigation Test Suite</a> + <li><a href="certificate_tests.html">Certificate Test Suite</a> + <li><a href="aci_tests.html">Access Control Interface Test Suite</a> + + </ul> + </div> + + <div id="qunit-testresult"> + <br> + </div> + +</body> +</html> diff --git a/install/ui/test/ipa_tests.html b/install/ui/test/ipa_tests.html new file mode 100644 index 000000000..903e71545 --- /dev/null +++ b/install/ui/test/ipa_tests.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> + <title>Core Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <link rel="stylesheet" type="text/css" href="../jquery-ui.css" /> + + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../jquery-ui.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="ipa_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Core Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/ipa_tests.js b/install/ui/test/ipa_tests.js new file mode 100644 index 000000000..4fa0d1ea2 --- /dev/null +++ b/install/ui/test/ipa_tests.js @@ -0,0 +1,297 @@ +/* Authors: + * Endi Sukma Dewata <edewata@redhat.com> + * + * 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, either version 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + */ + +module('ipa'); + +test("Testing ipa_init().", function() { + + expect(1); + + IPA.ajax_options.async = false; + + IPA.init( + "data", + true, + function(data, text_status, xhr) { + ok(true, "ipa_init() succeeded."); + }, + function(xhr, text_status, error_thrown) { + ok(false, "ipa_init() failed: "+error_thrown); + } + ); +}); + +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\")" + ); +}); + +test("Testing successful IPA.cmd().", function() { + + var method = 'method'; + var args = ['arg1', 'arg2', 'arg3']; + var options = { + opt1: 'val1', + opt2: 'val2', + opt3: 'val3' + }; + var object = 'object'; + + var success_handler_counter = 0; + var error_handler_counter = 0; + + function success_handler(data, status, xhr) { + success_handler_counter++; + } + + function error_handler(xhr, text_status, error_thrown) { + error_handler_counter++; + } + + var orig = $.ajax; + + var xhr = {}; + var text_status = null; + var error_thrown = {name:'ERROR', message:'An error has occured'}; + + var ajax_counter = 0; + + $.ajax = function(request) { + ajax_counter++; + + equals( + request.url, "data/"+object+"_"+method+".json", + "Checking request.url" + ); + + var data = JSON.parse(request.data); + + equals( + data.method, object+'_'+method, + "Checking method" + ); + + same( + data.params, [args, options], + "Checking parameters" + ); + + request.success(xhr, text_status, error_thrown); + }; + + IPA.cmd(method, args, options, success_handler, error_handler, object); + + equals( + ajax_counter, 1, + "Checking ajax invocation counter" + ); + + var dialog = IPA.error_dialog.parent('.ui-dialog'); + + ok( + !dialog.length, + "The dialog box is not created." + ); + + ok( + success_handler_counter == 1 && error_handler_counter == 0, + "Only the success handler is called." + ); + + $.ajax = orig; +}); + +test("Testing unsuccessful IPA.cmd().", function() { + + var method = 'method'; + var args = ['arg1', 'arg2', 'arg3']; + var options = { + opt1: 'val1', + opt2: 'val2', + opt3: 'val3' + }; + var object = 'object'; + + var success_handler_counter = 0; + var error_handler_counter = 0; + + function success_handler(data, status, xhr) { + success_handler_counter++; + } + + function error_handler(xhr, text_status, error_thrown) { + error_handler_counter++; + } + + var orig = $.ajax; + + var xhr = {}; + var text_status = null; + var error_thrown = {name:'ERROR', message:'An error has occured'}; + + var ajax_counter = 0; + + $.ajax = function(request) { + ajax_counter++; + + equals( + request.url, "data/"+object+"_"+method+".json", + "Checking request.url" + ); + + var data = JSON.parse(request.data); + + equals( + data.method, object+'_'+method, + "Checking method" + ); + + same( + data.params, [args, options], + "Checking parameters" + ); + + request.error(xhr, text_status, error_thrown); + }; + + IPA.cmd(method, args, options, success_handler, error_handler, object); + + var dialog = IPA.error_dialog.parent('.ui-dialog'); + + equals( + ajax_counter, 1, + "Checking ajax invocation counter" + ); + + ok( + dialog.length == 1 && IPA.error_dialog.dialog('isOpen'), + "The dialog box is created and open." + ); + + ok( + success_handler_counter == 0 && error_handler_counter == 0, + "Initially none of the handlers are called." + ); + + // search the retry button from the beginning + var retry = $('button', dialog).first(); + retry.trigger('click'); + + equals( + ajax_counter, 2, + "Checking ajax invocation counter" + ); + + ok( + success_handler_counter == 0 && error_handler_counter == 0, + "After 1st retry, none of the handlers are called." + ); + + // search the retry button from the beginning again because the dialog + // has been recreated + dialog = IPA.error_dialog.parent('.ui-dialog'); + retry = $('button', dialog).first(); + retry.trigger('click'); + + equals( + ajax_counter, 3, + "Checking ajax invocation counter" + ); + + ok( + success_handler_counter == 0 && error_handler_counter == 0, + "After 2nd retry, none of the handlers are called." + ); + + // search the cancel button from the beginning because the dialog has + // been recreated + dialog = IPA.error_dialog.parent('.ui-dialog'); + var cancel = $('button', dialog).first().next(); + cancel.trigger('click'); + + equals( + ajax_counter, 3, + "Checking ajax invocation counter" + ); + + ok( + !IPA.error_dialog.dialog('isOpen'), + "After cancel, the dialog box is closed." + ); + + ok( + success_handler_counter == 0 && error_handler_counter == 1, + "Only the error handler is called." + ); + + $.ajax = orig; +}); diff --git a/install/ui/test/navigation_tests.html b/install/ui/test/navigation_tests.html new file mode 100644 index 000000000..16d095aca --- /dev/null +++ b/install/ui/test/navigation_tests.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> + <title>Navigation Test Suite</title> + <link rel="stylesheet" href="qunit.css" type="text/css" media="screen"> + <script type="text/javascript" src="qunit.js"></script> + <script type="text/javascript" src="../jquery.js"></script> + <script type="text/javascript" src="../jquery.ba-bbq.js"></script> + <script type="text/javascript" src="../jquery-ui.js"></script> + <script type="text/javascript" src="../ipa.js"></script> + <script type="text/javascript" src="../entity.js"></script> + <script type="text/javascript" src="../navigation.js"></script> + <script type="text/javascript" src="navigation_tests.js"></script> +</head> +<body> + <h1 id="qunit-header">Navigation Test Suite</h1> + <h2 id="qunit-banner"></h2> + <div id="qunit-testrunner-toolbar"></div> + <h2 id="qunit-userAgent"></h2> + <ol id="qunit-tests"></ol> + <div id="qunit-fixture"></div> +</body> +</html> diff --git a/install/ui/test/navigation_tests.js b/install/ui/test/navigation_tests.js new file mode 100644 index 000000000..bc198ac0c --- /dev/null +++ b/install/ui/test/navigation_tests.js @@ -0,0 +1,163 @@ +/* Authors: + * Adam Young <ayoung@redhat.com> + * + * 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, either version 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + */ + + +module('navigation'); + +test("Testing nav_create().", function() { + + var mock_tabs_lists = + [ + { name:'identity', label:'IDENTITY', children: [ + {name:'user', entity:'user'}, + {name:'group', entity:'group'} + ]}]; + + var entity = IPA.entity({name: 'user'}); + entity.setup = function(container){ + user_mock_called = true; + same(container[0].id,'user','user id'); + same(container[0].nodeName,'DIV','user div'); + }; + IPA.add_entity(entity); + + entity = IPA.entity({name: 'group'}); + entity.setup = function(container){ + group_mock_called = true; + same(container[0].id,'group','group id'); + same(container[0].nodeName,'DIV','group Div'); + }; + IPA.add_entity(entity); + + IPA.metadata = {}; + var navigation = $('<div id="navigation"/>').appendTo(document.body); + var user_mock_called = false; + var group_mock_called = false; + nav_create(mock_tabs_lists, navigation, 'tabs'); + ok(user_mock_called, "mock user setup was called"); + ok(!group_mock_called, "mock group setup was not called because the tab is inactive"); + same( navigation[0].children.length, 2, "Two Child tabs"); + same( navigation[0].children[1].id, 'identity', "Identity Tab"); + same( navigation[0].children[1].children[1].id, 'user', "User Tab"); + same( navigation[0].children[1].children[2].id, 'group', "User Tab"); + navigation.remove(); +}); + +test("Testing nav_update_tabs() with valid index.", function() { + + var orig_push_state = nav_push_state; + var orig_get_state = nav_get_state; + var orig_remove_state = nav_remove_state; + + var state = {}; + + nav_push_state = function(params) { + $.extend(state, params); + }; + nav_get_state = function(key) { + return state[key]; + }; + nav_remove_state = function(key) { + delete state[key]; + }; + + var mock_tabs_lists = + [ + { name:'identity', label:'IDENTITY', children: [ + {name:'one', label:'One', setup: function (){}}, + {name:'two', label:'Two', setup: function (){}} + ]}]; + + var navigation = $('<div id="navigation"/>').appendTo(document.body); + + nav_create(mock_tabs_lists, navigation, 'tabs'); + + nav_push_state({"identity":1}); + nav_update_tabs(); + + same( + navigation.tabs('option', 'selected'), 0, + "Active tab at level 1" + ); + + same( + $('#identity').tabs('option', 'selected'), 1, + "Active tab at level 2" + ); + + nav_remove_state("identity"); + + navigation.remove(); + + nav_push_state = orig_push_state; + nav_get_state = orig_get_state; + nav_remove_state = orig_remove_state; +}); + +test("Testing nav_update_tabs() with out-of-range index.", function() { + + var orig_push_state = nav_push_state; + var orig_get_state = nav_get_state; + var orig_remove_state = nav_remove_state; + + var state = {}; + + nav_push_state = function(params) { + $.extend(state, params); + }; + nav_get_state = function(key) { + return state[key]; + }; + nav_remove_state = function(key) { + delete state[key]; + }; + + var mock_tabs_lists = + [ + { name:'identity', label:'IDENTITY', children: [ + {name:'one', label:'One', setup: function (){}}, + {name:'two', label:'Two', setup: function (){}} + ]}]; + + var navigation = $('<div id="navigation"/>').appendTo(document.body); + + nav_create(mock_tabs_lists, navigation, 'tabs'); + + nav_push_state({"identity":2}); + nav_update_tabs(); + + same( + navigation.tabs('option', 'selected'), 0, + "Active tab at level 1" + ); + + same( + $('#identity').tabs('option', 'selected'), 0, + "Active tab at level 2" + ); + + nav_remove_state("identity"); + + navigation.remove(); + + nav_push_state = orig_push_state; + nav_get_state = orig_get_state; + nav_remove_state = orig_remove_state; +}); diff --git a/install/ui/test/qunit.css b/install/ui/test/qunit.css new file mode 100644 index 000000000..e9404f598 --- /dev/null +++ b/install/ui/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/ui/test/qunit.js b/install/ui/test/qunit.js new file mode 100644 index 000000000..0b8173a80 --- /dev/null +++ b/install/ui/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 = '<span class="test-name">' + testName + '</span>', 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 = '<span class="module-name">' + config.currentModule + "</span>: " + 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 + " <b class='counts'>(<b class='failed'>" + bad + "</b>, <b class='passed'>" + good + "</b>, " + config.assertions.length + ")</b>"; + + 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 = '<a href="' + location.href + '">' + banner.innerHTML + '</a>'; + } + + 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.<br/>', + '<span class="passed">', config.stats.all - config.stats.bad, '</span> tests of <span class="total">', config.stats.all, '</span> passed, <span class="failed">', config.stats.bad,'</span> 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 = '<span class="test-message">' + message + "</span>"; + expected = escapeHtml(QUnit.jsDump.parse(expected)); + actual = escapeHtml(QUnit.jsDump.parse(actual)); + var output = message + ', expected: <span class="test-expected">' + expected + '</span>'; + if (actual != expected) { + output += ' result: <span class="test-actual">' + actual + '</span>, 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é <prathe@gmail.com> +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<parents.length;j++){ + if(parents[j] === a[i]){ + loop = true;//dont rewalk array + } + } + if (!loop && ! innerEquiv(a[i], b[i])) { + parents.pop(); + return false; + } + } + parents.pop(); + return true; + }, + + "object": function (b, a) { + var i, j, loop; + var eq = true; // unless we can proove it + var aProperties = [], bProperties = []; // collection of strings + + // comparing constructors is more strict than using instanceof + if ( a.constructor !== b.constructor) { + return false; + } + + // stack constructor before traversing properties + callers.push(a.constructor); + //track reference to avoid circular references + parents.push(a); + + for (i in a) { // be strict: don't ensures hasOwnProperty and go deep + loop = false; + for(j=0;j<parents.length;j++){ + if(parents[j] === a[i]) + loop = true; //don't go down the same path twice + } + aProperties.push(i); // collect a's properties + + if (!loop && ! innerEquiv(a[i], b[i])) { + eq = false; + break; + } + } + + callers.pop(); // unstack, we are done + parents.pop(); + + for (i in b) { + bProperties.push(i); // collect b's properties + } + + // Ensures identical properties name + return eq && innerEquiv(aProperties.sort(), bProperties.sort()); + } + }; + }(); + + innerEquiv = function () { // can take multiple arguments + var args = Array.prototype.slice.apply(arguments); + if (args.length < 2) { + return true; // end transition + } + + return (function (a, b) { + if (a === b) { + return true; // catch the most you can + } else if (a === null || b === null || typeof a === "undefined" || typeof b === "undefined" || QUnit.objectType(a) !== QUnit.objectType(b)) { + return false; // don't lose time with error prone cases + } else { + return bindCallbacks(a, callbacks, [b, a]); + } + + // apply transition with (1..n) arguments + })(args[0], args[1]) && arguments.callee.apply(this, args.splice(1, args.length -1)); + }; + + return innerEquiv; + +}(); + +/** + * jsDump + * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com + * Licensed under BSD (http://www.opensource.org/licenses/bsd-license.php) + * Date: 5/15/2008 + * @projectDescription Advanced and extensible data dumping for Javascript. + * @version 1.0.0 + * @author Ariel Flesler + * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html} + */ +QUnit.jsDump = (function() { + function quote( str ) { + return '"' + str.toString().replace(/"/g, '\\"') + '"'; + }; + function literal( o ) { + return o + ''; + }; + function join( pre, arr, post ) { + var s = jsDump.separator(), + base = jsDump.indent(), + inner = jsDump.indent(1); + if ( arr.join ) + arr = arr.join( ',' + s + inner ); + if ( !arr ) + return pre + post; + return [ pre, inner + arr, base + post ].join(s); + }; + function array( arr ) { + var i = arr.length, ret = Array(i); + this.up(); + while ( i-- ) + ret[i] = this.parse( arr[i] ); + this.down(); + return join( '[', ret, ']' ); + }; + + var reName = /^function (\w+)/; + + var jsDump = { + parse:function( obj, type ) { //type is used mostly internally, you can fix a (custom)type in advance + var parser = this.parsers[ type || this.typeOf(obj) ]; + type = typeof parser; + + return type == 'function' ? parser.call( this, obj ) : + type == 'string' ? parser : + this.parsers.error; + }, + typeOf:function( obj ) { + var type; + if ( obj === null ) { + type = "null"; + } else if (typeof obj === "undefined") { + type = "undefined"; + } else if (QUnit.is("RegExp", obj)) { + type = "regexp"; + } else if (QUnit.is("Date", obj)) { + type = "date"; + } else if (QUnit.is("Function", obj)) { + type = "function"; + } else if (obj.setInterval && obj.document && !obj.nodeType) { + type = "window"; + } else if (obj.nodeType === 9) { + type = "document"; + } else if (obj.nodeType) { + type = "node"; + } else if (typeof obj === "object" && typeof obj.length === "number" && obj.length >= 0) { + type = "array"; + } else { + type = typeof obj; + } + return type; + }, + separator:function() { + return this.multiline ? this.HTML ? '<br />' : '\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 <del>brown </del> fox <del>jumped </del><ins>jumps </ins> 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 += '<del>' + out.o[i] + oSpace[i] + "</del>"; + } + } + else { + if (out.n[0].text == null) { + for (n = 0; n < out.o.length && out.o[n].text == null; n++) { + str += '<del>' + out.o[n] + oSpace[n] + "</del>"; + } + } + + for (var i = 0; i < out.n.length; i++) { + if (out.n[i].text == null) { + str += '<ins>' + out.n[i] + nSpace[i] + "</ins>"; + } + else { + var pre = ""; + + for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) { + pre += '<del>' + out.o[n] + oSpace[n] + "</del>"; + } + str += " " + out.n[i].text + nSpace[i] + pre; + } + } + } + + return str; + } +})(); + +})(this); |