diff options
author | Petr VobornÃk <pvoborni@redhat.com> | 2012-01-19 10:28:44 +0100 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2012-01-30 17:47:07 -0600 |
commit | 1f3d8003f7ccb7793be6452942f62d10433e7f27 (patch) | |
tree | 58ba6ece0bb5519b02728b1a0ca98d71dce8e915 | |
parent | 71f934348095df57c3fc8f02c5e8eacc929c7354 (diff) | |
download | freeipa-1f3d8003f7ccb7793be6452942f62d10433e7f27.tar.gz freeipa-1f3d8003f7ccb7793be6452942f62d10433e7f27.tar.xz freeipa-1f3d8003f7ccb7793be6452942f62d10433e7f27.zip |
Modifying DNS UI to benefit from new DNS API
DNS UI was modified to offer structured way of defining DNS records.
https://fedorahosted.org/freeipa/ticket/2208
-rw-r--r-- | install/ui/dns.js | 1316 | ||||
-rw-r--r-- | install/ui/field.js | 4 | ||||
-rw-r--r-- | install/ui/ipa.css | 12 | ||||
-rw-r--r-- | install/ui/ipa.js | 16 | ||||
-rw-r--r-- | install/ui/test/data/dnsrecord_add.json | 63 | ||||
-rw-r--r-- | install/ui/test/data/dnsrecord_del.json | 66 | ||||
-rw-r--r-- | install/ui/test/data/dnsrecord_show.json | 80 | ||||
-rw-r--r-- | install/ui/test/data/ipa_init.json | 2 | ||||
-rw-r--r-- | install/ui/test/data/ipa_init_objects.json | 3889 | ||||
-rw-r--r-- | install/ui/widget.js | 59 | ||||
-rw-r--r-- | ipalib/plugins/internal.py | 2 |
11 files changed, 5247 insertions, 262 deletions
diff --git a/install/ui/dns.js b/install/ui/dns.js index d23eca3a9..d30cc3123 100644 --- a/install/ui/dns.js +++ b/install/ui/dns.js @@ -4,6 +4,7 @@ /* Authors: * Adam Young <ayoung@redhat.com> + * Petr Vobornik <pvoborni@redhat.com> * * Copyright (C) 2010 Red Hat * see file 'COPYING' for use and warranty information @@ -439,6 +440,16 @@ IPA.dnszone_name_widget = function(spec) { IPA.widget_factories['dnszone_name'] = IPA.dnszone_name_widget; +IPA.force_dnszone_add_checkbox_widget = function(spec) { + var metadata = IPA.get_command_option('dnszone_add', spec.name); + spec.label = metadata.label; + spec.tooltip = metadata.doc; + return IPA.checkbox_widget(spec); +}; + +IPA.widget_factories['force_dnszone_add_checkbox'] = IPA.force_dnszone_add_checkbox_widget; +IPA.field_factories['force_dnszone_add_checkbox'] = IPA.checkbox_field; + IPA.dnszone_adder_dialog = function(spec) { spec = spec || {}; @@ -536,6 +547,334 @@ IPA.dns.record_search_facet = function(spec) { return that; }; +IPA.dns.record_metadata = null; +IPA.dns.get_record_metadata = function() { + + if (IPA.dns.record_metadata === null) { + + IPA.dns.record_metadata = [ + { + name: 'arecord', + attributes: [ + { + name: 'a_part_ip_address', + validators: [IPA.ip_v4_address_validator()] + } + ], + columns: ['a_part_ip_address'] + }, + { + name: 'aaaarecord', + attributes: [ + { + name:'aaaa_part_ip_address', + validators: [IPA.ip_v6_address_validator()] + } + ], + columns: ['aaaa_part_ip_address'] + }, + { + name: 'a6record', + attributes: [ + 'a6record' + ], + columns: ['a6record'] + }, + { + name: 'afsdbrecord', + attributes: [ + 'afsdb_part_subtype', + 'afsdb_part_hostname' + ], + columns: ['afsdb_part_subtype', 'afsdb_part_hostname'] + }, + { + name: 'certrecord', + attributes: [ + 'cert_part_type', + 'cert_part_key_tag', + 'cert_part_algorithm', + { + name: 'cert_part_certificate_or_crl', + type: 'textarea' + } + ], + columns: ['cert_part_type','cert_part_key_tag','cert_part_algorithm'] + }, + { + name: 'cnamerecord', + attributes: [ + 'cname_part_hostname' + ], + columns: ['cname_part_hostname'] + }, + { + name: 'dnamerecord', + attributes: [ + 'dname_part_target' + ], + columns: ['dname_part_target'] + }, + { + name: 'dsrecord', + attributes: [ + 'ds_part_key_tag', + 'ds_part_algorithm', + 'ds_part_digest_type', + { + name: 'ds_part_digest', + type: 'textarea' + } + ], + columns: ['ds_part_key_tag', 'ds_part_algorithm', + 'ds_part_digest_type'] + }, + { + name: 'keyrecord', + attributes: [ + 'key_part_flags', + 'key_part_protocol', + 'key_part_algorithm', + { + name: 'key_part_public_key', + type: 'textarea' + } + ], + columns: ['key_part_flags', 'key_part_protocol', + 'key_part_algorithm'] + }, + { + name: 'kxrecord', + attributes: [ + 'kx_part_preference', + 'kx_part_exchanger' + ], + columns: ['kx_part_preference', 'kx_part_exchanger'] + }, + { + name: 'locrecord', + attributes: [ + 'loc_part_lat_deg', + 'loc_part_lat_min', + 'loc_part_lat_sec', + { + name: 'loc_part_lat_dir', + options: IPA.create_options(['N','S']), + type: 'radio', + widget_opt: { + default_value: 'N' + } + }, + 'loc_part_lon_deg', + 'loc_part_lon_min', + 'loc_part_lon_sec', + { + name: 'loc_part_lon_dir', + options: IPA.create_options(['E','W']), + type: 'radio', + widget_opt: { + default_value: 'E' + } + }, + 'loc_part_altitude', + 'loc_part_size', + 'loc_part_h_precision', + 'loc_part_v_precision' + ], + columns: ['dnsdata'] + }, + { + name: 'mxrecord', + attributes: [ + 'mx_part_preference', + 'mx_part_exchanger' + ], + columns: ['mx_part_preference', 'mx_part_exchanger'] + }, + { + name: 'naptrrecord', + attributes: [ + 'naptr_part_order', + 'naptr_part_preference', + { + name: 'naptr_part_flags', + type: 'select', + options: IPA.create_options(['S', 'A', 'U', 'P']) + }, + 'naptr_part_service', + 'naptr_part_regexp', + 'naptr_part_replacement' + ], + adder_attributes: [], + columns: ['dnsdata'] + }, + { + name: 'nsrecord', + attributes: [ + 'ns_part_hostname' + ], + adder_attributes: [], + columns: ['ns_part_hostname'] + }, + { + name: 'nsecrecord', + attributes: [ + 'nsec_part_next', + 'nsec_part_types' +// TODO: nsec_part_types is multivalued attribute. New selector +// widget or at least new validator should be created. +// { +// name: 'nsec_part_types', +// options: IPA.create_options(['SOA', 'A', 'AAAA', 'A6', 'AFSDB', +// 'APL', 'CERT', 'CNAME', 'DHCID', 'DLV', 'DNAME', 'DNSKEY', +// 'DS', 'HIP', 'IPSECKEY', 'KEY', 'KX', 'LOC', 'MX', 'NAPTR', +// 'NS', 'NSEC','NSEC3', 'NSEC3PARAM', 'PTR', 'RRSIG', 'RP', +// 'SIG', 'SPF', 'SRV', 'SSHFP', 'TA', 'TKEY', 'TSIG', 'TXT']), +// type: 'select' +// } + ], + adder_attributes: [], + columns: [ 'nsec_part_next', 'nsec_part_types'] + }, + { + name: 'ptrrecord', + attributes: [ + 'ptr_part_hostname' + ], + adder_attributes: [], + columns: [ 'ptr_part_hostname'] + }, + { + name: 'rrsigrecord', + attributes: [ + { + name: 'rrsig_part_type_covered', + type: 'select', + options: IPA.create_options(['SOA', 'A', 'AAAA', 'A6', 'AFSDB', + 'APL', 'CERT', 'CNAME', 'DHCID', 'DLV', 'DNAME', + 'DNSKEY', 'DS', 'HIP', 'IPSECKEY', 'KEY', 'KX', + 'LOC', 'MX', 'NAPTR', 'NS', 'NSEC', 'NSEC3', + 'NSEC3PARAM', 'PTR', 'RRSIG', 'RP', 'SPF', 'SRV', + 'SSHFP', 'TA', 'TKEY', 'TSIG', 'TXT']) + }, + 'rrsig_part_algorithm', + 'rrsig_part_labels', + 'rrsig_part_original_ttl', + 'rrsig_part_signature_expiration', + 'rrsig_part_signature_inception', + 'rrsig_part_key_tag', + 'rrsig_part_signers_name', + { + name: 'rrsig_part_signature', + type: 'textarea' + } + ], + adder_attributes: [], + columns: ['dnsdata'] + }, + { + name: 'sigrecord', + attributes: [ + { + name: 'sig_part_type_covered', + type: 'select', + options: IPA.create_options(['SOA', 'A', 'AAAA', 'A6', 'AFSDB', + 'APL', 'CERT', 'CNAME', 'DHCID', 'DLV', 'DNAME', + 'DNSKEY', 'DS', 'HIP', 'IPSECKEY', 'KEY', 'KX', + 'LOC', 'MX', 'NAPTR', 'NS', 'NSEC', 'NSEC3', + 'NSEC3PARAM', 'PTR', 'RRSIG', 'RP', 'SPF', 'SRV', + 'SSHFP', 'TA', 'TKEY', 'TSIG', 'TXT']) + }, + 'sig_part_algorithm', + 'sig_part_labels', + 'sig_part_original_ttl', + 'sig_part_signature_expiration', + 'sig_part_signature_inception', + 'sig_part_key_tag', + 'sig_part_signers_name', + { + name: 'sig_part_signature', + type: 'textarea' + } + ], + adder_attributes: [], + columns: ['dnsdata'] + }, + { + name: 'srvrecord', + attributes: [ + 'srv_part_priority', + 'srv_part_weight', + 'srv_part_port', + 'srv_part_target' + ], + adder_attributes: [], + columns: ['srv_part_priority', 'srv_part_weight', 'srv_part_port', + 'srv_part_target'] + }, + { + name: 'sshfprecord', + attributes: [ + 'sshfp_part_algorithm', + 'sshfp_part_fp_type', + { + name: 'sshfp_part_fingerprint', + type: 'textarea' + } + ], + adder_attributes: [], + columns: ['sshfp_part_algorithm', 'sshfp_part_fp_type'] + }, + { + name: 'txtrecord', + attributes: [ + 'txt_part_data' + ], + adder_attributes: [], + columns: ['txt_part_data'] + } + ]; + + //set required flags for attributes based on 'dnsrecord_optional' flag + //in param metadata + + for (var i=0; i<IPA.dns.record_metadata.length; i++) { + var type = IPA.dns.record_metadata[i]; + + for (var j=0; j<type.attributes.length; j++) { + var attr = type.attributes[j]; + if (typeof attr === 'string') { + attr = { + name: attr + }; + type.attributes[j] = attr; + } + var attr_meta = IPA.get_entity_param('dnsrecord', attr.name); + + if (attr_meta && attr_meta.flags.indexOf('dnsrecord_optional') === -1) { + attr.required = true; + } + } + } + + } + + return IPA.dns.record_metadata; +}; + + +IPA.dns.get_record_type = function(type_name) { + + var metadata = IPA.dns.get_record_metadata(); + + for (var i=0; i<metadata.length; i++) { + var type = metadata[i]; + if (type.name === type_name) return type; + } + + return null; +}; + IPA.dns.record_entity = function(spec) { var that = IPA.entity(spec); @@ -554,11 +893,20 @@ IPA.dns.record_entity = function(spec) { details_facet({ factory: IPA.dns.record_details_facet, disable_breadcrumb: false, - sections: [ + fields: [ + { + type: 'dnsrecord_host_link', + name: 'idnsname', + other_entity: 'host', + widget: 'identity.idnsname' + } + ], + widgets:[ { name: 'identity', label: IPA.messages.details.identity, - fields: [ + type: 'details_table_section', + widgets: [ { type: 'dnsrecord_host_link', name: 'idnsname', @@ -567,140 +915,6 @@ IPA.dns.record_entity = function(spec) { 'dnsrecord', 'idnsname').label } ] - }, - { - name: 'standard', - label: IPA.messages.objects.dnsrecord.standard, - fields: [ - { - type: 'multivalued', - name: 'arecord', - metadata: { primary_key: false }, - label: 'A', - validators: [ IPA.ip_v4_address_validator() ] - }, - { - type: 'multivalued', - name: 'aaaarecord', - metadata: { primary_key: false }, - label: 'AAAA', - validators: [ IPA.ip_v6_address_validator() ] - }, - { - type: 'multivalued', - name: 'ptrrecord', - metadata: { primary_key: false }, - label: 'PTR' - }, - { - type: 'multivalued', - name: 'srvrecord', - metadata: { primary_key: false }, - label: 'SRV' - }, - { - type: 'multivalued', - name: 'txtrecord', - metadata: { primary_key: false }, - label: 'TXT' - }, - { - type: 'multivalued', - name: 'cnamerecord', - metadata: { primary_key: false }, - label: 'CNAME' - }, - { - type: 'multivalued', - label:'MX', - metadata: { primary_key: false }, - name: 'mxrecord' - }, - { - type: 'multivalued', - label:'NS', - metadata: { primary_key: false }, - name: 'nsrecord' - } - ] - }, - { - name: 'other', - label: IPA.messages.objects.dnsrecord.other, - fields: [ - { - type: 'multivalued', - name: 'afsdbrecord', - metadata: { primary_key: false }, - label: 'AFSDB' - }, - { - type: 'multivalued', - name: 'certrecord', - metadata: { primary_key: false }, - label: 'CERT' - }, - { - type: 'multivalued', - name: 'dnamerecord', - metadata: { primary_key: false }, - label: 'DNAME' - }, - { - type: 'multivalued', - name: 'dsrecord', - metadata: { primary_key: false }, - label: 'DSRECORD' - }, - { - type: 'multivalued', - name: 'keyrecord', - metadata: { primary_key: false }, - label: 'KEY' - }, - { - type: 'multivalued', - name: 'kxrecord', - metadata: { primary_key: false }, - label: 'KX' - }, - { - type: 'multivalued', - name: 'locrecord', - metadata: { primary_key: false }, - label: 'LOC' - }, - { - type: 'multivalued', - name: 'naptrrecord', - metadata: { primary_key: false }, - label: 'NAPTR' - }, - { - type: 'multivalued', - name: 'nsecrecord', - metadata: { primary_key: false }, - label: 'NSEC' - }, - { - type: 'multivalued', - name: 'rrsigrecord', - metadata: { primary_key: false }, - label: 'RRSIG' - }, - { - type: 'multivalued', - name: 'sigrecord', - metadata: { primary_key: false }, - label: 'SIG' - }, - { - type: 'multivalued', - name: 'sshfprecord', - metadata: { primary_key: false }, - label: 'SSHFP' - } - ] } ] }). @@ -713,14 +927,9 @@ IPA.dns.record_entity = function(spec) { }, { name: 'record_type', + type: 'dnsrecord_type', + enabled: false, widget: 'general.record_type' - }, - { - type: 'dnsrecord', - name: 'record_data', - required: true, - widget: 'general.record_data', - type_widget: 'general.record_type' } ], widgets: [ @@ -733,14 +942,14 @@ IPA.dns.record_entity = function(spec) { type: 'dnsrecord_type', name: 'record_type', label: IPA.messages.objects.dnsrecord.type - }, - { - type: 'text', - name: 'record_data', - label: IPA.messages.objects.dnsrecord.data } ] } + ], + policies: [ + IPA.dnsrecord_adder_dialog_type_policy({ + type_field: 'record_type' + }) ] }); }; @@ -750,32 +959,22 @@ IPA.dns.record_entity = function(spec) { IPA.dns.record_adder_dialog = function(spec) { - var that = IPA.entity_adder_dialog(spec); - - that.create_add_command = function(record) { - - var command = that.entity_adder_dialog_create_add_command(record); - - var record_type = command.options.record_type; - var record_data = command.options.record_data; - - delete command.options.record_type; - delete command.options.record_data; - - command.options[record_type] = record_data; + spec = spec || {}; - return command; - }; + IPA.dns.record_prepare_spec(spec, IPA.dns.record_prepare_editor_for_type); + var that = IPA.entity_adder_dialog(spec); return that; }; IPA.dns.record_details_facet = function(spec) { + IPA.dns.record_prepare_details_spec(spec); + var that = IPA.details_facet(spec); - that.update_on_success = function(data, text_status, xhr) { + that.load = function(data) { if (!data.result.result.idnsname) { that.reset(); @@ -784,7 +983,14 @@ IPA.dns.record_details_facet = function(spec) { return; } - that.load(data); + that.details_facet_load(data); + }; + + that.create_refresh_command = function() { + + var command = that.details_facet_create_refresh_command(); + command.set_option('structured', true); + return command; }; return that; @@ -816,6 +1022,171 @@ IPA.dnsrecord_redirection_dialog = function(spec) { return that; }; +/* + * Spec preparation methods + */ + +IPA.dns.record_prepare_spec = function(spec, type_prepare_method) { + + var metadata = IPA.dns.get_record_metadata(); + + var fields = []; + var widgets = []; + + for (var i=0; i<metadata.length; i++) { + + var type = metadata[i]; + + type_prepare_method(type, fields, widgets); + } + + IPA.dns.extend_spec(spec, fields, widgets); +}; + +IPA.dns.extend_spec = function(spec, fields, widgets) { + + if (spec.sections) delete spec.sections; + + if (spec.fields instanceof Array) { + spec.fields.push.apply(spec.fields, fields); + } else { + spec.fields = fields; + } + + if (spec.widgets instanceof Array) { + spec.widgets.push.apply(spec.widgets, widgets); + } else { + spec.widgets = widgets; + } +}; + +IPA.dns.record_prepare_editor_for_type = function(type, fields, widgets) { + + var set_defined = function(property, object, name) { + if (property !== undefined) { + object[name] = property; + } + }; + + var copy_obj = function(source, dest) { + if (source !== null || source !== undefined) { + $.extend(source,dest); + } + }; + + var section = { + name: type.name, + type: 'details_table_section_nc', + widgets: [] + }; + widgets.push(section); + + for (var i=0; i<type.attributes.length;i++) { + var attribute = type.attributes[i]; + + //create field + var field = {}; + if (typeof attribute === 'string') { + field.name = attribute; + } else { + field.name = attribute.name; + field.label = attribute.label || + IPA.dns.record_get_attr_label(attribute.name); + set_defined(attribute.type, field, 'type'); + set_defined(attribute.validators, field, 'validators'); + set_defined(attribute.required, field, 'required'); + copy_obj(widget, attribute.field_opt); + } + field.widget = type.name+'.'+field.name; + fields.push(field); + + //create editor widget + var widget = {}; + if (typeof attribute === 'string') { + widget.name = attribute; + } else { + widget.name = attribute.name; + set_defined(attribute.type, widget, 'type'); + set_defined(attribute.options, widget, 'options'); + copy_obj(widget, attribute.widget_opt); + } + section.widgets.push(widget); + } +}; + +IPA.dns.record_prepare_details_spec = function(spec, type_prepare_method) { + + var metadata = IPA.dns.get_record_metadata(); + + var fields = []; + var widgets = []; + + var standard_record_section = { + name: 'standard_types', + type: 'details_table_section', + label: IPA.messages.objects.dnsrecord.standard, + widgets: [] + }; + + var other_record_section = { + name: 'other_types', + type: 'details_table_section', + label: IPA.messages.objects.dnsrecord.other, + widgets: [] + }; + + widgets.push(standard_record_section); + widgets.push(other_record_section); + + var standard_types = ['arecord', 'aaaarecord', 'ptrrecord', 'srvrecord', + 'txtrecord', 'cnamerecord', 'mxrecord', 'nsrecord']; + + for (var i=0; i<metadata.length; i++) { + + var type = metadata[i]; + + if (standard_types.indexOf(type.name) > -1) { + IPA.dns.record_prepare_details_for_type(type, fields, standard_record_section); + } else { + IPA.dns.record_prepare_details_for_type(type, fields, other_record_section); + } + } + + IPA.dns.extend_spec(spec, fields, widgets); +}; + +IPA.dns.record_prepare_details_for_type = function(type, fields, container) { + + var index = type.name.search('record$'); + var dnstype = type.name.substring(0, index).toUpperCase(); + + var type_widget = { + name: type.name, + type: 'dnsrecord_type_table', + record_type: type.name, + value_attribute: 'dnsdata', + dnstype: dnstype, + columns: type.columns + }; + + container.widgets.push(type_widget); + + var field = { + name: type.name, + type: 'dnsrecord_type_table', + dnstype: dnstype, + label: dnstype, + widget: container.name+'.'+type.name + }; + + fields.push(field); +}; + +/* + * Widgets and policies + */ + + IPA.dnsrecord_host_link_field = function(spec) { var that = IPA.link_field(spec); that.other_pkeys = function() { @@ -829,22 +1200,75 @@ IPA.field_factories['dnsrecord_host_link'] = IPA.dnsrecord_host_link_field; IPA.widget_factories['dnsrecord_host_link'] = IPA.link_widget; IPA.dns_record_types = function() { - var attrs = IPA.metadata.objects.dnsrecord.default_attributes; + + //only supported + var attrs = ['A', 'AAAA', 'A6', 'AFSDB', 'CERT', 'CNAME', 'DNAME', + 'DS','KEY', 'KX', 'LOC', 'MX', 'NAPTR', 'NS', 'NSEC', + 'PTR', 'RRSIG', 'SRV', 'SIG', 'SSHFP', 'TXT']; var record_types = []; for (var i=0; i<attrs.length; i++) { var attr = attrs[i]; - var index = attr.search('record$'); - if (index > -1) { - var rec_type = { - label: attr.substring(0, index).toUpperCase(), - value: attr - }; - record_types.push(rec_type); - } + + var rec_type = { + label: attr, + value: attr.toLowerCase()+'record' + }; + record_types.push(rec_type); } return record_types; }; +IPA.dns.record_get_attr_label = function(part_name) { + + var metadata = IPA.get_entity_param('dnsrecord', part_name); + + if (!metadata) return null; + + var label = metadata.label; + + if (part_name.indexOf('_part_') > -1) { + + label = label.substring(label.indexOf(' ')); + } + + return label; +}; + + +IPA.dnsrecord_type_field = function(spec) { + + spec = spec || {}; + var that = IPA.field(spec); + + that.type_changed = IPA.observer(); + + that.get_type = function() { + + return that.widget.save()[0]; + }; + + that.on_type_change = function() { + + that.type_changed.notify([], that); + }; + + that.widgets_created = function() { + + that.field_widgets_created(); + that.widget.value_changed.attach(that.on_type_change); + }; + + that.reset = function() { + that.field_reset(); + that.on_type_change(); + }; + + return that; +}; + +IPA.field_factories['dnsrecord_type'] = IPA.dnsrecord_type_field; + + IPA.dnsrecord_type_widget = function(spec) { spec.options = IPA.dns_record_types(); @@ -854,62 +1278,539 @@ IPA.dnsrecord_type_widget = function(spec) { IPA.widget_factories['dnsrecord_type'] = IPA.dnsrecord_type_widget; -IPA.dnsrecord_field = function(spec) { + +IPA.dnsrecord_adder_dialog_type_policy = function(spec) { spec = spec || {}; - var that = IPA.field(spec); - that.type_widget_name = spec.type_widget || ''; + var that = IPA.facet_policy(spec); - that.normal_validators = []; - that.a_record_validators = [ - IPA.ip_v4_address_validator() - ]; - that.aaaa_record_validators = [ - IPA.ip_v6_address_validator() - ]; + that.type_field_name = spec.type_field; + + that.post_create = function() { + that.type_field = that.container.fields.get_field(that.type_field_name); + that.type_field.type_changed.attach(that.on_type_change); + that.on_type_change(); + }; that.on_type_change = function() { - var type = that.type_widget.save()[0]; + var type = that.type_field.get_type(); + + that.allow_fields_for_type(type); + that.show_widgets_for_type(type); + }; + + that.allow_fields_for_type = function(type) { + + type = type.substring(0, type.indexOf('record')); + + var fields = that.container.fields.get_fields(); + + for (var i=0; i<fields.length; i++) { + var field = fields[i]; + + var fieldtype; + var index = field.name.indexOf('_part_'); + if (index > -1) { + fieldtype = field.name.substring(0, index); + } else { + fieldtype = field.name.substring(0, field.name.indexOf('record')); + } + + + field.enabled = (field.name === 'idnsname' || + field.name === that.type_field_name || + fieldtype === type); + } + }; + + that.show_widgets_for_type = function(type) { + + var widgets = that.container.widgets.get_widgets(); + + for (var i=0; i<widgets.length; i++) { + var widget = widgets[i]; + var visible = widget.name.indexOf(type) === 0 || + widget.name === 'general'; + widget.set_visible(visible); + } + }; + + return that; +}; + + +IPA.dns.record_type_table_field = function(spec) { + + spec = spec || {}; + + var that = IPA.field(spec); + + that.dnstype = spec.dnstype; + + that.load = function(record) { + + var data = {}; + + data.idnsname = record.idnsname; + data.dnsrecords = []; + + for (var i=0, j=0; i<record.dnsrecords.length; i++) { + + var dnsrecord = record.dnsrecords[i]; + if(dnsrecord.dnstype === that.dnstype) { + + dnsrecord.position = j; + j++; + data.dnsrecords.push(dnsrecord); + } + } + + that.values = data; + + that.load_writable(record); + that.reset(); + }; + + return that; +}; + +IPA.field_factories['dnsrecord_type_table'] = IPA.dns.record_type_table_field; - if (type === 'arecord') { - that.validators = that.a_record_validators; - } else if (type === 'aaaarecord') { - that.validators = that.aaaa_record_validators; + +IPA.dns.record_type_table_widget = function(spec) { + + spec = spec || {}; + spec.columns = spec.columns || []; + + spec.columns.push({ + name: 'position', + label: '', + factory: IPA.dns.record_modify_column, + width: '106px' + }); + + var that = IPA.table_widget(spec); + + that.dnstype = spec.dnstype; + + that.create_column = function(spec) { + + if (typeof spec === 'string') { + spec = { + name: spec + }; + } + + spec.entity = that.entity; + spec.label = spec.label || IPA.dns.record_get_attr_label(spec.name); + + var factory = spec.factory || IPA.column; + + var column = factory(spec); + that.add_column(column); + return column; + }; + + that.create_columns = function() { + that.clear_columns(); + if (spec.columns) { + for (var i=0; i<spec.columns.length; i++) { + that.create_column(spec.columns[i]); + } + } + + var modify_column = that.columns.get('position'); + modify_column.link_handler = that.on_modify; + }; + + that.create = function(container) { + + that.create_columns(); + that.table_create(container); + + container.addClass('dnstype-table'); + + that.remove_button = IPA.action_button({ + name: 'remove', + label: IPA.messages.buttons.remove, + icon: 'remove-icon', + 'class': 'action-button-disabled', + click: function() { + if (!that.remove_button.hasClass('action-button-disabled')) { + that.remove_handler(); + } + return false; + } + }).appendTo(that.buttons); + + that.add_button = IPA.action_button({ + name: 'add', + label: IPA.messages.buttons.add, + icon: 'add-icon', + click: function() { + if (!that.add_button.hasClass('action-button-disabled')) { + that.add_handler(); + } + return false; + } + }).appendTo(that.buttons); + }; + + that.set_enabled = function(enabled) { + that.table_set_enabled(enabled); + if (enabled) { + if(that.add_button) { + that.add_button.removeClass('action-button-disabled'); + } } else { - that.validators = that.normal_validators; + $('.action-button', that.table).addClass('action-button-disabled'); + that.unselect_all(); } + that.enabled = enabled; + }; - that.validate(); + that.select_changed = function() { + + var values = that.get_selected_values(); + + if (that.remove_button) { + if (values.length === 0) { + that.remove_button.addClass('action-button-disabled'); + } else { + that.remove_button.removeClass('action-button-disabled'); + } + } }; - that.widgets_created = function() { + that.add_handler = function() { + var facet = that.entity.get_facet(); - that.field_widgets_created(); - that.type_widget = that.container.widgets.get_widget(that.type_widget_name); - that.type_widget.value_changed.attach(that.on_type_change); + if (facet.is_dirty()) { + var dialog = IPA.dirty_dialog({ + entity:that.entity, + facet: facet + }); + + dialog.callback = function() { + that.show_add_dialog(); + }; + + dialog.open(that.container); + + } else { + that.show_add_dialog(); + } }; - that.reset = function() { - that.field_reset(); - that.on_type_change(); + that.remove_handler = function() { + var facet = that.entity.get_facet(); + + if (facet.is_dirty()) { + var dialog = IPA.dirty_dialog({ + entity:that.entity, + facet: facet + }); + + dialog.callback = function() { + that.show_remove_dialog(); + }; + + dialog.open(that.container); + + } else { + that.show_remove_dialog(); + } }; + that.show_remove_dialog = function() { + + var selected_values = that.get_selected_values(); + + if (!selected_values.length) { + var message = IPA.messages.dialogs.remove_empty; + alert(message); + return; + } + + var dialog = IPA.deleter_dialog({ + entity: that.entity, + values: selected_values + }); + + dialog.execute = function() { + that.remove( + selected_values, + that.idnsname[0], + function(data) { + that.reload_facet(data); + dialog.close(); + }, + function() { + that.refresh_facet(); + dialog.close(); + } + ); + }; + + + dialog.open(that.container); + }; + + that.remove = function(values, pkey, on_success, on_error) { + + var dnszone = IPA.nav.get_state('dnszone-pkey'); + + var command = IPA.command({ + entity: that.entity.name, + method: 'del', + args: [dnszone, pkey], + on_success: on_success, + on_error: on_error + }); + + var record_name = that.dnstype.toLowerCase()+'record'; + command.set_option(record_name, values.join(',')); + command.set_option('structured', true); + + command.execute(); + }; + + that.create_add_dialog = function() { + + var title = IPA.messages.dialogs.add_title; + var label = that.entity.metadata.label_singular; + + var dialog_spec = { + entity: that.entity, + fields: [], + widgets: [], + title: title.replace('${entity}', label) + }; + + var dnstype = that.dnstype.toLowerCase(); + var type = IPA.dns.get_record_type(dnstype+'record'); + + IPA.dns.record_prepare_editor_for_type(type, dialog_spec.fields, + dialog_spec.widgets); + + var dialog = IPA.entity_adder_dialog(dialog_spec); + + var cancel_button = dialog.buttons.get('cancel'); + dialog.buttons.empty(); + + dialog.create_button({ + name: 'add', + label: IPA.messages.buttons.add, + click: function() { + dialog.hide_message(); + dialog.add( + function(data, text_status, xhr) { + that.reload_facet(data); + dialog.close(); + }, + dialog.on_error); + } + }); + + dialog.create_button({ + name: 'add_and_add_another', + label: IPA.messages.buttons.add_and_add_another, + click: function() { + dialog.hide_message(); + dialog.add( + function(data, text_status, xhr) { + var label = that.entity.metadata.label_singular; + var message = IPA.messages.dialogs.add_confirmation; + message = message.replace('${entity}', label); + dialog.show_message(message); + + that.reload_facet(data); + dialog.reset(); + }, + dialog.on_error); + } + }); + + dialog.buttons.put('cancel', cancel_button); + + dialog.create_add_command = function(record) { + + var dnszone = IPA.nav.get_state('dnszone-pkey'); + + var command = dialog.entity_adder_dialog_create_add_command(record); + command.args = [dnszone, that.idnsname[0]]; + command.set_option('structured', true); + + return command; + }; + + return dialog; + }; + + that.show_add_dialog = function() { + + var dialog = that.create_add_dialog(); + dialog.open(that.container); + }; + + that.create_mod_dialog = function() { + + var title = IPA.messages.dialogs.edit_title; + var label = that.entity.metadata.label_singular; + + var dialog_spec = { + entity: that.entity, + fields: [], + widgets: [], + title: title.replace('${entity}', label) + }; + + var dnstype = that.dnstype.toLowerCase(); + + var type = IPA.dns.get_record_type(dnstype+'record'); + + IPA.dns.record_prepare_editor_for_type(type, dialog_spec.fields, + dialog_spec.widgets); + + var dialog = IPA.entity_adder_dialog(dialog_spec); + + dialog.buttons.empty(); + + dialog.create_button({ + name: 'modify', + label: IPA.messages.buttons.update, + click: function() { + dialog.modify(); + } + }); + + dialog.create_button({ + name: 'cancel', + label: IPA.messages.buttons.cancel, + click: function() { + dialog.reset(); + dialog.close(); + } + }); + + dialog.load = function(record, full_value) { + + dialog.full_value = full_value; + + var fields = dialog.fields.get_fields(); + + for (var i=0; i<fields.length; i++) { + var field = fields[i]; + field.load(record); + } + }; + + dialog.modify = function() { + + if (!dialog.validate()) return; + + var record = {}; + dialog.save(record); + + var command = dialog.create_add_command(record); + + command.on_success = function(data) { + that.reload_facet(data); + dialog.close(); + }; + command.on_error = function() { + that.refresh_facet(); + dialog.close(); + }; + command.execute(); + }; + + dialog.create_add_command = function(record) { + + var dnszone = IPA.nav.get_state('dnszone-pkey'); + + var command = dialog.entity_adder_dialog_create_add_command(record); + + command.method = 'mod'; + command.args = [dnszone, that.idnsname[0]]; + + var record_name = that.dnstype.toLowerCase()+'record'; + command.set_option(record_name, dialog.full_value); + command.set_option('structured', true); + + return command; + }; + + return dialog; + }; + + that.reload_facet = function(data) { + + //FIXME: seems as bad approach + var facet = IPA.current_entity.get_facet(); + facet.load(data); + }; + + that.refresh_facet = function() { + + //FIXME: seems as bad approach + var facet = IPA.current_entity.get_facet(); + facet.refresh(); + }; + + that.update = function(values) { + + that.idnsname = values.idnsname; + that.dnsrecords = values.dnsrecords; + that.table_update(that.dnsrecords); + that.unselect_all(); + }; + + that.on_modify = function(position) { + + var values = that.values[position]; + + var dialog = that.create_mod_dialog(); + dialog.open(); + dialog.load(that.records[position], values); + + return false; + }; + + return that; }; -IPA.field_factories['dnsrecord'] = IPA.dnsrecord_field; +IPA.widget_factories['dnsrecord_type_table'] = IPA.dns.record_type_table_widget; -IPA.force_dnszone_add_checkbox_widget = function(spec) { - var metadata = IPA.get_command_option('dnszone_add', spec.name); - spec.label = metadata.label; - spec.tooltip = metadata.doc; - return IPA.checkbox_widget(spec); -}; +IPA.dns.record_modify_column = function(spec) { -IPA.widget_factories['force_dnszone_add_checkbox'] = IPA.force_dnszone_add_checkbox_widget; -IPA.field_factories['force_dnszone_add_checkbox'] = IPA.checkbox_field; + spec = spec || {}; + + var that = IPA.column(spec); + + that.text = spec.text || IPA.messages.buttons.edit; + + that.setup = function(container, record, suppress_link) { + + container.empty(); + + var value = record[that.name]; + + $('<a/>', { + href: '#'+that.text, + text: that.text, + style: 'float: right;', + click: function() { + return that.link_handler(value); + } + }).appendTo(container); + }; + + return that; +}; IPA.ip_address_validator = function(spec) { @@ -963,5 +1864,6 @@ IPA.ip_v6_address_validator = function(spec) { return IPA.ip_address_validator(spec); }; + IPA.register('dnszone', IPA.dns.zone_entity); IPA.register('dnsrecord', IPA.dns.record_entity); diff --git a/install/ui/field.js b/install/ui/field.js index 1caab161b..c448c41c5 100644 --- a/install/ui/field.js +++ b/install/ui/field.js @@ -101,7 +101,7 @@ IPA.field = function(spec) { that.validate_required = function() { var values = that.save(); - if (that.is_empty(values) && that.is_required()) { + if (that.is_empty(values) && that.is_required() && that.enabled) { that.valid = false; that.show_error(IPA.messages.widget.validation.required); return false; @@ -118,6 +118,8 @@ IPA.field = function(spec) { that.hide_error(); that.valid = true; + if (!that.enabled) return that.valid; + var values = that.save(); if (that.is_empty(values)) { diff --git a/install/ui/ipa.css b/install/ui/ipa.css index 10fed5de7..3ebfc3413 100644 --- a/install/ui/ipa.css +++ b/install/ui/ipa.css @@ -1455,4 +1455,16 @@ div.entity[name=hbactest] div.facet[name=run_test] .hbac-test-content { .hbac-test-navigation-buttons { float: right; +} + + +/* ---- DNS ---- */ + +.dnstype-table div[name=position] { + + padding-right: 9px; +} + +.dnstype-table td { + font-weight: normal; }
\ No newline at end of file diff --git a/install/ui/ipa.js b/install/ui/ipa.js index 04366a8c2..f905b4178 100644 --- a/install/ui/ipa.js +++ b/install/ui/ipa.js @@ -1130,6 +1130,22 @@ IPA.limit_text = function(value, max_length) { return limited_text; }; +IPA.create_options = function(labels, values) { + + if(!values) values = labels; + + var options = []; + + for (var i=0; i<labels.length; i++) { + options.push({ + label: labels[i], + value: values[i] + }); + } + + return options; +}; + IPA.config = { default_priority: 500 }; diff --git a/install/ui/test/data/dnsrecord_add.json b/install/ui/test/data/dnsrecord_add.json index d34cb3fd0..d60f03ba6 100644 --- a/install/ui/test/data/dnsrecord_add.json +++ b/install/ui/test/data/dnsrecord_add.json @@ -1,14 +1,65 @@ { "error": null, - "id": 12, + "id": null, "result": { "result": { - "arecord": [ - "1.2.3.4" + "dn": "idnsname=my,idnsname=example.com,cn=dns,dc=dev,dc=example,dc=com", + "dnsrecords": [ + { + "a_part_ip_address": "10.10.10.11", + "dnsdata": "10.10.10.11", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.12", + "dnsdata": "10.10.10.12", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.13", + "dnsdata": "10.10.10.13", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.14", + "dnsdata": "10.10.10.14", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.16", + "dnsdata": "10.10.10.16", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.15", + "dnsdata": "10.10.10.15", + "dnstype": "A" + }, + { + "dnsdata": "10 abc", + "dnstype": "KX", + "kx_part_exchanger": "abc", + "kx_part_preference": "10" + }, + { + "dnsdata": "11 foo", + "dnstype": "KX", + "kx_part_exchanger": "foo", + "kx_part_preference": "11" + }, + { + "dnsdata": "data", + "dnstype": "TXT", + "txt_part_data": "data" + }, + { + "aaaa_part_ip_address": "::1:2:3:4", + "dnsdata": "::1:2:3:4", + "dnstype": "AAAA" + } ], - "dn": "idnsname=a4,idnsname=example.com,cn=dns,dc=example,dc=com", "idnsname": [ - "a4" + "my" ], "objectclass": [ "top", @@ -16,6 +67,6 @@ ] }, "summary": null, - "value": "a4" + "value": "my" } }
\ No newline at end of file diff --git a/install/ui/test/data/dnsrecord_del.json b/install/ui/test/data/dnsrecord_del.json index 93a53627c..a1e1c88dc 100644 --- a/install/ui/test/data/dnsrecord_del.json +++ b/install/ui/test/data/dnsrecord_del.json @@ -1,10 +1,62 @@ { "error": null, + "id": null, "result": { - "idnsname": [ - "@" - ] - }, - "summary": null, - "value": "@" - } + "result": { + "dnsrecords": [ + { + "a_part_ip_address": "10.10.10.11", + "dnsdata": "10.10.10.11", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.12", + "dnsdata": "10.10.10.12", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.13", + "dnsdata": "10.10.10.13", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.14", + "dnsdata": "10.10.10.14", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.16", + "dnsdata": "10.10.10.16", + "dnstype": "A" + }, + { + "dnsdata": "10 abc", + "dnstype": "KX", + "kx_part_exchanger": "abc", + "kx_part_preference": "10" + }, + { + "dnsdata": "11 foo", + "dnstype": "KX", + "kx_part_exchanger": "foo", + "kx_part_preference": "11" + }, + { + "dnsdata": "data", + "dnstype": "TXT", + "txt_part_data": "data" + }, + { + "aaaa_part_ip_address": "::1:2:3:4", + "dnsdata": "::1:2:3:4", + "dnstype": "AAAA" + } + ], + "idnsname": [ + "my" + ] + }, + "summary": null, + "value": "my" + } +}
\ No newline at end of file diff --git a/install/ui/test/data/dnsrecord_show.json b/install/ui/test/data/dnsrecord_show.json index 3e3d5f8b4..0cbb77f17 100644 --- a/install/ui/test/data/dnsrecord_show.json +++ b/install/ui/test/data/dnsrecord_show.json @@ -3,16 +3,6 @@ "id": null, "result": { "result": { - "aaaarecord": [ - "feed:babe:beef:cafe::0001", - "feed:babe:beef:cafe::0002", - "feed:babe:beef:cafe::0004" - ], - "arecord": [ - "3.4.5.6", - "1.3.5.7", - "10.10.2.1" - ], "attributelevelrights": { "a6record": "rscwo", "aaaarecord": "rscwo", @@ -48,26 +38,70 @@ "sshfprecord": "rscwo", "txtrecord": "rscwo" }, - "dn": "idnsname=testrec,idnsname=example.com,cn=dns,dc=example,dc=com", - "idnsname": [ - "testrec" + "dn": "idnsname=my,idnsname=example.com,cn=dns,dc=dev,dc=example,dc=com", + "dnsrecords": [ + { + "a_part_ip_address": "10.10.10.11", + "dnsdata": "10.10.10.11", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.12", + "dnsdata": "10.10.10.12", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.13", + "dnsdata": "10.10.10.13", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.14", + "dnsdata": "10.10.10.14", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.16", + "dnsdata": "10.10.10.16", + "dnstype": "A" + }, + { + "a_part_ip_address": "10.10.10.10", + "dnsdata": "10.10.10.10", + "dnstype": "A" + }, + { + "dnsdata": "10 abc", + "dnstype": "KX", + "kx_part_exchanger": "abc", + "kx_part_preference": "10" + }, + { + "dnsdata": "11 foo", + "dnstype": "KX", + "kx_part_exchanger": "foo", + "kx_part_preference": "11" + }, + { + "dnsdata": "data", + "dnstype": "TXT", + "txt_part_data": "data" + }, + { + "aaaa_part_ip_address": "::1:2:3:4", + "dnsdata": "::1:2:3:4", + "dnstype": "AAAA" + } ], - "keyrecord": [ - "key" + "idnsname": [ + "my" ], "objectclass": [ "top", "idnsrecord" - ], - "srvrecord": [ - "1 1 80 dev" - ], - "txtrecord": [ - "A Text Record", - "Another Text Record" ] }, "summary": null, - "value": "testrec" + "value": "my" } }
\ No newline at end of file diff --git a/install/ui/test/data/ipa_init.json b/install/ui/test/data/ipa_init.json index 399a931bd..0f6667fac 100644 --- a/install/ui/test/data/ipa_init.json +++ b/install/ui/test/data/ipa_init.json @@ -48,6 +48,7 @@ "add_many": "Add Many", "cancel": "Cancel", "close": "Close", + "edit": "Edit", "find": "Find", "get": "Get", "issue": "Issue", @@ -78,6 +79,7 @@ "confirmation": "Confirmation", "dirty_message": "This page has unsaved changes. Please save or revert.", "dirty_title": "Unsaved Changes", + "edit_title": "Edit ${entity}", "hide_details": "Hide details", "prospective": "Prospective", "redirection": "Redirection", diff --git a/install/ui/test/data/ipa_init_objects.json b/install/ui/test/data/ipa_init_objects.json index 3fab4023c..a3fa55e6c 100644 --- a/install/ui/test/data/ipa_init_objects.json +++ b/install/ui/test/data/ipa_init_objects.json @@ -102,6 +102,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -121,7 +122,7 @@ "csv_separator": ",", "csv_skipspace": true, "default": null, - "doc": "Default group for entires to land", + "doc": "Default group for entries to land", "exclude": null, "flags": [ "no_update", @@ -137,6 +138,7 @@ "multivalue": false, "name": "automemberdefaultgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -234,6 +236,7 @@ "multivalue": false, "name": "automountkey", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -265,6 +268,7 @@ "multivalue": false, "name": "automountinformation", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -303,6 +307,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -395,6 +400,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -489,6 +495,7 @@ "multivalue": false, "name": "automountmapname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -520,6 +527,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -613,6 +621,7 @@ "minvalue": 1, "multivalue": false, "name": "ipamaxusernamelength", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -642,6 +651,7 @@ "multivalue": false, "name": "ipahomesrootdir", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -673,6 +683,7 @@ "multivalue": false, "name": "ipadefaultloginshell", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -704,6 +715,7 @@ "multivalue": false, "name": "ipadefaultprimarygroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -735,6 +747,7 @@ "multivalue": false, "name": "ipadefaultemaildomain", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -764,6 +777,7 @@ "minvalue": -1, "multivalue": false, "name": "ipasearchtimelimit", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -791,6 +805,7 @@ "minvalue": -1, "multivalue": false, "name": "ipasearchrecordslimit", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -820,6 +835,7 @@ "multivalue": false, "name": "ipausersearchfields", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -851,6 +867,7 @@ "multivalue": false, "name": "ipagroupsearchfields", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -884,6 +901,7 @@ "label": "Enable migration mode", "multivalue": false, "name": "ipamigrationenabled", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -921,6 +939,7 @@ "multivalue": false, "name": "ipacertificatesubjectbase", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -952,6 +971,7 @@ "multivalue": true, "name": "ipagroupobjectclasses", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -983,6 +1003,7 @@ "multivalue": true, "name": "ipauserobjectclasses", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -1012,6 +1033,7 @@ "minvalue": 0, "multivalue": false, "name": "ipapwdexpadvnotify", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -1043,6 +1065,7 @@ "multivalue": false, "name": "ipaconfigstring", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -1074,6 +1097,7 @@ "multivalue": false, "name": "ipaselinuxusermaporder", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -1105,6 +1129,7 @@ "multivalue": false, "name": "ipaselinuxusermapdefault", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2089,6 +2114,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -2120,6 +2146,7 @@ "multivalue": false, "name": "krbpwdpolicyreference", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2149,6 +2176,7 @@ "minvalue": 0, "multivalue": false, "name": "cospriority", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -2197,6 +2225,7 @@ "multivalue": false, "name": "aciname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -2228,6 +2257,7 @@ "multivalue": true, "name": "permissions", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2259,6 +2289,7 @@ "multivalue": true, "name": "attrs", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2290,6 +2321,7 @@ "multivalue": false, "name": "memberof", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2321,6 +2353,7 @@ "multivalue": false, "name": "group", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2369,6 +2402,7 @@ "bindable": false, "container_dn": "cn=dns", "default_attributes": [ + "idnsname", "arecord", "aaaarecord", "a6record", @@ -2402,8 +2436,7 @@ "tarecord", "tkeyrecord", "tsigrecord", - "txtrecord", - "idnsname" + "txtrecord" ], "hidden_attributes": [ "objectclass", @@ -2413,7 +2446,6 @@ "label_singular": "DNS Resource Record", "methods": [ "add", - "add_record", "del", "delentry", "find", @@ -2477,6 +2509,7 @@ "multivalue": false, "name": "idnsname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -2506,6 +2539,7 @@ "minvalue": -2147483648, "multivalue": false, "name": "dnsttl", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -2531,6 +2565,7 @@ "label": "Class", "multivalue": false, "name": "dnsclass", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -2542,6 +2577,3687 @@ "CH", "HS" ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Any", + "cli_name": "dnsrecords", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Records", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Records", + "multivalue": false, + "name": "dnsrecords", + "option_group": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "object" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "dnstype", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Record type", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Record type", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "dnstype", + "noextrawhitespace": true, + "option_group": null, + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "dnsdata", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Record data", + "exclude": null, + "flags": [ + "no_update", + "no_create", + "no_search" + ], + "hint": null, + "include": null, + "label": "Record data", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "dnsdata", + "noextrawhitespace": true, + "option_group": null, + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "ARecord", + "cli_name": "a_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw A records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "A record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "arecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "A Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "a_ip_address", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "IP Address", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "A IP Address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "a_part_ip_address", + "noextrawhitespace": true, + "option_group": "A Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "AAAARecord", + "cli_name": "aaaa_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw AAAA records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "AAAA record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "aaaarecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "AAAA Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "aaaa_ip_address", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "IP Address", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "AAAA IP Address", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "aaaa_part_ip_address", + "noextrawhitespace": true, + "option_group": "AAAA Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "A6Record", + "cli_name": "a6_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw A6 records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "A6 record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "a6record", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "A6 Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "AFSDBRecord", + "cli_name": "afsdb_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw AFSDB records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "AFSDB record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "afsdbrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "AFSDB Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "afsdb_subtype", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Subtype", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "AFSDB Subtype", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "afsdb_part_subtype", + "option_group": "AFSDB Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "afsdb_hostname", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Hostname", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "AFSDB Hostname", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "afsdb_part_hostname", + "noextrawhitespace": true, + "option_group": "AFSDB Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "APLRecord", + "cli_name": "apl_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw APL records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "APL record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "aplrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "APL Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "CERTRecord", + "cli_name": "cert_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw CERT records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "CERT record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "certrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "CERT Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "cert_type", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Certificate Type", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "CERT Certificate Type", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "cert_part_type", + "option_group": "CERT Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "cert_key_tag", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Key Tag", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "CERT Key Tag", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "cert_part_key_tag", + "option_group": "CERT Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "cert_algorithm", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Algorithm", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "CERT Algorithm", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "cert_part_algorithm", + "option_group": "CERT Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "cert_certificate_or_crl", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Certificate/CRL", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "CERT Certificate/CRL", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cert_part_certificate_or_crl", + "noextrawhitespace": true, + "option_group": "CERT Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "CNAMERecord", + "cli_name": "cname_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw CNAME records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "CNAME record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "cnamerecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "CNAME Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "cname_hostname", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "A hostname which this alias hostname points to", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "CNAME Hostname", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "cname_part_hostname", + "noextrawhitespace": true, + "option_group": "CNAME Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "DHCIDRecord", + "cli_name": "dhcid_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw DHCID records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "DHCID record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "dhcidrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "DHCID Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "DLVRecord", + "cli_name": "dlv_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw DLV records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "DLV record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "dlvrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "DLV Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "DNAMERecord", + "cli_name": "dname_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw DNAME records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "DNAME record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "dnamerecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "DNAME Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "dname_target", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Target", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "DNAME Target", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "dname_part_target", + "noextrawhitespace": true, + "option_group": "DNAME Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "DNSKEYRecord", + "cli_name": "dnskey_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw DNSKEY records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "DNSKEY record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "dnskeyrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "DNSKEY Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "DSRecord", + "cli_name": "ds_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw DS records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "DS record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "dsrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "DS Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ds_key_tag", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Key Tag", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "DS Key Tag", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "ds_part_key_tag", + "option_group": "DS Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ds_algorithm", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Algorithm", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "DS Algorithm", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "ds_part_algorithm", + "option_group": "DS Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "ds_digest_type", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Digest Type", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "DS Digest Type", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "ds_part_digest_type", + "option_group": "DS Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "ds_digest", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Digest", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "DS Digest", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ds_part_digest", + "noextrawhitespace": true, + "option_group": "DS Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "HIPRecord", + "cli_name": "hip_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw HIP records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "HIP record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "hiprecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "HIP Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "IPSECKEYRecord", + "cli_name": "ipseckey_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw IPSECKEY records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "IPSECKEY record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "ipseckeyrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "IPSECKEY Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "KEYRecord", + "cli_name": "key_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw KEY records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "KEY record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "keyrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "KEY Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "key_flags", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Flags", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "KEY Flags", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "key_part_flags", + "option_group": "KEY Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "key_protocol", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Protocol", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "KEY Protocol", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "key_part_protocol", + "option_group": "KEY Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "key_algorithm", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Algorithm", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "KEY Algorithm", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "key_part_algorithm", + "option_group": "KEY Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "key_public_key", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Public Key", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "KEY Public Key", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "key_part_public_key", + "noextrawhitespace": true, + "option_group": "KEY Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "KXRecord", + "cli_name": "kx_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw KX records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "KX record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "kxrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "KX Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "kx_preference", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Preference given to this exchanger. Lower values are more preferred", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "KX Preference", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "kx_part_preference", + "option_group": "KX Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "kx_exchanger", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "A host willing to act as a key exchanger", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "KX Exchanger", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "kx_part_exchanger", + "noextrawhitespace": true, + "option_group": "KX Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "LOCRecord", + "cli_name": "loc_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw LOC records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "LOC record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "locrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "LOC Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "loc_lat_deg", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Degrees Latitude", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Degrees Latitude", + "maxvalue": 90, + "minvalue": 0, + "multivalue": false, + "name": "loc_part_lat_deg", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "loc_lat_min", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Minutes Latitude", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Minutes Latitude", + "maxvalue": 59, + "minvalue": 0, + "multivalue": false, + "name": "loc_part_lat_min", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Float", + "cli_name": "loc_lat_sec", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Seconds Latitude", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Seconds Latitude", + "maxvalue": 59.999, + "minvalue": 0.0, + "multivalue": false, + "name": "loc_part_lat_sec", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "float" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "loc_lat_dir", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Direction Latitude", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Direction Latitude", + "multivalue": false, + "name": "loc_part_lat_dir", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "values": [ + "N", + "S" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "loc_lon_deg", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Degrees Longtitude", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Degrees Longtitude", + "maxvalue": 180, + "minvalue": 0, + "multivalue": false, + "name": "loc_part_lon_deg", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "loc_lon_min", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Minutes Longtitude", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Minutes Longtitude", + "maxvalue": 59, + "minvalue": 0, + "multivalue": false, + "name": "loc_part_lon_min", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Float", + "cli_name": "loc_lon_sec", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Seconds Longtitude", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Seconds Longtitude", + "maxvalue": 59.999, + "minvalue": 0.0, + "multivalue": false, + "name": "loc_part_lon_sec", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "float" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "loc_lon_dir", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Direction Longtitude", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Direction Longtitude", + "multivalue": false, + "name": "loc_part_lon_dir", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "values": [ + "E", + "W" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Float", + "cli_name": "loc_altitude", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Altitude", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Altitude", + "maxvalue": 42849672.95, + "minvalue": -100000.0, + "multivalue": false, + "name": "loc_part_altitude", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "float" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Float", + "cli_name": "loc_size", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Size", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Size", + "maxvalue": 90000000.0, + "minvalue": 0.0, + "multivalue": false, + "name": "loc_part_size", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "float" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Float", + "cli_name": "loc_h_precision", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Horizontal Precision", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Horizontal Precision", + "maxvalue": 90000000.0, + "minvalue": 0.0, + "multivalue": false, + "name": "loc_part_h_precision", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "float" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Float", + "cli_name": "loc_v_precision", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Vertical Precision", + "exclude": null, + "flags": [ + "dnsrecord_optional", + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "LOC Vertical Precision", + "maxvalue": 90000000.0, + "minvalue": 0.0, + "multivalue": false, + "name": "loc_part_v_precision", + "option_group": "LOC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "float" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "MXRecord", + "cli_name": "mx_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw MX records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "MX record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "mxrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "MX Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "mx_preference", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Preference given to this exchanger. Lower values are more preferred", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "MX Preference", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "mx_part_preference", + "option_group": "MX Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "mx_exchanger", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "A host willing to act as a mail exchanger", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "MX Exchanger", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "mx_part_exchanger", + "noextrawhitespace": true, + "option_group": "MX Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "NAPTRRecord", + "cli_name": "naptr_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw NAPTR records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "NAPTR record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "naptrrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "NAPTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "naptr_order", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Order", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NAPTR Order", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "naptr_part_order", + "option_group": "NAPTR Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "naptr_preference", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Preference", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NAPTR Preference", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "naptr_part_preference", + "option_group": "NAPTR Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "naptr_flags", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Flags", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NAPTR Flags", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "naptr_part_flags", + "noextrawhitespace": true, + "option_group": "NAPTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "naptr_service", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Service", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NAPTR Service", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "naptr_part_service", + "noextrawhitespace": true, + "option_group": "NAPTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "naptr_regexp", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Regular Expression", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NAPTR Regular Expression", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "naptr_part_regexp", + "noextrawhitespace": true, + "option_group": "NAPTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "naptr_replacement", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Replacement", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NAPTR Replacement", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "naptr_part_replacement", + "noextrawhitespace": true, + "option_group": "NAPTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "NSRecord", + "cli_name": "ns_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw NS records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "NS record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "nsrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "NS Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "ns_hostname", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Hostname", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NS Hostname", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ns_part_hostname", + "noextrawhitespace": true, + "option_group": "NS Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "NSECRecord", + "cli_name": "nsec_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw NSEC records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "NSEC record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "nsecrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "NSEC Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "nsec_next", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Next Domain Name", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NSEC Next Domain Name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "nsec_part_next", + "noextrawhitespace": true, + "option_group": "NSEC Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "nsec_types", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Type Map", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "NSEC Type Map", + "multivalue": true, + "name": "nsec_part_types", + "option_group": "NSEC Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "values": [ + "SOA", + "A", + "AAAA", + "A6", + "AFSDB", + "APL", + "CERT", + "CNAME", + "DHCID", + "DLV", + "DNAME", + "DNSKEY", + "DS", + "HIP", + "IPSECKEY", + "KEY", + "KX", + "LOC", + "MX", + "NAPTR", + "NS", + "NSEC", + "NSEC3", + "NSEC3PARAM", + "PTR", + "RRSIG", + "RP", + "SIG", + "SPF", + "SRV", + "SSHFP", + "TA", + "TKEY", + "TSIG", + "TXT" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "NSEC3Record", + "cli_name": "nsec3_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw NSEC3 records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "NSEC3 record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "nsec3record", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "NSEC3 Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "NSEC3PARAMRecord", + "cli_name": "nsec3param_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw NSEC3PARAM records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "NSEC3PARAM record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "nsec3paramrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "NSEC3PARAM Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "PTRRecord", + "cli_name": "ptr_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw PTR records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "PTR record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "ptrrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "PTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "ptr_hostname", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "The hostname this reverse record points to", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "PTR Hostname", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "ptr_part_hostname", + "noextrawhitespace": true, + "option_group": "PTR Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "RRSIGRecord", + "cli_name": "rrsig_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw RRSIG records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "RRSIG record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "rrsigrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "RRSIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "rrsig_type_covered", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Type Covered", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Type Covered", + "multivalue": false, + "name": "rrsig_part_type_covered", + "option_group": "RRSIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "values": [ + "SOA", + "A", + "AAAA", + "A6", + "AFSDB", + "APL", + "CERT", + "CNAME", + "DHCID", + "DLV", + "DNAME", + "DNSKEY", + "DS", + "HIP", + "IPSECKEY", + "KEY", + "KX", + "LOC", + "MX", + "NAPTR", + "NS", + "NSEC", + "NSEC3", + "NSEC3PARAM", + "PTR", + "RRSIG", + "RP", + "SPF", + "SRV", + "SSHFP", + "TA", + "TKEY", + "TSIG", + "TXT" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "rrsig_algorithm", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Algorithm", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Algorithm", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "rrsig_part_algorithm", + "option_group": "RRSIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "rrsig_labels", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Labels", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Labels", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "rrsig_part_labels", + "option_group": "RRSIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "rrsig_original_ttl", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Original TTL", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Original TTL", + "maxvalue": 2147483647, + "minvalue": 0, + "multivalue": false, + "name": "rrsig_part_original_ttl", + "option_group": "RRSIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "rrsig_signature_expiration", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signature Expiration", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Signature Expiration", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "rrsig_part_signature_expiration", + "noextrawhitespace": true, + "option_group": "RRSIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "rrsig_signature_inception", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signature Inception", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Signature Inception", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "rrsig_part_signature_inception", + "noextrawhitespace": true, + "option_group": "RRSIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "rrsig_key_tag", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Key Tag", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Key Tag", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "rrsig_part_key_tag", + "option_group": "RRSIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "rrsig_signers_name", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signer's Name", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Signer's Name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "rrsig_part_signers_name", + "noextrawhitespace": true, + "option_group": "RRSIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "rrsig_signature", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signature", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "RRSIG Signature", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "rrsig_part_signature", + "noextrawhitespace": true, + "option_group": "RRSIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "RPRecord", + "cli_name": "rp_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw RP records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "RP record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "rprecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "RP Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "SIGRecord", + "cli_name": "sig_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw SIG records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SIG record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "sigrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "SIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "StrEnum", + "cli_name": "sig_type_covered", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Type Covered", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Type Covered", + "multivalue": false, + "name": "sig_part_type_covered", + "option_group": "SIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "values": [ + "SOA", + "A", + "AAAA", + "A6", + "AFSDB", + "APL", + "CERT", + "CNAME", + "DHCID", + "DLV", + "DNAME", + "DNSKEY", + "DS", + "HIP", + "IPSECKEY", + "KEY", + "KX", + "LOC", + "MX", + "NAPTR", + "NS", + "NSEC", + "NSEC3", + "NSEC3PARAM", + "PTR", + "RRSIG", + "RP", + "SPF", + "SRV", + "SSHFP", + "TA", + "TKEY", + "TSIG", + "TXT" + ] + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "sig_algorithm", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Algorithm", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Algorithm", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "sig_part_algorithm", + "option_group": "SIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "sig_labels", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Labels", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Labels", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "sig_part_labels", + "option_group": "SIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "sig_original_ttl", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Original TTL", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Original TTL", + "maxvalue": 2147483647, + "minvalue": 0, + "multivalue": false, + "name": "sig_part_original_ttl", + "option_group": "SIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sig_signature_expiration", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signature Expiration", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Signature Expiration", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sig_part_signature_expiration", + "noextrawhitespace": true, + "option_group": "SIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sig_signature_inception", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signature Inception", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Signature Inception", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sig_part_signature_inception", + "noextrawhitespace": true, + "option_group": "SIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "sig_key_tag", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Key Tag", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Key Tag", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "sig_part_key_tag", + "option_group": "SIG Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sig_signers_name", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signer's Name", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Signer's Name", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sig_part_signers_name", + "noextrawhitespace": true, + "option_group": "SIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sig_signature", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Signature", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SIG Signature", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sig_part_signature", + "noextrawhitespace": true, + "option_group": "SIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "SPFRecord", + "cli_name": "spf_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw SPF records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "SPF record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "spfrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "SPF Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "SRVRecord", + "cli_name": "srv_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw SRV records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SRV record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "srvrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "SRV Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "srv_priority", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Priority", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SRV Priority", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "srv_part_priority", + "option_group": "SRV Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "srv_weight", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Weight", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SRV Weight", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "srv_part_weight", + "option_group": "SRV Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "srv_port", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Port", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SRV Port", + "maxvalue": 65535, + "minvalue": 0, + "multivalue": false, + "name": "srv_part_port", + "option_group": "SRV Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "srv_target", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "The domain name of the target host or '.' if the service is decidedly not available at this domain", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SRV Target", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "srv_part_target", + "noextrawhitespace": true, + "option_group": "SRV Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "SSHFPRecord", + "cli_name": "sshfp_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw SSHFP records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "SSHFP record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "sshfprecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "SSHFP Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "sshfp_algorithm", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Algorithm", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SSHFP Algorithm", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "sshfp_part_algorithm", + "option_group": "SSHFP Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Int", + "cli_name": "sshfp_fp_type", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Fingerprint Type", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SSHFP Fingerprint Type", + "maxvalue": 255, + "minvalue": 0, + "multivalue": false, + "name": "sshfp_part_fp_type", + "option_group": "SSHFP Record", + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "int" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "sshfp_fingerprint", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Fingerprint", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "SSHFP Fingerprint", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "sshfp_part_fingerprint", + "noextrawhitespace": true, + "option_group": "SSHFP Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "TARecord", + "cli_name": "ta_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw TA records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "TA record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "tarecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "TA Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "TKEYRecord", + "cli_name": "tkey_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw TKEY records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "TKEY record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "tkeyrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "TKEY Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "TSIGRecord", + "cli_name": "tsig_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw TSIG records", + "exclude": null, + "flags": [ + "no_option" + ], + "hint": null, + "include": null, + "label": "TSIG record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "tsigrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "TSIG Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "TXTRecord", + "cli_name": "txt_rec", + "cli_short_name": null, + "csv": true, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Comma-separated list of raw TXT records", + "exclude": null, + "flags": [], + "hint": null, + "include": null, + "label": "TXT record", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": true, + "name": "txtrecord", + "noextrawhitespace": true, + "normalizedns": true, + "option_group": "TXT Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode", + "validatedns": true + }, + { + "alwaysask": false, + "attribute": false, + "autofill": false, + "class": "Str", + "cli_name": "txt_data", + "cli_short_name": null, + "csv": false, + "csv_separator": ",", + "csv_skipspace": true, + "default": null, + "doc": "Text Data", + "exclude": null, + "flags": [ + "dnsrecord_part", + "virtual_attribute" + ], + "hint": null, + "include": null, + "label": "TXT Text Data", + "length": null, + "maxlength": null, + "minlength": null, + "multivalue": false, + "name": "txt_part_data", + "noextrawhitespace": true, + "option_group": "TXT Record", + "pattern": null, + "pattern_errmsg": null, + "primary_key": false, + "query": false, + "required": false, + "sortorder": 2, + "type": "unicode" } ], "uuid_attribute": "" @@ -2710,6 +6426,7 @@ "multivalue": false, "name": "idnsname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -2743,6 +6460,7 @@ "multivalue": false, "name": "name_from_ip", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2774,6 +6492,7 @@ "multivalue": false, "name": "idnssoamname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2805,6 +6524,7 @@ "multivalue": false, "name": "idnssoarname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -2834,6 +6554,7 @@ "minvalue": 1, "multivalue": false, "name": "idnssoaserial", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -2861,6 +6582,7 @@ "minvalue": 0, "multivalue": false, "name": "idnssoarefresh", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -2888,6 +6610,7 @@ "minvalue": 0, "multivalue": false, "name": "idnssoaretry", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -2915,6 +6638,7 @@ "minvalue": 0, "multivalue": false, "name": "idnssoaexpire", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -2942,6 +6666,7 @@ "minvalue": 0, "multivalue": false, "name": "idnssoaminimum", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -2969,6 +6694,7 @@ "minvalue": -2147483648, "multivalue": false, "name": "dnsttl", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -2994,6 +6720,7 @@ "label": "SOA class", "multivalue": false, "name": "dnsclass", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3029,6 +6756,7 @@ "multivalue": false, "name": "idnsupdatepolicy", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3065,6 +6793,7 @@ "label": "Active zone", "multivalue": false, "name": "idnszoneactive", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3102,6 +6831,7 @@ "label": "Dynamic update", "multivalue": false, "name": "idnsallowdynupdate", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3303,6 +7033,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "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, @@ -3334,6 +7065,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3363,6 +7095,7 @@ "minvalue": -2147483648, "multivalue": false, "name": "gidnumber", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3506,6 +7239,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -3538,6 +7272,7 @@ "label": "Rule type", "multivalue": false, "name": "accessruletype", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -3567,6 +7302,7 @@ "label": "User category", "multivalue": false, "name": "usercategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3595,6 +7331,7 @@ "label": "Host category", "multivalue": false, "name": "hostcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3623,6 +7360,7 @@ "label": "Source host category", "multivalue": false, "name": "sourcehostcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3651,6 +7389,7 @@ "label": "Service category", "multivalue": false, "name": "servicecategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3683,6 +7422,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3720,6 +7460,7 @@ "label": "Enabled", "multivalue": false, "name": "ipaenabledflag", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -3759,6 +7500,7 @@ "multivalue": false, "name": "memberuser_user", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3794,6 +7536,7 @@ "multivalue": false, "name": "memberuser_group", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3829,6 +7572,7 @@ "multivalue": false, "name": "memberhost_host", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3864,6 +7608,7 @@ "multivalue": false, "name": "memberhost_hostgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3899,6 +7644,7 @@ "multivalue": false, "name": "sourcehost_host", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3934,6 +7680,7 @@ "multivalue": false, "name": "sourcehost_hostgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -3969,6 +7716,7 @@ "multivalue": false, "name": "memberservice_hbacsvc", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4004,6 +7752,7 @@ "multivalue": false, "name": "memberservice_hbacsvcgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4105,6 +7854,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -4136,6 +7886,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4244,6 +7995,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -4275,6 +8027,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4422,6 +8175,7 @@ "multivalue": false, "name": "fqdn", "noextrawhitespace": true, + "option_group": null, "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-\\.]{0,254}$", "pattern_errmsg": "may only include letters, numbers, and -", "primary_key": true, @@ -4453,6 +8207,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4484,6 +8239,7 @@ "multivalue": false, "name": "l", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4515,6 +8271,7 @@ "multivalue": false, "name": "nshostlocation", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4546,6 +8303,7 @@ "multivalue": false, "name": "nshardwareplatform", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4577,6 +8335,7 @@ "multivalue": false, "name": "nsosversion", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4608,6 +8367,7 @@ "multivalue": false, "name": "userpassword", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4644,6 +8404,7 @@ "label": "<random>", "multivalue": false, "name": "random", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -4684,6 +8445,7 @@ "multivalue": false, "name": "randompassword", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4714,6 +8476,7 @@ "minlength": null, "multivalue": false, "name": "usercertificate", + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4749,6 +8512,7 @@ "multivalue": false, "name": "krbprincipalname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4877,6 +8641,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -4908,6 +8673,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -4923,7 +8689,7 @@ "aciattrs": [], "attribute_members": {}, "bindable": false, - "container_dn": "cn=EXAMPLE.COM,cn=kerberos", + "container_dn": "cn=DEV.EXAMPLE.COM,cn=kerberos", "default_attributes": [ "krbmaxticketlife", "krbmaxrenewableage" @@ -4993,6 +8759,7 @@ "multivalue": false, "name": "uid", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -5022,6 +8789,7 @@ "minvalue": 1, "multivalue": false, "name": "krbmaxticketlife", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -5049,6 +8817,7 @@ "minvalue": 1, "multivalue": false, "name": "krbmaxrenewableage", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -5185,6 +8954,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -5216,6 +8986,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5247,6 +9018,7 @@ "multivalue": false, "name": "nisdomainname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5281,6 +9053,7 @@ "multivalue": false, "name": "ipauniqueid", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5308,6 +9081,7 @@ "label": "User category", "multivalue": false, "name": "usercategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -5336,6 +9110,7 @@ "label": "Host category", "multivalue": false, "name": "hostcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -5447,6 +9222,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -5478,6 +9254,7 @@ "multivalue": true, "name": "permissions", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5512,6 +9289,7 @@ "multivalue": true, "name": "attrs", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5542,6 +9320,7 @@ "label": "Type", "multivalue": false, "name": "type", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -5583,6 +9362,7 @@ "multivalue": false, "name": "memberof", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5617,6 +9397,7 @@ "multivalue": false, "name": "filter", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5651,6 +9432,7 @@ "multivalue": false, "name": "subtree", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5685,6 +9467,7 @@ "multivalue": false, "name": "targetgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5807,6 +9590,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -5838,6 +9622,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -5864,7 +9649,7 @@ ], "attribute_members": {}, "bindable": false, - "container_dn": "cn=EXAMPLE.COM,cn=kerberos", + "container_dn": "cn=DEV.EXAMPLE.COM,cn=kerberos", "default_attributes": [ "cn", "cospriority", @@ -5948,6 +9733,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -5977,6 +9763,7 @@ "minvalue": 0, "multivalue": false, "name": "krbmaxpwdlife", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6004,6 +9791,7 @@ "minvalue": 0, "multivalue": false, "name": "krbminpwdlife", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6031,6 +9819,7 @@ "minvalue": 0, "multivalue": false, "name": "krbpwdhistorylength", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6058,6 +9847,7 @@ "minvalue": 0, "multivalue": false, "name": "krbpwdmindiffchars", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6085,6 +9875,7 @@ "minvalue": 0, "multivalue": false, "name": "krbpwdminlength", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6114,6 +9905,7 @@ "minvalue": 0, "multivalue": false, "name": "cospriority", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -6141,6 +9933,7 @@ "minvalue": 0, "multivalue": false, "name": "krbpwdmaxfailure", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6168,6 +9961,7 @@ "minvalue": 0, "multivalue": false, "name": "krbpwdfailurecountinterval", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6195,6 +9989,7 @@ "minvalue": 0, "multivalue": false, "name": "krbpwdlockoutduration", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6312,6 +10107,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -6343,6 +10139,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6393,6 +10190,7 @@ "multivalue": false, "name": "aciname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -6424,6 +10222,7 @@ "multivalue": true, "name": "permissions", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6455,6 +10254,7 @@ "multivalue": true, "name": "attrs", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6580,6 +10380,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -6611,6 +10412,7 @@ "multivalue": false, "name": "ipaselinuxuser", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6642,6 +10444,7 @@ "multivalue": false, "name": "seealso", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6669,6 +10472,7 @@ "label": "User category", "multivalue": false, "name": "usercategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6697,6 +10501,7 @@ "label": "Host category", "multivalue": false, "name": "hostcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6729,6 +10534,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6766,6 +10572,7 @@ "label": "Enabled", "multivalue": false, "name": "ipaenabledflag", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -6805,6 +10612,7 @@ "multivalue": false, "name": "memberuser_user", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6840,6 +10648,7 @@ "multivalue": false, "name": "memberuser_group", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6875,6 +10684,7 @@ "multivalue": false, "name": "memberhost_host", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -6910,6 +10720,7 @@ "multivalue": false, "name": "memberhost_hostgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7024,6 +10835,7 @@ "multivalue": false, "name": "krbprincipalname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -7056,6 +10868,7 @@ "minlength": null, "multivalue": false, "name": "usercertificate", + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7157,6 +10970,7 @@ "multivalue": false, "name": "sudocmd", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -7188,6 +11002,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7296,6 +11111,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -7327,6 +11143,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7362,6 +11179,7 @@ "multivalue": false, "name": "membercmd_sudocmd", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7397,6 +11215,7 @@ "multivalue": false, "name": "membercmd_sudocmdgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7470,7 +11289,11 @@ "memberhost", "memberallowcmd", "memberdenycmd", - "ipasudoopt" + "ipasudoopt", + "ipasudorunas", + "ipasudorunasgroup", + "ipasudorunasusercategory", + "ipasudorunasgroupcategory" ], "hidden_attributes": [ "objectclass", @@ -7558,6 +11381,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": true, @@ -7589,6 +11413,7 @@ "multivalue": false, "name": "description", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7626,6 +11451,7 @@ "label": "Enabled", "multivalue": false, "name": "ipaenabledflag", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -7657,6 +11483,7 @@ "label": "User category", "multivalue": false, "name": "usercategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -7685,6 +11512,7 @@ "label": "Host category", "multivalue": false, "name": "hostcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -7713,6 +11541,7 @@ "label": "Command category", "multivalue": false, "name": "cmdcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -7741,6 +11570,7 @@ "label": "RunAs User category", "multivalue": false, "name": "ipasudorunasusercategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -7769,6 +11599,7 @@ "label": "RunAs Group category", "multivalue": false, "name": "ipasudorunasgroupcategory", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -7805,6 +11636,7 @@ "multivalue": false, "name": "memberuser_user", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7840,6 +11672,7 @@ "multivalue": false, "name": "memberuser_group", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7875,6 +11708,7 @@ "multivalue": false, "name": "memberhost_host", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7910,6 +11744,7 @@ "multivalue": false, "name": "memberhost_hostgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7945,6 +11780,7 @@ "multivalue": false, "name": "memberallowcmd_sudocmd", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -7980,6 +11816,7 @@ "multivalue": false, "name": "memberdenycmd_sudocmd", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8015,6 +11852,7 @@ "multivalue": false, "name": "memberallowcmd_sudocmdgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8050,6 +11888,7 @@ "multivalue": false, "name": "memberdenycmd_sudocmdgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8085,6 +11924,7 @@ "multivalue": false, "name": "ipasudorunas_user", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8120,6 +11960,7 @@ "multivalue": false, "name": "ipasudorunas_group", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8151,6 +11992,7 @@ "multivalue": false, "name": "externaluser", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8182,6 +12024,7 @@ "multivalue": false, "name": "ipasudorunasextuser", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8213,6 +12056,7 @@ "multivalue": false, "name": "ipasudorunasextgroup", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8248,6 +12092,7 @@ "multivalue": false, "name": "ipasudoopt", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8283,6 +12128,7 @@ "multivalue": false, "name": "ipasudorunasgroup_group", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8484,6 +12330,7 @@ "multivalue": false, "name": "uid", "noextrawhitespace": true, + "option_group": null, "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, @@ -8515,6 +12362,7 @@ "multivalue": false, "name": "givenname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8546,6 +12394,7 @@ "multivalue": false, "name": "sn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8577,6 +12426,7 @@ "multivalue": false, "name": "cn", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8608,6 +12458,7 @@ "multivalue": false, "name": "displayname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8639,6 +12490,7 @@ "multivalue": false, "name": "initials", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8670,6 +12522,7 @@ "multivalue": false, "name": "homedirectory", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8701,6 +12554,7 @@ "multivalue": false, "name": "gecos", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8732,6 +12586,7 @@ "multivalue": false, "name": "loginshell", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8765,6 +12620,7 @@ "multivalue": false, "name": "krbprincipalname", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8796,6 +12652,7 @@ "multivalue": true, "name": "mail", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8830,6 +12687,7 @@ "multivalue": false, "name": "userpassword", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8866,6 +12724,7 @@ "label": "<random>", "multivalue": false, "name": "random", + "option_group": null, "primary_key": false, "query": false, "required": false, @@ -8906,6 +12765,7 @@ "multivalue": false, "name": "randompassword", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -8935,6 +12795,7 @@ "minvalue": 1, "multivalue": false, "name": "uidnumber", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -8962,6 +12823,7 @@ "minvalue": -2147483648, "multivalue": false, "name": "gidnumber", + "option_group": null, "primary_key": false, "query": false, "required": true, @@ -8991,6 +12853,7 @@ "multivalue": false, "name": "street", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9022,6 +12885,7 @@ "multivalue": false, "name": "l", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9053,6 +12917,7 @@ "multivalue": false, "name": "st", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9084,6 +12949,7 @@ "multivalue": false, "name": "postalcode", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9115,6 +12981,7 @@ "multivalue": true, "name": "telephonenumber", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9146,6 +13013,7 @@ "multivalue": true, "name": "mobile", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9177,6 +13045,7 @@ "multivalue": true, "name": "pager", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9208,6 +13077,7 @@ "multivalue": true, "name": "facsimiletelephonenumber", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9239,6 +13109,7 @@ "multivalue": false, "name": "ou", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9270,6 +13141,7 @@ "multivalue": false, "name": "title", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9301,6 +13173,7 @@ "multivalue": false, "name": "manager", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9332,6 +13205,7 @@ "multivalue": false, "name": "carlicense", "noextrawhitespace": true, + "option_group": null, "pattern": null, "pattern_errmsg": null, "primary_key": false, @@ -9369,6 +13243,7 @@ "label": "Account disabled", "multivalue": false, "name": "nsaccountlock", + "option_group": null, "primary_key": false, "query": false, "required": false, diff --git a/install/ui/widget.js b/install/ui/widget.js index a7dd81e67..21259ff85 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -744,6 +744,7 @@ IPA.radio_widget = function(spec) { var that = IPA.input_widget(spec); + that.default_value = spec.default_value; that.options = spec.options; that.create = function(container) { @@ -802,6 +803,9 @@ IPA.radio_widget = function(spec) { var input = $(that.selector+'[value="'+value+'"]', that.container); if (input.length) { input.attr('checked', true); + } else if (that.default_value) { + input = $(that.selector+'[value="'+that.default_value+'"]', that.container); + input.attr('checked', true); } that.value_changed.notify([that.save()], that); @@ -809,6 +813,11 @@ IPA.radio_widget = function(spec) { that.clear = function() { $(that.selector, that.container).attr('checked', false); + + if (that.default_value) { + var input = $(that.selector+'[value="'+that.default_value+'"]', that.container); + input.attr('checked', true); + } }; // methods that should be invoked by subclasses @@ -1118,6 +1127,7 @@ IPA.table_widget = function (spec) { that.multivalued = spec.multivalued === undefined ? true : spec.multivalued; that.columns = $.ordered_map(); + that.value_attr_name = spec.value_attribute || that.name; that.get_columns = function() { return that.columns.values; @@ -1430,13 +1440,27 @@ IPA.table_widget = function (spec) { that.empty(); - that.values = result[that.name] || []; + that.values = result[that.value_attr_name] || []; for (var i=0; i<that.values.length; i++) { var record = that.get_record(result, i); that.add_record(record); } }; + that.update = function(records) { + + that.empty(); + + that.values = []; + that.records = records; + + for (var i=0; i<records.length; i++) { + var record = records[i]; + that.values.push(record[that.value_attr_name]); + that.add_record(record); + } + }; + that.save = function() { if (that.save_values) { var values = []; @@ -1495,16 +1519,19 @@ IPA.table_widget = function (spec) { that.select_changed(); }); - + var select_set = false; + var value; var columns = that.columns.values; + for (var i=0; i<columns.length; i++){ var column = columns[i]; - var value = record[column.name]; + value = record[column.name]; value = value ? value.toString() : ''; if (column.primary_key) { $('input[name="'+that.name+'"]', tr).val(value); + select_set = true; } var div = $('div[name="'+column.name+'"]', tr); @@ -1512,6 +1539,11 @@ IPA.table_widget = function (spec) { that.setup_column(column, div, record); } + if (!select_set) { + value = record[that.value_attr_name]; + $('input[name="'+that.name+'"]', tr).val(value); + } + return tr; }; @@ -1581,6 +1613,7 @@ IPA.table_widget = function (spec) { that.table_set_page = that.set_page; that.table_show_error = that.show_error; that.table_set_values = that.set_values; + that.table_update = that.update; return that; }; @@ -2370,17 +2403,21 @@ IPA.widget_builder = function(spec) { return that; }; -IPA.widget_factories['text'] = IPA.text_widget; -IPA.widget_factories['password'] = IPA.password_widget; + + IPA.widget_factories['checkbox'] = IPA.checkbox_widget; IPA.widget_factories['checkboxes'] = IPA.checkboxes_widget; -IPA.widget_factories['radio'] = IPA.radio_widget; -IPA.widget_factories['multivalued'] = IPA.multivalued_text_widget; -IPA.widget_factories['select'] = IPA.select_widget; -IPA.widget_factories['textarea'] = IPA.textarea_widget; -IPA.widget_factories['entity_select'] = IPA.entity_select_widget; IPA.widget_factories['combobox'] = IPA.combobox_widget; -IPA.widget_factories['link'] = IPA.link_widget; +IPA.widget_factories['composite_widget'] = IPA.composite_widget; IPA.widget_factories['details_table_section'] = IPA.details_table_section; IPA.widget_factories['details_table_section_nc'] = IPA.details_table_section_nc; IPA.widget_factories['enable'] = IPA.enable_widget; +IPA.widget_factories['entity_select'] = IPA.entity_select_widget; +IPA.widget_factories['header'] = IPA.header_widget; +IPA.widget_factories['link'] = IPA.link_widget; +IPA.widget_factories['multivalued'] = IPA.multivalued_text_widget; +IPA.widget_factories['password'] = IPA.password_widget; +IPA.widget_factories['radio'] = IPA.radio_widget; +IPA.widget_factories['select'] = IPA.select_widget; +IPA.widget_factories['textarea'] = IPA.textarea_widget; +IPA.widget_factories['text'] = IPA.text_widget; diff --git a/ipalib/plugins/internal.py b/ipalib/plugins/internal.py index 3e60f41b4..a2d8e98ca 100644 --- a/ipalib/plugins/internal.py +++ b/ipalib/plugins/internal.py @@ -183,6 +183,7 @@ class i18n_messages(Command): "add_many": _("Add Many"), "cancel": _("Cancel"), "close": _("Close"), + "edit": _("Edit"), "find": _("Find"), "get": _("Get"), "issue": _("Issue"), @@ -213,6 +214,7 @@ class i18n_messages(Command): "confirmation": _("Confirmation"), "dirty_message": _("This page has unsaved changes. Please save or revert."), "dirty_title": _("Unsaved Changes"), + "edit_title": _("Edit ${entity}"), "hide_details": _("Hide details"), "prospective": _("Prospective"), "redirection": _("Redirection"), |