ipaserver.plugins.dns.dnsrecord¶
- class ipaserver.plugins.dns.dnsrecord(api)[source]¶
Bases:
ipaserver.plugins.baseldap.LDAPObject
DNS record.
Public Data Attributes:
Inherited from
LDAPObject
Inherited from
Object
Public Methods:
run_precallback_validators
(dn, entry_attrs, ...)is_pkey_zone_record
(*keys)check_zone
(zone, **options)Check if zone exists and if is master zone
get_dn
(*keys, **options)Construct an LDAP DN.
attr_to_cli
(attr)get_record_entry_attrs
(entry_attrs)postprocess_record
(record, **options)updated_rrattrs
(old_entry, entry_attrs)Returns updated RR attributes
check_record_type_collisions
(keys, rrattrs)check_record_type_dependencies
(keys, rrattrs)wait_for_modified_attr
(ldap_rrset, rdtype, ...)Wait until DNS resolver returns up-to-date answer for given RRset
wait_for_modified_attrs
(entry_attrs, ...)Wait until DNS resolver returns up-to-date answer for given entry
wait_for_modified_entries
(entries)Call wait_for_modified_attrs for all entries in given dict.
Detect if NS record change can make forward zones ineffective due missing delegation.
warning_suspicious_relative_name
(result, ...)Detect if zone name is suffix of relative record name and warn.
Inherited from
LDAPObject
get_dn
(*keys, **options)Construct an LDAP DN.
get_dn_if_exists
(*keys, **kwargs)has_objectclass
(classes, objectclass)convert_attribute_members
(entry_attrs, ...)get_indirect_members
(entry_attrs, attrs_list)get_memberindirect
(group_entry)Get indirect members
get_memberofindirect
(entry)get_password_attributes
(ldap, dn, entry_attrs)Search on the entry to determine if it has a password or keytab set.
handle_not_found
(*keys)Handle NotFound exception
handle_duplicate_entry
(*keys)__json__
()Inherited from
Object
params_minus
(*names)Yield all Param whose name is not in
names
.get_dn
(*keys, **options)Construct an LDAP DN.
This method gets called by HasParam._create_param_namespace().
__json__
()Inherited from
Plugin
__init__
(api)finalize
()Finalize plugin initialization.
Finalize plugin initialization if it has not yet been finalized.
__repr__
()Return 'module_name.class_name()' representation.
Inherited from
ReadOnly
__lock__
()Put this instance into a read-only state.
Return True if instance is locked, otherwise False.
__setattr__
(name, value)If unlocked, set attribute named
name
tovalue
.__delattr__
(name)If unlocked, delete attribute named
name
.Private Data Attributes:
Inherited from
ReadOnly
_ReadOnly__locked
Private Methods:
_dsrecord_pre_callback
(ldap, dn, ...)_nsrecord_pre_callback
(ldap, dn, ...)_idnsname_pre_callback
(ldap, dn, ...)_ptrrecord_pre_callback
(ldap, dn, ...)_entry2rrsets
(entry_attrs, dns_name, dns_domain)Convert entry_attrs to a dictionary {rdtype: rrset}.
Inherited from
Object
Do custom finalization.
_Object__get_attrs
(name)Inherited from
HasParam
_get_param_iterable
(name[, verb])Return an iterable of params defined by the attribute named
name
._filter_param_by_context
(name[, env])Filter params on attribute named
name
by environmentenv
._create_param_namespace
(name[, env])Inherited from
Plugin
_Plugin__name_getter
()_Plugin__full_name_getter
()_Plugin__bases_getter
()_Plugin__doc_getter
()_Plugin__summary_getter
()Do custom finalization.
- property Backend¶
- property Command¶
- NO_CLI = False¶
- __annotations__ = {}¶
- __delattr__(name)¶
If unlocked, delete attribute named
name
.If this instance is locked, an AttributeError will be raised.
- Parameters
name – Name of attribute to delete.
- __dict__ = mappingproxy({'__module__': 'ipaserver.plugins.dns', '__doc__': '\n DNS record.\n ', 'parent_object': 'dnszone', 'container_dn': ipapython.dn.DN('cn=dns'), 'object_name': Gettext('DNS resource record', domain='ipa', localedir=None), 'object_name_plural': Gettext('DNS resource records', domain='ipa', localedir=None), 'object_class': ['top', 'idnsrecord'], 'possible_objectclasses': ['idnsTemplateObject'], 'permission_filter_objectclasses': ['idnsrecord'], 'default_attributes': ['idnsname', 'arecord', 'aaaarecord', 'a6record', 'afsdbrecord', 'aplrecord', 'certrecord', 'cnamerecord', 'dhcidrecord', 'dlvrecord', 'dnamerecord', 'dsrecord', 'hiprecord', 'hinforecord', 'ipseckeyrecord', 'keyrecord', 'kxrecord', 'locrecord', 'mdrecord', 'minforecord', 'mxrecord', 'naptrrecord', 'nsrecord', 'nsecrecord', 'nxtrecord', 'ptrrecord', 'rrsigrecord', 'rprecord', 'sigrecord', 'spfrecord', 'srvrecord', 'sshfprecord', 'tlsarecord', 'txtrecord', 'urirecord'], 'allow_rename': True, 'label': Gettext('DNS Resource Records', domain='ipa', localedir=None), 'label_singular': Gettext('DNS Resource Record', domain='ipa', localedir=None), 'takes_params': (DNSNameParam('idnsname', cli_name='name', doc=Gettext('Record name', domain='ipa', localedir=None), label=Gettext('Record name', domain='ipa', localedir=None), primary_key=True), Int('dnsttl?', cli_name='ttl', doc=Gettext('Time to live', domain='ipa', localedir=None), label=Gettext('Time to live', domain='ipa', localedir=None), maxvalue=2147483647, minvalue=0), StrEnum('dnsclass?', cli_metavar=u"['IN', 'CS', 'CH', 'HS']", cli_name='class', flags=[u'no_option'], values=[u'IN', u'CS', u'CH', u'HS']), Any('dnsrecords?', flags=[u'no_create', u'no_search', u'no_update'], label=Gettext('Records', domain='ipa', localedir=None)), Str('dnstype?', flags=[u'no_create', u'no_search', u'no_update'], label=Gettext('Record type', domain='ipa', localedir=None)), Str('dnsdata?', flags=[u'no_create', u'no_search', u'no_update'], label=Gettext('Record data', domain='ipa', localedir=None)), ARecord('arecord*', cli_name='a_rec', doc=u'Raw A records', label=u'A record', option_group=u'A Record'), Str('a_part_ip_address?', _validate_ip4addr, cli_name='a_ip_address', flags=[u'virtual_attribute'], label=u'A IP Address', option_group=u'A Record'), Flag('a_extra_create_reverse?', autofill=True, cli_name='a_create_reverse', default=False, doc=Gettext('Create reverse record for this IP Address', domain='ipa', localedir=None), flags=[u'no_update', u'virtual_attribute'], label=u'A Create reverse', option_group=u'A Record'), AAAARecord('aaaarecord*', cli_name='aaaa_rec', doc=u'Raw AAAA records', label=u'AAAA record', option_group=u'AAAA Record'), Str('aaaa_part_ip_address?', _validate_ip6addr, cli_name='aaaa_ip_address', flags=[u'virtual_attribute'], label=u'AAAA IP Address', option_group=u'AAAA Record'), Flag('aaaa_extra_create_reverse?', autofill=True, cli_name='aaaa_create_reverse', default=False, doc=Gettext('Create reverse record for this IP Address', domain='ipa', localedir=None), flags=[u'no_update', u'virtual_attribute'], label=u'AAAA Create reverse', option_group=u'AAAA Record'), A6Record('a6record*', cli_name='a6_rec', doc=u'Raw A6 records', label=u'A6 record', option_group=u'A6 Record'), Str('a6_part_data?', cli_name='a6_data', flags=[u'virtual_attribute'], label=u'A6 Record data', option_group=u'A6 Record'), AFSDBRecord('afsdbrecord*', cli_name='afsdb_rec', doc=u'Raw AFSDB records', label=u'AFSDB record', option_group=u'AFSDB Record'), Int('afsdb_part_subtype?', cli_name='afsdb_subtype', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'AFSDB Subtype', maxvalue=65535, minvalue=0, option_group=u'AFSDB Record'), DNSNameParam('afsdb_part_hostname?', cli_name='afsdb_hostname', flags=[u'virtual_attribute'], label=u'AFSDB Hostname', option_group=u'AFSDB Record'), APLRecord('aplrecord*', cli_name='apl_rec', doc=u'Raw APL records', flags=[u'no_option'], label=u'APL record', option_group=u'APL Record'), CERTRecord('certrecord*', cli_name='cert_rec', doc=u'Raw CERT records', label=u'CERT record', option_group=u'CERT Record'), Int('cert_part_type?', cli_name='cert_type', flags=[u'virtual_attribute'], label=u'CERT Certificate Type', maxvalue=65535, minvalue=0, option_group=u'CERT Record'), Int('cert_part_key_tag?', cli_name='cert_key_tag', flags=[u'virtual_attribute'], label=u'CERT Key Tag', maxvalue=65535, minvalue=0, option_group=u'CERT Record'), Int('cert_part_algorithm?', cli_name='cert_algorithm', flags=[u'virtual_attribute'], label=u'CERT Algorithm', maxvalue=255, minvalue=0, option_group=u'CERT Record'), Str('cert_part_certificate_or_crl?', cli_name='cert_certificate_or_crl', flags=[u'virtual_attribute'], label=u'CERT Certificate/CRL', option_group=u'CERT Record'), CNAMERecord('cnamerecord*', cli_name='cname_rec', doc=u'Raw CNAME records', label=u'CNAME record', option_group=u'CNAME Record'), DNSNameParam('cname_part_hostname?', cli_name='cname_hostname', doc=Gettext('A hostname which this alias hostname points to', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'CNAME Hostname', option_group=u'CNAME Record'), DHCIDRecord('dhcidrecord*', cli_name='dhcid_rec', doc=u'Raw DHCID records', flags=[u'no_option'], label=u'DHCID record', option_group=u'DHCID Record'), DLVRecord('dlvrecord*', cli_name='dlv_rec', doc=u'Raw DLV records', label=u'DLV record', option_group=u'DLV Record'), Int('dlv_part_key_tag?', cli_name='dlv_key_tag', flags=[u'virtual_attribute'], label=u'DLV Key Tag', maxvalue=65535, minvalue=0, option_group=u'DLV Record'), Int('dlv_part_algorithm?', cli_name='dlv_algorithm', flags=[u'virtual_attribute'], label=u'DLV Algorithm', maxvalue=255, minvalue=0, option_group=u'DLV Record'), Int('dlv_part_digest_type?', cli_name='dlv_digest_type', flags=[u'virtual_attribute'], label=u'DLV Digest Type', maxvalue=255, minvalue=0, option_group=u'DLV Record'), Str('dlv_part_digest?', cli_name='dlv_digest', flags=[u'virtual_attribute'], label=u'DLV Digest', option_group=u'DLV Record', pattern=u'^[0-9a-fA-F]+$', pattern_errmsg=u'only hexadecimal digits are allowed'), DNAMERecord('dnamerecord*', cli_name='dname_rec', doc=u'Raw DNAME records', label=u'DNAME record', option_group=u'DNAME Record'), DNSNameParam('dname_part_target?', cli_name='dname_target', flags=[u'virtual_attribute'], label=u'DNAME Target', option_group=u'DNAME Record'), DSRecord('dsrecord*', cli_name='ds_rec', doc=u'Raw DS records', label=u'DS record', option_group=u'DS Record'), Int('ds_part_key_tag?', cli_name='ds_key_tag', flags=[u'virtual_attribute'], label=u'DS Key Tag', maxvalue=65535, minvalue=0, option_group=u'DS Record'), Int('ds_part_algorithm?', cli_name='ds_algorithm', flags=[u'virtual_attribute'], label=u'DS Algorithm', maxvalue=255, minvalue=0, option_group=u'DS Record'), Int('ds_part_digest_type?', cli_name='ds_digest_type', flags=[u'virtual_attribute'], label=u'DS Digest Type', maxvalue=255, minvalue=0, option_group=u'DS Record'), Str('ds_part_digest?', cli_name='ds_digest', flags=[u'virtual_attribute'], label=u'DS Digest', option_group=u'DS Record', pattern=u'^[0-9a-fA-F]+$', pattern_errmsg=u'only hexadecimal digits are allowed'), HIPRecord('hiprecord*', cli_name='hip_rec', doc=u'Raw HIP records', flags=[u'no_option'], label=u'HIP record', option_group=u'HIP Record'), IPSECKEYRecord('ipseckeyrecord*', cli_name='ipseckey_rec', doc=u'Raw IPSECKEY records', flags=[u'no_option'], label=u'IPSECKEY record', option_group=u'IPSECKEY Record'), KEYRecord('keyrecord*', cli_name='key_rec', doc=u'Raw KEY records', flags=[u'no_option'], label=u'KEY record', option_group=u'KEY Record'), KXRecord('kxrecord*', cli_name='kx_rec', doc=u'Raw KX records', label=u'KX record', option_group=u'KX Record'), Int('kx_part_preference?', cli_name='kx_preference', doc=Gettext('Preference given to this exchanger. Lower values are more preferred', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'KX Preference', maxvalue=65535, minvalue=0, option_group=u'KX Record'), DNSNameParam('kx_part_exchanger?', cli_name='kx_exchanger', doc=Gettext('A host willing to act as a key exchanger', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'KX Exchanger', option_group=u'KX Record'), LOCRecord('locrecord*', cli_name='loc_rec', doc=u'Raw LOC records', label=u'LOC record', option_group=u'LOC Record'), Int('loc_part_lat_deg?', cli_name='loc_lat_deg', flags=[u'virtual_attribute'], label=u'LOC Degrees Latitude', maxvalue=90, minvalue=0, option_group=u'LOC Record'), Int('loc_part_lat_min?', cli_name='loc_lat_min', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Minutes Latitude', maxvalue=59, minvalue=0, option_group=u'LOC Record'), Decimal('loc_part_lat_sec?', cli_name='loc_lat_sec', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Seconds Latitude', maxvalue=Decimal('59.999'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=3), StrEnum('loc_part_lat_dir?', cli_metavar=u"['N', 'S']", cli_name='loc_lat_dir', flags=[u'virtual_attribute'], label=u'LOC Direction Latitude', option_group=u'LOC Record', values=[u'N', u'S']), Int('loc_part_lon_deg?', cli_name='loc_lon_deg', flags=[u'virtual_attribute'], label=u'LOC Degrees Longitude', maxvalue=180, minvalue=0, option_group=u'LOC Record'), Int('loc_part_lon_min?', cli_name='loc_lon_min', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Minutes Longitude', maxvalue=59, minvalue=0, option_group=u'LOC Record'), Decimal('loc_part_lon_sec?', cli_name='loc_lon_sec', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Seconds Longitude', maxvalue=Decimal('59.999'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=3), StrEnum('loc_part_lon_dir?', cli_metavar=u"['E', 'W']", cli_name='loc_lon_dir', flags=[u'virtual_attribute'], label=u'LOC Direction Longitude', option_group=u'LOC Record', values=[u'E', u'W']), Decimal('loc_part_altitude?', cli_name='loc_altitude', flags=[u'virtual_attribute'], label=u'LOC Altitude', maxvalue=Decimal('42849672.95'), minvalue=Decimal('-100000.00'), option_group=u'LOC Record', precision=2), Decimal('loc_part_size?', cli_name='loc_size', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Size', maxvalue=Decimal('90000000.00'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=2), Decimal('loc_part_h_precision?', cli_name='loc_h_precision', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Horizontal Precision', maxvalue=Decimal('90000000.00'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=2), Decimal('loc_part_v_precision?', cli_name='loc_v_precision', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Vertical Precision', maxvalue=Decimal('90000000.00'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=2), MXRecord('mxrecord*', cli_name='mx_rec', doc=u'Raw MX records', label=u'MX record', option_group=u'MX Record'), Int('mx_part_preference?', cli_name='mx_preference', doc=Gettext('Preference given to this exchanger. Lower values are more preferred', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'MX Preference', maxvalue=65535, minvalue=0, option_group=u'MX Record'), DNSNameParam('mx_part_exchanger?', cli_name='mx_exchanger', doc=Gettext('A host willing to act as a mail exchanger', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'MX Exchanger', option_group=u'MX Record'), NAPTRRecord('naptrrecord*', cli_name='naptr_rec', doc=u'Raw NAPTR records', label=u'NAPTR record', option_group=u'NAPTR Record'), Int('naptr_part_order?', cli_name='naptr_order', flags=[u'virtual_attribute'], label=u'NAPTR Order', maxvalue=65535, minvalue=0, option_group=u'NAPTR Record'), Int('naptr_part_preference?', cli_name='naptr_preference', flags=[u'virtual_attribute'], label=u'NAPTR Preference', maxvalue=65535, minvalue=0, option_group=u'NAPTR Record'), Str('naptr_part_flags?', _validate_naptr_flags, cli_name='naptr_flags', flags=[u'virtual_attribute'], label=u'NAPTR Flags', normalizer=<lambda>, option_group=u'NAPTR Record'), Str('naptr_part_service?', cli_name='naptr_service', flags=[u'virtual_attribute'], label=u'NAPTR Service', option_group=u'NAPTR Record'), Str('naptr_part_regexp?', cli_name='naptr_regexp', flags=[u'virtual_attribute'], label=u'NAPTR Regular Expression', option_group=u'NAPTR Record'), Str('naptr_part_replacement?', cli_name='naptr_replacement', flags=[u'virtual_attribute'], label=u'NAPTR Replacement', option_group=u'NAPTR Record'), NSRecord('nsrecord*', cli_name='ns_rec', doc=u'Raw NS records', label=u'NS record', option_group=u'NS Record'), DNSNameParam('ns_part_hostname?', cli_name='ns_hostname', flags=[u'virtual_attribute'], label=u'NS Hostname', option_group=u'NS Record'), NSECRecord('nsecrecord*', cli_name='nsec_rec', doc=u'Raw NSEC records', flags=[u'no_option'], label=u'NSEC record', option_group=u'NSEC Record'), PTRRecord('ptrrecord*', cli_name='ptr_rec', doc=u'Raw PTR records', label=u'PTR record', option_group=u'PTR Record'), DNSNameParam('ptr_part_hostname?', cli_name='ptr_hostname', doc=Gettext('The hostname this reverse record points to', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'PTR Hostname', option_group=u'PTR Record'), RRSIGRecord('rrsigrecord*', cli_name='rrsig_rec', doc=u'Raw RRSIG records', flags=[u'no_option'], label=u'RRSIG record', option_group=u'RRSIG Record'), RPRecord('rprecord*', cli_name='rp_rec', doc=u'Raw RP records', flags=[u'no_option'], label=u'RP record', option_group=u'RP Record'), SIGRecord('sigrecord*', cli_name='sig_rec', doc=u'Raw SIG records', flags=[u'no_option'], label=u'SIG record', option_group=u'SIG Record'), SPFRecord('spfrecord*', cli_name='spf_rec', doc=u'Raw SPF records', flags=[u'no_option'], label=u'SPF record', option_group=u'SPF Record'), SRVRecord('srvrecord*', cli_name='srv_rec', doc=u'Raw SRV records', label=u'SRV record', option_group=u'SRV Record'), Int('srv_part_priority?', cli_name='srv_priority', doc=Gettext('Lower number means higher priority. Clients will attempt to contact the server with the lowest-numbered priority they can reach.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'SRV Priority (order)', maxvalue=65535, minvalue=0, option_group=u'SRV Record'), Int('srv_part_weight?', cli_name='srv_weight', doc=Gettext('Relative weight for entries with the same priority.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'SRV Weight', maxvalue=65535, minvalue=0, option_group=u'SRV Record'), Int('srv_part_port?', cli_name='srv_port', flags=[u'virtual_attribute'], label=u'SRV Port', maxvalue=65535, minvalue=0, option_group=u'SRV Record'), DNSNameParam('srv_part_target?', cli_name='srv_target', doc=Gettext("The domain name of the target host or '.' if the service is decidedly not available at this domain", domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'SRV Target', option_group=u'SRV Record'), SSHFPRecord('sshfprecord*', cli_name='sshfp_rec', doc=u'Raw SSHFP records', label=u'SSHFP record', option_group=u'SSHFP Record'), Int('sshfp_part_algorithm?', cli_name='sshfp_algorithm', flags=[u'virtual_attribute'], label=u'SSHFP Algorithm', maxvalue=255, minvalue=0, option_group=u'SSHFP Record'), Int('sshfp_part_fp_type?', cli_name='sshfp_fp_type', flags=[u'virtual_attribute'], label=u'SSHFP Fingerprint Type', maxvalue=255, minvalue=0, option_group=u'SSHFP Record'), Str('sshfp_part_fingerprint?', cli_name='sshfp_fingerprint', flags=[u'virtual_attribute'], label=u'SSHFP Fingerprint', option_group=u'SSHFP Record'), TLSARecord('tlsarecord*', cli_name='tlsa_rec', doc=u'Raw TLSA records', label=u'TLSA record', option_group=u'TLSA Record'), Int('tlsa_part_cert_usage?', cli_name='tlsa_cert_usage', flags=[u'virtual_attribute'], label=u'TLSA Certificate Usage', maxvalue=255, minvalue=0, option_group=u'TLSA Record'), Int('tlsa_part_selector?', cli_name='tlsa_selector', flags=[u'virtual_attribute'], label=u'TLSA Selector', maxvalue=255, minvalue=0, option_group=u'TLSA Record'), Int('tlsa_part_matching_type?', cli_name='tlsa_matching_type', flags=[u'virtual_attribute'], label=u'TLSA Matching Type', maxvalue=255, minvalue=0, option_group=u'TLSA Record'), Str('tlsa_part_cert_association_data?', cli_name='tlsa_cert_association_data', flags=[u'virtual_attribute'], label=u'TLSA Certificate Association Data', option_group=u'TLSA Record'), TXTRecord('txtrecord*', cli_name='txt_rec', doc=u'Raw TXT records', label=u'TXT record', option_group=u'TXT Record'), Str('txt_part_data?', cli_name='txt_data', flags=[u'virtual_attribute'], label=u'TXT Text Data', option_group=u'TXT Record'), URIRecord('urirecord*', cli_name='uri_rec', doc=u'Raw URI records', label=u'URI record', option_group=u'URI Record'), Int('uri_part_priority?', cli_name='uri_priority', doc=Gettext('Lower number means higher priority. Clients will attempt to contact the URI with the lowest-numbered priority they can reach.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'URI Priority (order)', maxvalue=65535, minvalue=0, option_group=u'URI Record'), Int('uri_part_weight?', cli_name='uri_weight', doc=Gettext('Relative weight for entries with the same priority.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'URI Weight', maxvalue=65535, minvalue=0, option_group=u'URI Record'), Str('uri_part_target?', cli_name='uri_target', doc=Gettext('Target Uniform Resource Identifier according to RFC 3986', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'URI Target Uniform Resource Identifier', minlength=1, normalizer=_normalize_uri_target, option_group=u'URI Record')), 'structured_flag': Flag('structured', autofill=True, default=False, doc=Gettext('Parse all raw DNS records and return them in a structured way', domain='ipa', localedir=None), label=Gettext('Structured', domain='ipa', localedir=None)), '_dsrecord_pre_callback': <function dnsrecord._dsrecord_pre_callback>, '_nsrecord_pre_callback': <function dnsrecord._nsrecord_pre_callback>, '_idnsname_pre_callback': <function dnsrecord._idnsname_pre_callback>, '_ptrrecord_pre_callback': <function dnsrecord._ptrrecord_pre_callback>, 'run_precallback_validators': <function dnsrecord.run_precallback_validators>, 'is_pkey_zone_record': <function dnsrecord.is_pkey_zone_record>, 'check_zone': <function dnsrecord.check_zone>, 'get_dn': <function dnsrecord.get_dn>, 'attr_to_cli': <function dnsrecord.attr_to_cli>, 'get_dns_masters': <function dnsrecord.get_dns_masters>, 'get_record_entry_attrs': <function dnsrecord.get_record_entry_attrs>, 'postprocess_record': <function dnsrecord.postprocess_record>, 'updated_rrattrs': <function dnsrecord.updated_rrattrs>, 'check_record_type_collisions': <function dnsrecord.check_record_type_collisions>, 'check_record_type_dependencies': <function dnsrecord.check_record_type_dependencies>, '_entry2rrsets': <function dnsrecord._entry2rrsets>, 'wait_for_modified_attr': <function dnsrecord.wait_for_modified_attr>, 'wait_for_modified_attrs': <function dnsrecord.wait_for_modified_attrs>, 'wait_for_modified_entries': <function dnsrecord.wait_for_modified_entries>, 'warning_if_ns_change_cause_fwzone_ineffective': <function dnsrecord.warning_if_ns_change_cause_fwzone_ineffective>, 'warning_suspicious_relative_name': <function dnsrecord.warning_suspicious_relative_name>, '__annotations__': {}})¶
- __init__(api)¶
- __islocked__()¶
Return True if instance is locked, otherwise False.
- __json__()¶
- __lock__()¶
Put this instance into a read-only state.
After the instance has been locked, attempting to set or delete an attribute will raise an AttributeError.
- __module__ = 'ipaserver.plugins.dns'¶
- __repr__()¶
Return ‘module_name.class_name()’ representation.
This representation could be used to instantiate this Plugin instance given the appropriate environment.
- __setattr__(name, value)¶
If unlocked, set attribute named
name
tovalue
.If this instance is locked, an AttributeError will be raised.
- Parameters
name – Name of attribute to set.
value – Value to assign to attribute.
- __weakref__¶
list of weak references to the object (if defined)
- _create_param_namespace(name, env=None)¶
- _entry2rrsets(entry_attrs, dns_name, dns_domain)[source]¶
Convert entry_attrs to a dictionary {rdtype: rrset}.
- Returns
None if entry_attrs is None {rdtype: None} if RRset of given type is empty {rdtype: RRset} if RRset of given type is non-empty
- _filter_param_by_context(name, env=None)¶
Filter params on attribute named
name
by environmentenv
.For example:
>>> from ipalib.config import Env >>> class Example(HasParam): ... ... takes_args = ( ... Str('foo_only', include=['foo']), ... Str('not_bar', exclude=['bar']), ... 'both', ... ) ... ... def get_args(self): ... return self._get_param_iterable('args') ... ... >>> eg = Example() >>> foo = Env(context='foo') >>> bar = Env(context='bar') >>> another = Env(context='another') >>> (foo.context, bar.context, another.context) (u'foo', u'bar', u'another') >>> list(eg._filter_param_by_context('args', foo)) [Str('foo_only', include=['foo']), Str('not_bar', exclude=['bar']), Str('both')] >>> list(eg._filter_param_by_context('args', bar)) [Str('both')] >>> list(eg._filter_param_by_context('args', another)) [Str('not_bar', exclude=['bar']), Str('both')]
- _get_param_iterable(name, verb='takes')¶
Return an iterable of params defined by the attribute named
name
.A sequence of params can be defined one of three ways: as a
tuple
; as a callable that returns an iterable; or as a param spec (a Param orstr
instance). This method returns a uniform iterable regardless of how the param sequence was defined.For example, when defined with a tuple:
>>> class ByTuple(HasParam): ... takes_args = (Param('foo'), Param('bar')) ... >>> by_tuple = ByTuple() >>> list(by_tuple._get_param_iterable('args')) [Param('foo'), Param('bar')]
Or you can define your param sequence with a callable when you need to reference attributes on your plugin instance (for validation rules, etc.). For example:
>>> class ByCallable(HasParam): ... def takes_args(self): ... yield Param('foo', self.validate_foo) ... yield Param('bar', self.validate_bar) ... ... def validate_foo(self, _, value, **kw): ... if value != 'Foo': ... return _("must be 'Foo'") ... ... def validate_bar(self, _, value, **kw): ... if value != 'Bar': ... return _("must be 'Bar'") ... >>> by_callable = ByCallable() >>> list(by_callable._get_param_iterable('args')) [Param('foo', validate_foo), Param('bar', validate_bar)]
Lastly, as a convenience for when a param sequence contains a single param, your defining attribute may a param spec (either a Param or an
str
instance). For example:>>> class BySpec(HasParam): ... takes_args = Param('foo') ... takes_options = 'bar?' ... >>> by_spec = BySpec() >>> list(by_spec._get_param_iterable('args')) [Param('foo')] >>> list(by_spec._get_param_iterable('options')) ['bar?']
For information on how an
str
param spec is interpreted, see the create_param() and parse_param_spec() functions in the ipalib.parameters module.Also see HasParam._filter_param_by_context().
- _on_finalize()¶
Do custom finalization.
This method is called from finalize(). Subclasses can override this method in order to add custom finalization.
- allow_rename = True¶
- already_exists_msg = Gettext('%(oname)s with name "%(pkey)s" already exists', domain='ipa', localedir=None)¶
- property api¶
Return API instance passed to __init__().
- attribute_members = {}¶
- backend = None¶
- backend_name = 'ldap2'¶
- bases = (<class 'ipaserver.plugins.baseldap.LDAPObject'>,)¶
- bindable = False¶
- container_dn = ipapython.dn.DN('cn=dns')¶
- container_not_found_msg = Gettext('container entry (%(container)s) not found', domain='ipa', localedir=None)¶
- property context¶
- convert_attribute_members(entry_attrs, *keys, **options)¶
- default_attributes = ['idnsname', 'arecord', 'aaaarecord', 'a6record', 'afsdbrecord', 'aplrecord', 'certrecord', 'cnamerecord', 'dhcidrecord', 'dlvrecord', 'dnamerecord', 'dsrecord', 'hiprecord', 'hinforecord', 'ipseckeyrecord', 'keyrecord', 'kxrecord', 'locrecord', 'mdrecord', 'minforecord', 'mxrecord', 'naptrrecord', 'nsrecord', 'nsecrecord', 'nxtrecord', 'ptrrecord', 'rrsigrecord', 'rprecord', 'sigrecord', 'spfrecord', 'srvrecord', 'sshfprecord', 'tlsarecord', 'txtrecord', 'urirecord']¶
- disallow_object_classes = []¶
- doc = '\n DNS record.\n '¶
- ensure_finalized()¶
Finalize plugin initialization if it has not yet been finalized.
- property env¶
- finalize()¶
Finalize plugin initialization.
This method calls _on_finalize() and locks the plugin object.
Subclasses should not override this method. Custom finalization is done in _on_finalize().
- class finalize_attr(name, value=None)¶
Bases:
object
Create a stub object for plugin attribute that isn’t set until the finalization of the plugin initialization.
When the stub object is accessed, it calls ensure_finalized() to make sure the plugin initialization is finalized. The stub object is expected to be replaced with the actual attribute value during the finalization (preferably in _on_finalize()), otherwise an AttributeError is raised.
This is used to implement on-demand finalization of plugin initialization.
- __annotations__ = {}¶
- __get__(obj, cls)¶
- __init__(name, value=None)¶
- __module__ = 'ipalib.plugable'¶
- __slots__ = ('name', 'value')¶
- name¶
- value¶
- full_name = 'dnsrecord/1'¶
- get_ancestor_primary_keys()¶
- get_dn_if_exists(*keys, **kwargs)¶
- get_indirect_members(entry_attrs, attrs_list)¶
- get_memberindirect(group_entry)¶
Get indirect members
- get_memberofindirect(entry)¶
- get_params()¶
This method gets called by HasParam._create_param_namespace().
- get_password_attributes(ldap, dn, entry_attrs)¶
Search on the entry to determine if it has a password or keytab set.
A tuple is used to determine which attribute is set in entry_attrs. The value is set to True/False whether a given password type is set.
- get_primary_key_from_dn(dn)¶
- handle_duplicate_entry(*keys)¶
- handle_not_found(*keys)¶
Handle NotFound exception
Must raise errors.NotFound again.
- has_objectclass(classes, objectclass)¶
- json_friendly_attributes = ('parent_object', 'container_dn', 'object_name', 'object_name_plural', 'object_class', 'object_class_config', 'default_attributes', 'label', 'label_singular', 'hidden_attributes', 'uuid_attribute', 'attribute_members', 'name', 'takes_params', 'rdn_attribute', 'bindable', 'relationships')¶
- label = Gettext('DNS Resource Records', domain='ipa', localedir=None)¶
- label_singular = Gettext('DNS Resource Record', domain='ipa', localedir=None)¶
- limit_object_classes = []¶
- managed_permissions = {}¶
- methods = None¶
- name = 'dnsrecord'¶
- object_class = ['top', 'idnsrecord']¶
- object_class_config = None¶
- object_name = Gettext('DNS resource record', domain='ipa', localedir=None)¶
- object_name_plural = Gettext('DNS resource records', domain='ipa', localedir=None)¶
- object_not_found_msg = Gettext('%(pkey)s: %(oname)s not found', domain='ipa', localedir=None)¶
- params = None¶
- params_minus(*names)¶
Yield all Param whose name is not in
names
.
- params_minus_pk = None¶
- parent_not_found_msg = Gettext('%(parent)s: %(oname)s not found', domain='ipa', localedir=None)¶
- parent_object = 'dnszone'¶
- password_attributes = []¶
- permission_filter_objectclasses = ['idnsrecord']¶
- possible_objectclasses = ['idnsTemplateObject']¶
- primary_key = None¶
- rdn_attribute = ''¶
- relationships = {'member': ('Member', '', 'no_'), 'memberindirect': ('Indirect Member', None, 'no_indirect_'), 'membermanager': ('Group membership managed by', 'membermanager_', 'not_membermanager_'), 'memberof': ('Member Of', 'in_', 'not_in_'), 'memberofindirect': ('Indirect Member Of', None, 'not_in_indirect_')}¶
- search_attributes = []¶
- search_attributes_config = None¶
- search_display_attributes = []¶
- structured_flag = Flag('structured', autofill=True, default=False, doc=Gettext('Parse all raw DNS records and return them in a structured way', domain='ipa', localedir=None), label=Gettext('Structured', domain='ipa', localedir=None))¶
- summary = 'DNS record.'¶
- takes_params = (DNSNameParam('idnsname', cli_name='name', doc=Gettext('Record name', domain='ipa', localedir=None), label=Gettext('Record name', domain='ipa', localedir=None), primary_key=True), Int('dnsttl?', cli_name='ttl', doc=Gettext('Time to live', domain='ipa', localedir=None), label=Gettext('Time to live', domain='ipa', localedir=None), maxvalue=2147483647, minvalue=0), StrEnum('dnsclass?', cli_metavar=u"['IN', 'CS', 'CH', 'HS']", cli_name='class', flags=[u'no_option'], values=[u'IN', u'CS', u'CH', u'HS']), Any('dnsrecords?', flags=[u'no_create', u'no_search', u'no_update'], label=Gettext('Records', domain='ipa', localedir=None)), Str('dnstype?', flags=[u'no_create', u'no_search', u'no_update'], label=Gettext('Record type', domain='ipa', localedir=None)), Str('dnsdata?', flags=[u'no_create', u'no_search', u'no_update'], label=Gettext('Record data', domain='ipa', localedir=None)), ARecord('arecord*', cli_name='a_rec', doc=u'Raw A records', label=u'A record', option_group=u'A Record'), Str('a_part_ip_address?', _validate_ip4addr, cli_name='a_ip_address', flags=[u'virtual_attribute'], label=u'A IP Address', option_group=u'A Record'), Flag('a_extra_create_reverse?', autofill=True, cli_name='a_create_reverse', default=False, doc=Gettext('Create reverse record for this IP Address', domain='ipa', localedir=None), flags=[u'no_update', u'virtual_attribute'], label=u'A Create reverse', option_group=u'A Record'), AAAARecord('aaaarecord*', cli_name='aaaa_rec', doc=u'Raw AAAA records', label=u'AAAA record', option_group=u'AAAA Record'), Str('aaaa_part_ip_address?', _validate_ip6addr, cli_name='aaaa_ip_address', flags=[u'virtual_attribute'], label=u'AAAA IP Address', option_group=u'AAAA Record'), Flag('aaaa_extra_create_reverse?', autofill=True, cli_name='aaaa_create_reverse', default=False, doc=Gettext('Create reverse record for this IP Address', domain='ipa', localedir=None), flags=[u'no_update', u'virtual_attribute'], label=u'AAAA Create reverse', option_group=u'AAAA Record'), A6Record('a6record*', cli_name='a6_rec', doc=u'Raw A6 records', label=u'A6 record', option_group=u'A6 Record'), Str('a6_part_data?', cli_name='a6_data', flags=[u'virtual_attribute'], label=u'A6 Record data', option_group=u'A6 Record'), AFSDBRecord('afsdbrecord*', cli_name='afsdb_rec', doc=u'Raw AFSDB records', label=u'AFSDB record', option_group=u'AFSDB Record'), Int('afsdb_part_subtype?', cli_name='afsdb_subtype', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'AFSDB Subtype', maxvalue=65535, minvalue=0, option_group=u'AFSDB Record'), DNSNameParam('afsdb_part_hostname?', cli_name='afsdb_hostname', flags=[u'virtual_attribute'], label=u'AFSDB Hostname', option_group=u'AFSDB Record'), APLRecord('aplrecord*', cli_name='apl_rec', doc=u'Raw APL records', flags=[u'no_option'], label=u'APL record', option_group=u'APL Record'), CERTRecord('certrecord*', cli_name='cert_rec', doc=u'Raw CERT records', label=u'CERT record', option_group=u'CERT Record'), Int('cert_part_type?', cli_name='cert_type', flags=[u'virtual_attribute'], label=u'CERT Certificate Type', maxvalue=65535, minvalue=0, option_group=u'CERT Record'), Int('cert_part_key_tag?', cli_name='cert_key_tag', flags=[u'virtual_attribute'], label=u'CERT Key Tag', maxvalue=65535, minvalue=0, option_group=u'CERT Record'), Int('cert_part_algorithm?', cli_name='cert_algorithm', flags=[u'virtual_attribute'], label=u'CERT Algorithm', maxvalue=255, minvalue=0, option_group=u'CERT Record'), Str('cert_part_certificate_or_crl?', cli_name='cert_certificate_or_crl', flags=[u'virtual_attribute'], label=u'CERT Certificate/CRL', option_group=u'CERT Record'), CNAMERecord('cnamerecord*', cli_name='cname_rec', doc=u'Raw CNAME records', label=u'CNAME record', option_group=u'CNAME Record'), DNSNameParam('cname_part_hostname?', cli_name='cname_hostname', doc=Gettext('A hostname which this alias hostname points to', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'CNAME Hostname', option_group=u'CNAME Record'), DHCIDRecord('dhcidrecord*', cli_name='dhcid_rec', doc=u'Raw DHCID records', flags=[u'no_option'], label=u'DHCID record', option_group=u'DHCID Record'), DLVRecord('dlvrecord*', cli_name='dlv_rec', doc=u'Raw DLV records', label=u'DLV record', option_group=u'DLV Record'), Int('dlv_part_key_tag?', cli_name='dlv_key_tag', flags=[u'virtual_attribute'], label=u'DLV Key Tag', maxvalue=65535, minvalue=0, option_group=u'DLV Record'), Int('dlv_part_algorithm?', cli_name='dlv_algorithm', flags=[u'virtual_attribute'], label=u'DLV Algorithm', maxvalue=255, minvalue=0, option_group=u'DLV Record'), Int('dlv_part_digest_type?', cli_name='dlv_digest_type', flags=[u'virtual_attribute'], label=u'DLV Digest Type', maxvalue=255, minvalue=0, option_group=u'DLV Record'), Str('dlv_part_digest?', cli_name='dlv_digest', flags=[u'virtual_attribute'], label=u'DLV Digest', option_group=u'DLV Record', pattern=u'^[0-9a-fA-F]+$', pattern_errmsg=u'only hexadecimal digits are allowed'), DNAMERecord('dnamerecord*', cli_name='dname_rec', doc=u'Raw DNAME records', label=u'DNAME record', option_group=u'DNAME Record'), DNSNameParam('dname_part_target?', cli_name='dname_target', flags=[u'virtual_attribute'], label=u'DNAME Target', option_group=u'DNAME Record'), DSRecord('dsrecord*', cli_name='ds_rec', doc=u'Raw DS records', label=u'DS record', option_group=u'DS Record'), Int('ds_part_key_tag?', cli_name='ds_key_tag', flags=[u'virtual_attribute'], label=u'DS Key Tag', maxvalue=65535, minvalue=0, option_group=u'DS Record'), Int('ds_part_algorithm?', cli_name='ds_algorithm', flags=[u'virtual_attribute'], label=u'DS Algorithm', maxvalue=255, minvalue=0, option_group=u'DS Record'), Int('ds_part_digest_type?', cli_name='ds_digest_type', flags=[u'virtual_attribute'], label=u'DS Digest Type', maxvalue=255, minvalue=0, option_group=u'DS Record'), Str('ds_part_digest?', cli_name='ds_digest', flags=[u'virtual_attribute'], label=u'DS Digest', option_group=u'DS Record', pattern=u'^[0-9a-fA-F]+$', pattern_errmsg=u'only hexadecimal digits are allowed'), HIPRecord('hiprecord*', cli_name='hip_rec', doc=u'Raw HIP records', flags=[u'no_option'], label=u'HIP record', option_group=u'HIP Record'), IPSECKEYRecord('ipseckeyrecord*', cli_name='ipseckey_rec', doc=u'Raw IPSECKEY records', flags=[u'no_option'], label=u'IPSECKEY record', option_group=u'IPSECKEY Record'), KEYRecord('keyrecord*', cli_name='key_rec', doc=u'Raw KEY records', flags=[u'no_option'], label=u'KEY record', option_group=u'KEY Record'), KXRecord('kxrecord*', cli_name='kx_rec', doc=u'Raw KX records', label=u'KX record', option_group=u'KX Record'), Int('kx_part_preference?', cli_name='kx_preference', doc=Gettext('Preference given to this exchanger. Lower values are more preferred', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'KX Preference', maxvalue=65535, minvalue=0, option_group=u'KX Record'), DNSNameParam('kx_part_exchanger?', cli_name='kx_exchanger', doc=Gettext('A host willing to act as a key exchanger', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'KX Exchanger', option_group=u'KX Record'), LOCRecord('locrecord*', cli_name='loc_rec', doc=u'Raw LOC records', label=u'LOC record', option_group=u'LOC Record'), Int('loc_part_lat_deg?', cli_name='loc_lat_deg', flags=[u'virtual_attribute'], label=u'LOC Degrees Latitude', maxvalue=90, minvalue=0, option_group=u'LOC Record'), Int('loc_part_lat_min?', cli_name='loc_lat_min', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Minutes Latitude', maxvalue=59, minvalue=0, option_group=u'LOC Record'), Decimal('loc_part_lat_sec?', cli_name='loc_lat_sec', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Seconds Latitude', maxvalue=Decimal('59.999'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=3), StrEnum('loc_part_lat_dir?', cli_metavar=u"['N', 'S']", cli_name='loc_lat_dir', flags=[u'virtual_attribute'], label=u'LOC Direction Latitude', option_group=u'LOC Record', values=[u'N', u'S']), Int('loc_part_lon_deg?', cli_name='loc_lon_deg', flags=[u'virtual_attribute'], label=u'LOC Degrees Longitude', maxvalue=180, minvalue=0, option_group=u'LOC Record'), Int('loc_part_lon_min?', cli_name='loc_lon_min', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Minutes Longitude', maxvalue=59, minvalue=0, option_group=u'LOC Record'), Decimal('loc_part_lon_sec?', cli_name='loc_lon_sec', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Seconds Longitude', maxvalue=Decimal('59.999'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=3), StrEnum('loc_part_lon_dir?', cli_metavar=u"['E', 'W']", cli_name='loc_lon_dir', flags=[u'virtual_attribute'], label=u'LOC Direction Longitude', option_group=u'LOC Record', values=[u'E', u'W']), Decimal('loc_part_altitude?', cli_name='loc_altitude', flags=[u'virtual_attribute'], label=u'LOC Altitude', maxvalue=Decimal('42849672.95'), minvalue=Decimal('-100000.00'), option_group=u'LOC Record', precision=2), Decimal('loc_part_size?', cli_name='loc_size', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Size', maxvalue=Decimal('90000000.00'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=2), Decimal('loc_part_h_precision?', cli_name='loc_h_precision', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Horizontal Precision', maxvalue=Decimal('90000000.00'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=2), Decimal('loc_part_v_precision?', cli_name='loc_v_precision', flags=[u'dnsrecord_optional', u'virtual_attribute'], label=u'LOC Vertical Precision', maxvalue=Decimal('90000000.00'), minvalue=Decimal('0.0'), option_group=u'LOC Record', precision=2), MXRecord('mxrecord*', cli_name='mx_rec', doc=u'Raw MX records', label=u'MX record', option_group=u'MX Record'), Int('mx_part_preference?', cli_name='mx_preference', doc=Gettext('Preference given to this exchanger. Lower values are more preferred', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'MX Preference', maxvalue=65535, minvalue=0, option_group=u'MX Record'), DNSNameParam('mx_part_exchanger?', cli_name='mx_exchanger', doc=Gettext('A host willing to act as a mail exchanger', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'MX Exchanger', option_group=u'MX Record'), NAPTRRecord('naptrrecord*', cli_name='naptr_rec', doc=u'Raw NAPTR records', label=u'NAPTR record', option_group=u'NAPTR Record'), Int('naptr_part_order?', cli_name='naptr_order', flags=[u'virtual_attribute'], label=u'NAPTR Order', maxvalue=65535, minvalue=0, option_group=u'NAPTR Record'), Int('naptr_part_preference?', cli_name='naptr_preference', flags=[u'virtual_attribute'], label=u'NAPTR Preference', maxvalue=65535, minvalue=0, option_group=u'NAPTR Record'), Str('naptr_part_flags?', _validate_naptr_flags, cli_name='naptr_flags', flags=[u'virtual_attribute'], label=u'NAPTR Flags', normalizer=<lambda>, option_group=u'NAPTR Record'), Str('naptr_part_service?', cli_name='naptr_service', flags=[u'virtual_attribute'], label=u'NAPTR Service', option_group=u'NAPTR Record'), Str('naptr_part_regexp?', cli_name='naptr_regexp', flags=[u'virtual_attribute'], label=u'NAPTR Regular Expression', option_group=u'NAPTR Record'), Str('naptr_part_replacement?', cli_name='naptr_replacement', flags=[u'virtual_attribute'], label=u'NAPTR Replacement', option_group=u'NAPTR Record'), NSRecord('nsrecord*', cli_name='ns_rec', doc=u'Raw NS records', label=u'NS record', option_group=u'NS Record'), DNSNameParam('ns_part_hostname?', cli_name='ns_hostname', flags=[u'virtual_attribute'], label=u'NS Hostname', option_group=u'NS Record'), NSECRecord('nsecrecord*', cli_name='nsec_rec', doc=u'Raw NSEC records', flags=[u'no_option'], label=u'NSEC record', option_group=u'NSEC Record'), PTRRecord('ptrrecord*', cli_name='ptr_rec', doc=u'Raw PTR records', label=u'PTR record', option_group=u'PTR Record'), DNSNameParam('ptr_part_hostname?', cli_name='ptr_hostname', doc=Gettext('The hostname this reverse record points to', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'PTR Hostname', option_group=u'PTR Record'), RRSIGRecord('rrsigrecord*', cli_name='rrsig_rec', doc=u'Raw RRSIG records', flags=[u'no_option'], label=u'RRSIG record', option_group=u'RRSIG Record'), RPRecord('rprecord*', cli_name='rp_rec', doc=u'Raw RP records', flags=[u'no_option'], label=u'RP record', option_group=u'RP Record'), SIGRecord('sigrecord*', cli_name='sig_rec', doc=u'Raw SIG records', flags=[u'no_option'], label=u'SIG record', option_group=u'SIG Record'), SPFRecord('spfrecord*', cli_name='spf_rec', doc=u'Raw SPF records', flags=[u'no_option'], label=u'SPF record', option_group=u'SPF Record'), SRVRecord('srvrecord*', cli_name='srv_rec', doc=u'Raw SRV records', label=u'SRV record', option_group=u'SRV Record'), Int('srv_part_priority?', cli_name='srv_priority', doc=Gettext('Lower number means higher priority. Clients will attempt to contact the server with the lowest-numbered priority they can reach.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'SRV Priority (order)', maxvalue=65535, minvalue=0, option_group=u'SRV Record'), Int('srv_part_weight?', cli_name='srv_weight', doc=Gettext('Relative weight for entries with the same priority.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'SRV Weight', maxvalue=65535, minvalue=0, option_group=u'SRV Record'), Int('srv_part_port?', cli_name='srv_port', flags=[u'virtual_attribute'], label=u'SRV Port', maxvalue=65535, minvalue=0, option_group=u'SRV Record'), DNSNameParam('srv_part_target?', cli_name='srv_target', doc=Gettext("The domain name of the target host or '.' if the service is decidedly not available at this domain", domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'SRV Target', option_group=u'SRV Record'), SSHFPRecord('sshfprecord*', cli_name='sshfp_rec', doc=u'Raw SSHFP records', label=u'SSHFP record', option_group=u'SSHFP Record'), Int('sshfp_part_algorithm?', cli_name='sshfp_algorithm', flags=[u'virtual_attribute'], label=u'SSHFP Algorithm', maxvalue=255, minvalue=0, option_group=u'SSHFP Record'), Int('sshfp_part_fp_type?', cli_name='sshfp_fp_type', flags=[u'virtual_attribute'], label=u'SSHFP Fingerprint Type', maxvalue=255, minvalue=0, option_group=u'SSHFP Record'), Str('sshfp_part_fingerprint?', cli_name='sshfp_fingerprint', flags=[u'virtual_attribute'], label=u'SSHFP Fingerprint', option_group=u'SSHFP Record'), TLSARecord('tlsarecord*', cli_name='tlsa_rec', doc=u'Raw TLSA records', label=u'TLSA record', option_group=u'TLSA Record'), Int('tlsa_part_cert_usage?', cli_name='tlsa_cert_usage', flags=[u'virtual_attribute'], label=u'TLSA Certificate Usage', maxvalue=255, minvalue=0, option_group=u'TLSA Record'), Int('tlsa_part_selector?', cli_name='tlsa_selector', flags=[u'virtual_attribute'], label=u'TLSA Selector', maxvalue=255, minvalue=0, option_group=u'TLSA Record'), Int('tlsa_part_matching_type?', cli_name='tlsa_matching_type', flags=[u'virtual_attribute'], label=u'TLSA Matching Type', maxvalue=255, minvalue=0, option_group=u'TLSA Record'), Str('tlsa_part_cert_association_data?', cli_name='tlsa_cert_association_data', flags=[u'virtual_attribute'], label=u'TLSA Certificate Association Data', option_group=u'TLSA Record'), TXTRecord('txtrecord*', cli_name='txt_rec', doc=u'Raw TXT records', label=u'TXT record', option_group=u'TXT Record'), Str('txt_part_data?', cli_name='txt_data', flags=[u'virtual_attribute'], label=u'TXT Text Data', option_group=u'TXT Record'), URIRecord('urirecord*', cli_name='uri_rec', doc=u'Raw URI records', label=u'URI record', option_group=u'URI Record'), Int('uri_part_priority?', cli_name='uri_priority', doc=Gettext('Lower number means higher priority. Clients will attempt to contact the URI with the lowest-numbered priority they can reach.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'URI Priority (order)', maxvalue=65535, minvalue=0, option_group=u'URI Record'), Int('uri_part_weight?', cli_name='uri_weight', doc=Gettext('Relative weight for entries with the same priority.', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'URI Weight', maxvalue=65535, minvalue=0, option_group=u'URI Record'), Str('uri_part_target?', cli_name='uri_target', doc=Gettext('Target Uniform Resource Identifier according to RFC 3986', domain='ipa', localedir=None), flags=[u'virtual_attribute'], label=u'URI Target Uniform Resource Identifier', minlength=1, normalizer=_normalize_uri_target, option_group=u'URI Record'))¶
- uuid_attribute = ''¶
- version = '1'¶
- wait_for_modified_attr(ldap_rrset, rdtype, dns_name)[source]¶
- Wait until DNS resolver returns up-to-date answer for given RRset
or until the maximum number of attempts is reached. Number of attempts is controlled by self.api.env[‘wait_for_dns’].
- Parameters
ldap_rrset – None if given rdtype should not exist or dns.rrset.RRset to match against data in DNS.
dns_name (dns.name.Name) – FQDN to query
- Returns
None if data in DNS and LDAP match
- Raises
errors.DNSDataMismatch – if data in DNS and LDAP doesn’t match
dns.exception.DNSException – if DNS resolution failed
- wait_for_modified_attrs(entry_attrs, dns_name, dns_domain)[source]¶
- Wait until DNS resolver returns up-to-date answer for given entry
or until the maximum number of attempts is reached.
- Parameters
entry_attrs – None if the entry was deleted from LDAP or LDAPEntry instance containing at least all modified attributes.
dns_name (dns.name.Name) – FQDN
- Raises
errors.DNSDataMismatch – if data in DNS and LDAP doesn’t match
- wait_for_modified_entries(entries)[source]¶
Call wait_for_modified_attrs for all entries in given dict.
- Parameters
entries – Dict {(dns_domain, dns_name): entry_for_wait_for_modified_attrs}