mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Refactor dnsrecord processing
Current DNS record processing architecture has many flaws, including custom execute() methods which does not take advantage of base LDAP commands or nonstandard and confusing DNS record option processing. This patch refactors DNS record processing with the following improvements: * Every DNS record has now own Parameter type. Each DNS record consists from one or more "parts" which are also Parameters. This architecture will enable much easier implementation of future per-DNS-type API. * Validation is now not written as a separate function for every parameter but is delegated to DNS record parts. * Normalization is also delegated to DNS record parts. * Since standard LDAP base commands execute method is now used, dnsrecord-add and dnsrecord-mod correctly supports --setattr and --addattr options. * In order to prevent confusion unsupported DNS record types are now hidden. They are still present in the plugin so that old clients receive proper validation error. The patch also contains several fixes: * Fix domain-name validation and normalization- allow domain names that are not fully qualified. For example --cname-rec=bar is a valid domain-name for bind which will translate it then as bar.<owning-domain>. This change implies, that fully qualified domain names must end with '.'. * Do not let user accidentally remove entire zone with command "ipa dnsrecord-del @ --del-all". * Fix --ttl and --class option processing in dnsrecord-add and dnsrecord-mod. All API changes are compatible with clients without this patch. https://fedorahosted.org/freeipa/ticket/2082
This commit is contained in:
328
API.txt
328
API.txt
@@ -613,135 +613,93 @@ arg: Str('dnszoneidnsname', cli_name='dnszone', query=True, required=True)
|
||||
arg: Str('idnsname', attribute=True, cli_name='name', multivalue=False, primary_key=True, required=True)
|
||||
option: Int('dnsttl', attribute=True, cli_name='ttl', multivalue=False, required=False)
|
||||
option: StrEnum('dnsclass', attribute=True, cli_name='class', multivalue=False, required=False, values=(u'IN', u'CS', u'CH', u'HS'))
|
||||
option: ARecord('arecord', attribute=True, cli_name='a_rec', csv=True, multivalue=True, required=False)
|
||||
option: AAAARecord('aaaarecord', attribute=True, cli_name='aaaa_rec', csv=True, multivalue=True, required=False)
|
||||
option: A6Record('a6record', attribute=True, cli_name='a6_rec', csv=True, multivalue=True, required=False)
|
||||
option: AFSDBRecord('afsdbrecord', attribute=True, cli_name='afsdb_rec', csv=True, multivalue=True, required=False)
|
||||
option: APLRecord('aplrecord', attribute=True, cli_name='apl_rec', csv=True, multivalue=True, required=False)
|
||||
option: CERTRecord('certrecord', attribute=True, cli_name='cert_rec', csv=True, multivalue=True, required=False)
|
||||
option: CNAMERecord('cnamerecord', attribute=True, cli_name='cname_rec', csv=True, multivalue=True, required=False)
|
||||
option: DHCIDRecord('dhcidrecord', attribute=True, cli_name='dhcid_rec', csv=True, multivalue=True, required=False)
|
||||
option: DLVRecord('dlvrecord', attribute=True, cli_name='dlv_rec', csv=True, multivalue=True, required=False)
|
||||
option: DNAMERecord('dnamerecord', attribute=True, cli_name='dname_rec', csv=True, multivalue=True, required=False)
|
||||
option: DNSKEYRecord('dnskeyrecord', attribute=True, cli_name='dnskey_rec', csv=True, multivalue=True, required=False)
|
||||
option: DSRecord('dsrecord', attribute=True, cli_name='ds_rec', csv=True, multivalue=True, required=False)
|
||||
option: HIPRecord('hiprecord', attribute=True, cli_name='hip_rec', csv=True, multivalue=True, required=False)
|
||||
option: IPSECKEYRecord('ipseckeyrecord', attribute=True, cli_name='ipseckey_rec', csv=True, multivalue=True, required=False)
|
||||
option: KEYRecord('keyrecord', attribute=True, cli_name='key_rec', csv=True, multivalue=True, required=False)
|
||||
option: KXRecord('kxrecord', attribute=True, cli_name='kx_rec', csv=True, multivalue=True, required=False)
|
||||
option: LOCRecord('locrecord', attribute=True, cli_name='loc_rec', csv=True, multivalue=True, required=False)
|
||||
option: MXRecord('mxrecord', attribute=True, cli_name='mx_rec', csv=True, multivalue=True, required=False)
|
||||
option: NAPTRRecord('naptrrecord', attribute=True, cli_name='naptr_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSRecord('nsrecord', attribute=True, cli_name='ns_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSECRecord('nsecrecord', attribute=True, cli_name='nsec_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSEC3Record('nsec3record', attribute=True, cli_name='nsec3_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSEC3PARAMRecord('nsec3paramrecord', attribute=True, cli_name='nsec3param_rec', csv=True, multivalue=True, required=False)
|
||||
option: PTRRecord('ptrrecord', attribute=True, cli_name='ptr_rec', csv=True, multivalue=True, required=False)
|
||||
option: RRSIGRecord('rrsigrecord', attribute=True, cli_name='rrsig_rec', csv=True, multivalue=True, required=False)
|
||||
option: RPRecord('rprecord', attribute=True, cli_name='rp_rec', csv=True, multivalue=True, required=False)
|
||||
option: SIGRecord('sigrecord', attribute=True, cli_name='sig_rec', csv=True, multivalue=True, required=False)
|
||||
option: SPFRecord('spfrecord', attribute=True, cli_name='spf_rec', csv=True, multivalue=True, required=False)
|
||||
option: SRVRecord('srvrecord', attribute=True, cli_name='srv_rec', csv=True, multivalue=True, required=False)
|
||||
option: SSHFPRecord('sshfprecord', attribute=True, cli_name='sshfp_rec', csv=True, multivalue=True, required=False)
|
||||
option: TARecord('tarecord', attribute=True, cli_name='ta_rec', csv=True, multivalue=True, required=False)
|
||||
option: TKEYRecord('tkeyrecord', attribute=True, cli_name='tkey_rec', csv=True, multivalue=True, required=False)
|
||||
option: TSIGRecord('tsigrecord', attribute=True, cli_name='tsig_rec', csv=True, multivalue=True, required=False)
|
||||
option: TXTRecord('txtrecord', attribute=True, cli_name='txt_rec', csv=True, multivalue=True, required=False)
|
||||
option: Str('setattr*', cli_name='setattr', exclude='webui')
|
||||
option: Str('addattr*', cli_name='addattr', exclude='webui')
|
||||
option: Flag('force', autofill=True, default=False)
|
||||
option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
|
||||
option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
|
||||
option: Str('version?', exclude='webui')
|
||||
option: Str('arecord*', attribute=True, cli_name='a_rec', csv=True)
|
||||
option: Str('aaaarecord*', attribute=True, cli_name='aaaa_rec', csv=True)
|
||||
option: Str('a6record*', attribute=True, cli_name='a6_rec', csv=True)
|
||||
option: Str('afsdbrecord*', attribute=True, cli_name='afsdb_rec', csv=True)
|
||||
option: Str('aplrecord*', attribute=True, cli_name='apl_rec', csv=True)
|
||||
option: Str('certrecord*', attribute=True, cli_name='cert_rec', csv=True)
|
||||
option: Str('cnamerecord*', attribute=True, cli_name='cname_rec', csv=True)
|
||||
option: Str('dhcidrecord*', attribute=True, cli_name='dhcid_rec', csv=True)
|
||||
option: Str('dlvrecord*', attribute=True, cli_name='dlv_rec', csv=True)
|
||||
option: Str('dnamerecord*', attribute=True, cli_name='dname_rec', csv=True)
|
||||
option: Str('dnskeyrecord*', attribute=True, cli_name='dnskey_rec', csv=True)
|
||||
option: Str('dsrecord*', attribute=True, cli_name='ds_rec', csv=True)
|
||||
option: Str('hiprecord*', attribute=True, cli_name='hip_rec', csv=True)
|
||||
option: Str('ipseckeyrecord*', attribute=True, cli_name='ipseckey_rec', csv=True)
|
||||
option: Str('keyrecord*', attribute=True, cli_name='key_rec', csv=True)
|
||||
option: Str('kxrecord*', attribute=True, cli_name='kx_rec', csv=True)
|
||||
option: Str('locrecord*', attribute=True, cli_name='loc_rec', csv=True)
|
||||
option: Str('mxrecord*', attribute=True, cli_name='mx_rec', csv=True)
|
||||
option: Str('naptrrecord*', attribute=True, cli_name='naptr_rec', csv=True)
|
||||
option: Str('nsrecord*', attribute=True, cli_name='ns_rec', csv=True)
|
||||
option: Str('nsecrecord*', attribute=True, cli_name='nsec_rec', csv=True)
|
||||
option: Str('nsec3record*', attribute=True, cli_name='nsec3_rec', csv=True)
|
||||
option: Str('nsec3paramrecord*', attribute=True, cli_name='nsec3param_rec', csv=True)
|
||||
option: Str('ptrrecord*', attribute=True, cli_name='ptr_rec', csv=True)
|
||||
option: Str('rrsigrecord*', attribute=True, cli_name='rrsig_rec', csv=True)
|
||||
option: Str('rprecord*', attribute=True, cli_name='rp_rec', csv=True)
|
||||
option: Str('sigrecord*', attribute=True, cli_name='sig_rec', csv=True)
|
||||
option: Str('spfrecord*', attribute=True, cli_name='spf_rec', csv=True)
|
||||
option: Str('srvrecord*', attribute=True, cli_name='srv_rec', csv=True)
|
||||
option: Str('sshfprecord*', attribute=True, cli_name='sshfp_rec', csv=True)
|
||||
option: Str('tarecord*', attribute=True, cli_name='ta_rec', csv=True)
|
||||
option: Str('tkeyrecord*', attribute=True, cli_name='tkey_rec', csv=True)
|
||||
option: Str('tsigrecord*', attribute=True, cli_name='tsig_rec', csv=True)
|
||||
option: Str('txtrecord*', attribute=True, cli_name='txt_rec', csv=True)
|
||||
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
|
||||
output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
|
||||
output: Output('value', <type 'unicode'>, None)
|
||||
command: dnsrecord_add_record
|
||||
args: 2,37,3
|
||||
arg: Str('dnszoneidnsname', cli_name='dnszone', query=True, required=True)
|
||||
arg: Str('idnsname', attribute=True, cli_name='name', multivalue=False, primary_key=True, query=True, required=True)
|
||||
option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
|
||||
option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
|
||||
option: Str('version?', exclude='webui')
|
||||
option: Str('arecord*', attribute=True, cli_name='a_rec', csv=True)
|
||||
option: Str('aaaarecord*', attribute=True, cli_name='aaaa_rec', csv=True)
|
||||
option: Str('a6record*', attribute=True, cli_name='a6_rec', csv=True)
|
||||
option: Str('afsdbrecord*', attribute=True, cli_name='afsdb_rec', csv=True)
|
||||
option: Str('aplrecord*', attribute=True, cli_name='apl_rec', csv=True)
|
||||
option: Str('certrecord*', attribute=True, cli_name='cert_rec', csv=True)
|
||||
option: Str('cnamerecord*', attribute=True, cli_name='cname_rec', csv=True)
|
||||
option: Str('dhcidrecord*', attribute=True, cli_name='dhcid_rec', csv=True)
|
||||
option: Str('dlvrecord*', attribute=True, cli_name='dlv_rec', csv=True)
|
||||
option: Str('dnamerecord*', attribute=True, cli_name='dname_rec', csv=True)
|
||||
option: Str('dnskeyrecord*', attribute=True, cli_name='dnskey_rec', csv=True)
|
||||
option: Str('dsrecord*', attribute=True, cli_name='ds_rec', csv=True)
|
||||
option: Str('hiprecord*', attribute=True, cli_name='hip_rec', csv=True)
|
||||
option: Str('ipseckeyrecord*', attribute=True, cli_name='ipseckey_rec', csv=True)
|
||||
option: Str('keyrecord*', attribute=True, cli_name='key_rec', csv=True)
|
||||
option: Str('kxrecord*', attribute=True, cli_name='kx_rec', csv=True)
|
||||
option: Str('locrecord*', attribute=True, cli_name='loc_rec', csv=True)
|
||||
option: Str('mxrecord*', attribute=True, cli_name='mx_rec', csv=True)
|
||||
option: Str('naptrrecord*', attribute=True, cli_name='naptr_rec', csv=True)
|
||||
option: Str('nsrecord*', attribute=True, cli_name='ns_rec', csv=True)
|
||||
option: Str('nsecrecord*', attribute=True, cli_name='nsec_rec', csv=True)
|
||||
option: Str('nsec3record*', attribute=True, cli_name='nsec3_rec', csv=True)
|
||||
option: Str('nsec3paramrecord*', attribute=True, cli_name='nsec3param_rec', csv=True)
|
||||
option: Str('ptrrecord*', attribute=True, cli_name='ptr_rec', csv=True)
|
||||
option: Str('rrsigrecord*', attribute=True, cli_name='rrsig_rec', csv=True)
|
||||
option: Str('rprecord*', attribute=True, cli_name='rp_rec', csv=True)
|
||||
option: Str('sigrecord*', attribute=True, cli_name='sig_rec', csv=True)
|
||||
option: Str('spfrecord*', attribute=True, cli_name='spf_rec', csv=True)
|
||||
option: Str('srvrecord*', attribute=True, cli_name='srv_rec', csv=True)
|
||||
option: Str('sshfprecord*', attribute=True, cli_name='sshfp_rec', csv=True)
|
||||
option: Str('tarecord*', attribute=True, cli_name='ta_rec', csv=True)
|
||||
option: Str('tkeyrecord*', attribute=True, cli_name='tkey_rec', csv=True)
|
||||
option: Str('tsigrecord*', attribute=True, cli_name='tsig_rec', csv=True)
|
||||
option: Str('txtrecord*', attribute=True, cli_name='txt_rec', csv=True)
|
||||
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
|
||||
output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
|
||||
output: Output('value', <type 'unicode'>, None)
|
||||
command: dnsrecord_del
|
||||
args: 2,38,3
|
||||
args: 2,40,3
|
||||
arg: Str('dnszoneidnsname', cli_name='dnszone', query=True, required=True)
|
||||
arg: Str('idnsname', attribute=True, cli_name='name', multivalue=False, primary_key=True, query=True, required=True)
|
||||
option: Int('dnsttl', attribute=True, autofill=False, cli_name='ttl', multivalue=False, required=False)
|
||||
option: StrEnum('dnsclass', attribute=True, autofill=False, cli_name='class', multivalue=False, required=False, values=(u'IN', u'CS', u'CH', u'HS'))
|
||||
option: ARecord('arecord', attribute=True, autofill=False, cli_name='a_rec', csv=True, multivalue=True, required=False)
|
||||
option: AAAARecord('aaaarecord', attribute=True, autofill=False, cli_name='aaaa_rec', csv=True, multivalue=True, required=False)
|
||||
option: A6Record('a6record', attribute=True, autofill=False, cli_name='a6_rec', csv=True, multivalue=True, required=False)
|
||||
option: AFSDBRecord('afsdbrecord', attribute=True, autofill=False, cli_name='afsdb_rec', csv=True, multivalue=True, required=False)
|
||||
option: APLRecord('aplrecord', attribute=True, autofill=False, cli_name='apl_rec', csv=True, multivalue=True, required=False)
|
||||
option: CERTRecord('certrecord', attribute=True, autofill=False, cli_name='cert_rec', csv=True, multivalue=True, required=False)
|
||||
option: CNAMERecord('cnamerecord', attribute=True, autofill=False, cli_name='cname_rec', csv=True, multivalue=True, required=False)
|
||||
option: DHCIDRecord('dhcidrecord', attribute=True, autofill=False, cli_name='dhcid_rec', csv=True, multivalue=True, required=False)
|
||||
option: DLVRecord('dlvrecord', attribute=True, autofill=False, cli_name='dlv_rec', csv=True, multivalue=True, required=False)
|
||||
option: DNAMERecord('dnamerecord', attribute=True, autofill=False, cli_name='dname_rec', csv=True, multivalue=True, required=False)
|
||||
option: DNSKEYRecord('dnskeyrecord', attribute=True, autofill=False, cli_name='dnskey_rec', csv=True, multivalue=True, required=False)
|
||||
option: DSRecord('dsrecord', attribute=True, autofill=False, cli_name='ds_rec', csv=True, multivalue=True, required=False)
|
||||
option: HIPRecord('hiprecord', attribute=True, autofill=False, cli_name='hip_rec', csv=True, multivalue=True, required=False)
|
||||
option: IPSECKEYRecord('ipseckeyrecord', attribute=True, autofill=False, cli_name='ipseckey_rec', csv=True, multivalue=True, required=False)
|
||||
option: KEYRecord('keyrecord', attribute=True, autofill=False, cli_name='key_rec', csv=True, multivalue=True, required=False)
|
||||
option: KXRecord('kxrecord', attribute=True, autofill=False, cli_name='kx_rec', csv=True, multivalue=True, required=False)
|
||||
option: LOCRecord('locrecord', attribute=True, autofill=False, cli_name='loc_rec', csv=True, multivalue=True, required=False)
|
||||
option: MXRecord('mxrecord', attribute=True, autofill=False, cli_name='mx_rec', csv=True, multivalue=True, required=False)
|
||||
option: NAPTRRecord('naptrrecord', attribute=True, autofill=False, cli_name='naptr_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSRecord('nsrecord', attribute=True, autofill=False, cli_name='ns_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSECRecord('nsecrecord', attribute=True, autofill=False, cli_name='nsec_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSEC3Record('nsec3record', attribute=True, autofill=False, cli_name='nsec3_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSEC3PARAMRecord('nsec3paramrecord', attribute=True, autofill=False, cli_name='nsec3param_rec', csv=True, multivalue=True, required=False)
|
||||
option: PTRRecord('ptrrecord', attribute=True, autofill=False, cli_name='ptr_rec', csv=True, multivalue=True, required=False)
|
||||
option: RRSIGRecord('rrsigrecord', attribute=True, autofill=False, cli_name='rrsig_rec', csv=True, multivalue=True, required=False)
|
||||
option: RPRecord('rprecord', attribute=True, autofill=False, cli_name='rp_rec', csv=True, multivalue=True, required=False)
|
||||
option: SIGRecord('sigrecord', attribute=True, autofill=False, cli_name='sig_rec', csv=True, multivalue=True, required=False)
|
||||
option: SPFRecord('spfrecord', attribute=True, autofill=False, cli_name='spf_rec', csv=True, multivalue=True, required=False)
|
||||
option: SRVRecord('srvrecord', attribute=True, autofill=False, cli_name='srv_rec', csv=True, multivalue=True, required=False)
|
||||
option: SSHFPRecord('sshfprecord', attribute=True, autofill=False, cli_name='sshfp_rec', csv=True, multivalue=True, required=False)
|
||||
option: TARecord('tarecord', attribute=True, autofill=False, cli_name='ta_rec', csv=True, multivalue=True, required=False)
|
||||
option: TKEYRecord('tkeyrecord', attribute=True, autofill=False, cli_name='tkey_rec', csv=True, multivalue=True, required=False)
|
||||
option: TSIGRecord('tsigrecord', attribute=True, autofill=False, cli_name='tsig_rec', csv=True, multivalue=True, required=False)
|
||||
option: TXTRecord('txtrecord', attribute=True, autofill=False, cli_name='txt_rec', csv=True, multivalue=True, required=False)
|
||||
option: Flag('del_all', autofill=True, default=False)
|
||||
option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
|
||||
option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
|
||||
option: Str('version?', exclude='webui')
|
||||
option: Str('arecord*', attribute=True, cli_name='a_rec', csv=True)
|
||||
option: Str('aaaarecord*', attribute=True, cli_name='aaaa_rec', csv=True)
|
||||
option: Str('a6record*', attribute=True, cli_name='a6_rec', csv=True)
|
||||
option: Str('afsdbrecord*', attribute=True, cli_name='afsdb_rec', csv=True)
|
||||
option: Str('aplrecord*', attribute=True, cli_name='apl_rec', csv=True)
|
||||
option: Str('certrecord*', attribute=True, cli_name='cert_rec', csv=True)
|
||||
option: Str('cnamerecord*', attribute=True, cli_name='cname_rec', csv=True)
|
||||
option: Str('dhcidrecord*', attribute=True, cli_name='dhcid_rec', csv=True)
|
||||
option: Str('dlvrecord*', attribute=True, cli_name='dlv_rec', csv=True)
|
||||
option: Str('dnamerecord*', attribute=True, cli_name='dname_rec', csv=True)
|
||||
option: Str('dnskeyrecord*', attribute=True, cli_name='dnskey_rec', csv=True)
|
||||
option: Str('dsrecord*', attribute=True, cli_name='ds_rec', csv=True)
|
||||
option: Str('hiprecord*', attribute=True, cli_name='hip_rec', csv=True)
|
||||
option: Str('ipseckeyrecord*', attribute=True, cli_name='ipseckey_rec', csv=True)
|
||||
option: Str('keyrecord*', attribute=True, cli_name='key_rec', csv=True)
|
||||
option: Str('kxrecord*', attribute=True, cli_name='kx_rec', csv=True)
|
||||
option: Str('locrecord*', attribute=True, cli_name='loc_rec', csv=True)
|
||||
option: Str('mxrecord*', attribute=True, cli_name='mx_rec', csv=True)
|
||||
option: Str('naptrrecord*', attribute=True, cli_name='naptr_rec', csv=True)
|
||||
option: Str('nsrecord*', attribute=True, cli_name='ns_rec', csv=True)
|
||||
option: Str('nsecrecord*', attribute=True, cli_name='nsec_rec', csv=True)
|
||||
option: Str('nsec3record*', attribute=True, cli_name='nsec3_rec', csv=True)
|
||||
option: Str('nsec3paramrecord*', attribute=True, cli_name='nsec3param_rec', csv=True)
|
||||
option: Str('ptrrecord*', attribute=True, cli_name='ptr_rec', csv=True)
|
||||
option: Str('rrsigrecord*', attribute=True, cli_name='rrsig_rec', csv=True)
|
||||
option: Str('rprecord*', attribute=True, cli_name='rp_rec', csv=True)
|
||||
option: Str('sigrecord*', attribute=True, cli_name='sig_rec', csv=True)
|
||||
option: Str('spfrecord*', attribute=True, cli_name='spf_rec', csv=True)
|
||||
option: Str('srvrecord*', attribute=True, cli_name='srv_rec', csv=True)
|
||||
option: Str('sshfprecord*', attribute=True, cli_name='sshfp_rec', csv=True)
|
||||
option: Str('tarecord*', attribute=True, cli_name='ta_rec', csv=True)
|
||||
option: Str('tkeyrecord*', attribute=True, cli_name='tkey_rec', csv=True)
|
||||
option: Str('tsigrecord*', attribute=True, cli_name='tsig_rec', csv=True)
|
||||
option: Str('txtrecord*', attribute=True, cli_name='txt_rec', csv=True)
|
||||
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
|
||||
output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
|
||||
output: Output('value', <type 'unicode'>, None)
|
||||
@@ -760,91 +718,97 @@ arg: Str('criteria?', noextrawhitespace=False)
|
||||
option: Str('idnsname', attribute=True, autofill=False, cli_name='name', multivalue=False, primary_key=True, query=True, required=False)
|
||||
option: Int('dnsttl', attribute=True, autofill=False, cli_name='ttl', multivalue=False, query=True, required=False)
|
||||
option: StrEnum('dnsclass', attribute=True, autofill=False, cli_name='class', multivalue=False, query=True, required=False, values=(u'IN', u'CS', u'CH', u'HS'))
|
||||
option: ARecord('arecord', attribute=True, autofill=False, cli_name='a_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: AAAARecord('aaaarecord', attribute=True, autofill=False, cli_name='aaaa_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: A6Record('a6record', attribute=True, autofill=False, cli_name='a6_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: AFSDBRecord('afsdbrecord', attribute=True, autofill=False, cli_name='afsdb_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: APLRecord('aplrecord', attribute=True, autofill=False, cli_name='apl_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: CERTRecord('certrecord', attribute=True, autofill=False, cli_name='cert_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: CNAMERecord('cnamerecord', attribute=True, autofill=False, cli_name='cname_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: DHCIDRecord('dhcidrecord', attribute=True, autofill=False, cli_name='dhcid_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: DLVRecord('dlvrecord', attribute=True, autofill=False, cli_name='dlv_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: DNAMERecord('dnamerecord', attribute=True, autofill=False, cli_name='dname_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: DNSKEYRecord('dnskeyrecord', attribute=True, autofill=False, cli_name='dnskey_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: DSRecord('dsrecord', attribute=True, autofill=False, cli_name='ds_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: HIPRecord('hiprecord', attribute=True, autofill=False, cli_name='hip_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: IPSECKEYRecord('ipseckeyrecord', attribute=True, autofill=False, cli_name='ipseckey_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: KEYRecord('keyrecord', attribute=True, autofill=False, cli_name='key_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: KXRecord('kxrecord', attribute=True, autofill=False, cli_name='kx_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: LOCRecord('locrecord', attribute=True, autofill=False, cli_name='loc_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: MXRecord('mxrecord', attribute=True, autofill=False, cli_name='mx_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: NAPTRRecord('naptrrecord', attribute=True, autofill=False, cli_name='naptr_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: NSRecord('nsrecord', attribute=True, autofill=False, cli_name='ns_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: NSECRecord('nsecrecord', attribute=True, autofill=False, cli_name='nsec_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: NSEC3Record('nsec3record', attribute=True, autofill=False, cli_name='nsec3_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: NSEC3PARAMRecord('nsec3paramrecord', attribute=True, autofill=False, cli_name='nsec3param_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: PTRRecord('ptrrecord', attribute=True, autofill=False, cli_name='ptr_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: RRSIGRecord('rrsigrecord', attribute=True, autofill=False, cli_name='rrsig_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: RPRecord('rprecord', attribute=True, autofill=False, cli_name='rp_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: SIGRecord('sigrecord', attribute=True, autofill=False, cli_name='sig_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: SPFRecord('spfrecord', attribute=True, autofill=False, cli_name='spf_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: SRVRecord('srvrecord', attribute=True, autofill=False, cli_name='srv_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: SSHFPRecord('sshfprecord', attribute=True, autofill=False, cli_name='sshfp_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: TARecord('tarecord', attribute=True, autofill=False, cli_name='ta_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: TKEYRecord('tkeyrecord', attribute=True, autofill=False, cli_name='tkey_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: TSIGRecord('tsigrecord', attribute=True, autofill=False, cli_name='tsig_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: TXTRecord('txtrecord', attribute=True, autofill=False, cli_name='txt_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Int('timelimit?', autofill=False, minvalue=0)
|
||||
option: Int('sizelimit?', autofill=False, minvalue=0)
|
||||
option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
|
||||
option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
|
||||
option: Str('version?', exclude='webui')
|
||||
option: Flag('pkey_only?', autofill=True, default=False)
|
||||
option: Str('arecord', attribute=True, cli_name='a_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('aaaarecord', attribute=True, cli_name='aaaa_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('a6record', attribute=True, cli_name='a6_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('afsdbrecord', attribute=True, cli_name='afsdb_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('aplrecord', attribute=True, cli_name='apl_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('certrecord', attribute=True, cli_name='cert_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('cnamerecord', attribute=True, cli_name='cname_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('dhcidrecord', attribute=True, cli_name='dhcid_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('dlvrecord', attribute=True, cli_name='dlv_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('dnamerecord', attribute=True, cli_name='dname_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('dnskeyrecord', attribute=True, cli_name='dnskey_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('dsrecord', attribute=True, cli_name='ds_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('hiprecord', attribute=True, cli_name='hip_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('ipseckeyrecord', attribute=True, cli_name='ipseckey_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('keyrecord', attribute=True, cli_name='key_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('kxrecord', attribute=True, cli_name='kx_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('locrecord', attribute=True, cli_name='loc_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('mxrecord', attribute=True, cli_name='mx_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('naptrrecord', attribute=True, cli_name='naptr_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('nsrecord', attribute=True, cli_name='ns_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('nsecrecord', attribute=True, cli_name='nsec_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('nsec3record', attribute=True, cli_name='nsec3_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('nsec3paramrecord', attribute=True, cli_name='nsec3param_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('ptrrecord', attribute=True, cli_name='ptr_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('rrsigrecord', attribute=True, cli_name='rrsig_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('rprecord', attribute=True, cli_name='rp_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('sigrecord', attribute=True, cli_name='sig_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('spfrecord', attribute=True, cli_name='spf_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('srvrecord', attribute=True, cli_name='srv_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('sshfprecord', attribute=True, cli_name='sshfp_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('tarecord', attribute=True, cli_name='ta_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('tkeyrecord', attribute=True, cli_name='tkey_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('tsigrecord', attribute=True, cli_name='tsig_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
option: Str('txtrecord', attribute=True, cli_name='txt_rec', csv=True, multivalue=True, query=True, required=False)
|
||||
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
|
||||
output: ListOfEntries('result', (<type 'list'>, <type 'tuple'>), Gettext('A list of LDAP entries', domain='ipa', localedir=None))
|
||||
output: Output('count', <type 'int'>, None)
|
||||
output: Output('truncated', <type 'bool'>, None)
|
||||
command: dnsrecord_mod
|
||||
args: 2,37,3
|
||||
args: 2,43,3
|
||||
arg: Str('dnszoneidnsname', cli_name='dnszone', query=True, required=True)
|
||||
arg: Str('idnsname', attribute=True, cli_name='name', multivalue=False, primary_key=True, query=True, required=True)
|
||||
option: Int('dnsttl', attribute=True, autofill=False, cli_name='ttl', multivalue=False, required=False)
|
||||
option: StrEnum('dnsclass', attribute=True, autofill=False, cli_name='class', multivalue=False, required=False, values=(u'IN', u'CS', u'CH', u'HS'))
|
||||
option: ARecord('arecord', attribute=True, autofill=False, cli_name='a_rec', csv=True, multivalue=True, required=False)
|
||||
option: AAAARecord('aaaarecord', attribute=True, autofill=False, cli_name='aaaa_rec', csv=True, multivalue=True, required=False)
|
||||
option: A6Record('a6record', attribute=True, autofill=False, cli_name='a6_rec', csv=True, multivalue=True, required=False)
|
||||
option: AFSDBRecord('afsdbrecord', attribute=True, autofill=False, cli_name='afsdb_rec', csv=True, multivalue=True, required=False)
|
||||
option: APLRecord('aplrecord', attribute=True, autofill=False, cli_name='apl_rec', csv=True, multivalue=True, required=False)
|
||||
option: CERTRecord('certrecord', attribute=True, autofill=False, cli_name='cert_rec', csv=True, multivalue=True, required=False)
|
||||
option: CNAMERecord('cnamerecord', attribute=True, autofill=False, cli_name='cname_rec', csv=True, multivalue=True, required=False)
|
||||
option: DHCIDRecord('dhcidrecord', attribute=True, autofill=False, cli_name='dhcid_rec', csv=True, multivalue=True, required=False)
|
||||
option: DLVRecord('dlvrecord', attribute=True, autofill=False, cli_name='dlv_rec', csv=True, multivalue=True, required=False)
|
||||
option: DNAMERecord('dnamerecord', attribute=True, autofill=False, cli_name='dname_rec', csv=True, multivalue=True, required=False)
|
||||
option: DNSKEYRecord('dnskeyrecord', attribute=True, autofill=False, cli_name='dnskey_rec', csv=True, multivalue=True, required=False)
|
||||
option: DSRecord('dsrecord', attribute=True, autofill=False, cli_name='ds_rec', csv=True, multivalue=True, required=False)
|
||||
option: HIPRecord('hiprecord', attribute=True, autofill=False, cli_name='hip_rec', csv=True, multivalue=True, required=False)
|
||||
option: IPSECKEYRecord('ipseckeyrecord', attribute=True, autofill=False, cli_name='ipseckey_rec', csv=True, multivalue=True, required=False)
|
||||
option: KEYRecord('keyrecord', attribute=True, autofill=False, cli_name='key_rec', csv=True, multivalue=True, required=False)
|
||||
option: KXRecord('kxrecord', attribute=True, autofill=False, cli_name='kx_rec', csv=True, multivalue=True, required=False)
|
||||
option: LOCRecord('locrecord', attribute=True, autofill=False, cli_name='loc_rec', csv=True, multivalue=True, required=False)
|
||||
option: MXRecord('mxrecord', attribute=True, autofill=False, cli_name='mx_rec', csv=True, multivalue=True, required=False)
|
||||
option: NAPTRRecord('naptrrecord', attribute=True, autofill=False, cli_name='naptr_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSRecord('nsrecord', attribute=True, autofill=False, cli_name='ns_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSECRecord('nsecrecord', attribute=True, autofill=False, cli_name='nsec_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSEC3Record('nsec3record', attribute=True, autofill=False, cli_name='nsec3_rec', csv=True, multivalue=True, required=False)
|
||||
option: NSEC3PARAMRecord('nsec3paramrecord', attribute=True, autofill=False, cli_name='nsec3param_rec', csv=True, multivalue=True, required=False)
|
||||
option: PTRRecord('ptrrecord', attribute=True, autofill=False, cli_name='ptr_rec', csv=True, multivalue=True, required=False)
|
||||
option: RRSIGRecord('rrsigrecord', attribute=True, autofill=False, cli_name='rrsig_rec', csv=True, multivalue=True, required=False)
|
||||
option: RPRecord('rprecord', attribute=True, autofill=False, cli_name='rp_rec', csv=True, multivalue=True, required=False)
|
||||
option: SIGRecord('sigrecord', attribute=True, autofill=False, cli_name='sig_rec', csv=True, multivalue=True, required=False)
|
||||
option: SPFRecord('spfrecord', attribute=True, autofill=False, cli_name='spf_rec', csv=True, multivalue=True, required=False)
|
||||
option: SRVRecord('srvrecord', attribute=True, autofill=False, cli_name='srv_rec', csv=True, multivalue=True, required=False)
|
||||
option: SSHFPRecord('sshfprecord', attribute=True, autofill=False, cli_name='sshfp_rec', csv=True, multivalue=True, required=False)
|
||||
option: TARecord('tarecord', attribute=True, autofill=False, cli_name='ta_rec', csv=True, multivalue=True, required=False)
|
||||
option: TKEYRecord('tkeyrecord', attribute=True, autofill=False, cli_name='tkey_rec', csv=True, multivalue=True, required=False)
|
||||
option: TSIGRecord('tsigrecord', attribute=True, autofill=False, cli_name='tsig_rec', csv=True, multivalue=True, required=False)
|
||||
option: TXTRecord('txtrecord', attribute=True, autofill=False, cli_name='txt_rec', csv=True, multivalue=True, required=False)
|
||||
option: Str('setattr*', cli_name='setattr', exclude='webui')
|
||||
option: Str('addattr*', cli_name='addattr', exclude='webui')
|
||||
option: Str('delattr*', cli_name='delattr', exclude='webui')
|
||||
option: Flag('rights', autofill=True, default=False)
|
||||
option: Flag('all', autofill=True, cli_name='all', default=False, exclude='webui')
|
||||
option: Flag('raw', autofill=True, cli_name='raw', default=False, exclude='webui')
|
||||
option: Str('version?', exclude='webui')
|
||||
option: Str('arecord*', attribute=True, cli_name='a_rec', csv=True)
|
||||
option: Str('aaaarecord*', attribute=True, cli_name='aaaa_rec', csv=True)
|
||||
option: Str('a6record*', attribute=True, cli_name='a6_rec', csv=True)
|
||||
option: Str('afsdbrecord*', attribute=True, cli_name='afsdb_rec', csv=True)
|
||||
option: Str('aplrecord*', attribute=True, cli_name='apl_rec', csv=True)
|
||||
option: Str('certrecord*', attribute=True, cli_name='cert_rec', csv=True)
|
||||
option: Str('cnamerecord*', attribute=True, cli_name='cname_rec', csv=True)
|
||||
option: Str('dhcidrecord*', attribute=True, cli_name='dhcid_rec', csv=True)
|
||||
option: Str('dlvrecord*', attribute=True, cli_name='dlv_rec', csv=True)
|
||||
option: Str('dnamerecord*', attribute=True, cli_name='dname_rec', csv=True)
|
||||
option: Str('dnskeyrecord*', attribute=True, cli_name='dnskey_rec', csv=True)
|
||||
option: Str('dsrecord*', attribute=True, cli_name='ds_rec', csv=True)
|
||||
option: Str('hiprecord*', attribute=True, cli_name='hip_rec', csv=True)
|
||||
option: Str('ipseckeyrecord*', attribute=True, cli_name='ipseckey_rec', csv=True)
|
||||
option: Str('keyrecord*', attribute=True, cli_name='key_rec', csv=True)
|
||||
option: Str('kxrecord*', attribute=True, cli_name='kx_rec', csv=True)
|
||||
option: Str('locrecord*', attribute=True, cli_name='loc_rec', csv=True)
|
||||
option: Str('mxrecord*', attribute=True, cli_name='mx_rec', csv=True)
|
||||
option: Str('naptrrecord*', attribute=True, cli_name='naptr_rec', csv=True)
|
||||
option: Str('nsrecord*', attribute=True, cli_name='ns_rec', csv=True)
|
||||
option: Str('nsecrecord*', attribute=True, cli_name='nsec_rec', csv=True)
|
||||
option: Str('nsec3record*', attribute=True, cli_name='nsec3_rec', csv=True)
|
||||
option: Str('nsec3paramrecord*', attribute=True, cli_name='nsec3param_rec', csv=True)
|
||||
option: Str('ptrrecord*', attribute=True, cli_name='ptr_rec', csv=True)
|
||||
option: Str('rrsigrecord*', attribute=True, cli_name='rrsig_rec', csv=True)
|
||||
option: Str('rprecord*', attribute=True, cli_name='rp_rec', csv=True)
|
||||
option: Str('sigrecord*', attribute=True, cli_name='sig_rec', csv=True)
|
||||
option: Str('spfrecord*', attribute=True, cli_name='spf_rec', csv=True)
|
||||
option: Str('srvrecord*', attribute=True, cli_name='srv_rec', csv=True)
|
||||
option: Str('sshfprecord*', attribute=True, cli_name='sshfp_rec', csv=True)
|
||||
option: Str('tarecord*', attribute=True, cli_name='ta_rec', csv=True)
|
||||
option: Str('tkeyrecord*', attribute=True, cli_name='tkey_rec', csv=True)
|
||||
option: Str('tsigrecord*', attribute=True, cli_name='tsig_rec', csv=True)
|
||||
option: Str('txtrecord*', attribute=True, cli_name='txt_rec', csv=True)
|
||||
output: Output('summary', (<type 'unicode'>, <type 'NoneType'>), None)
|
||||
output: Entry('result', <type 'dict'>, Gettext('A dictionary representing an LDAP entry', domain='ipa', localedir=None))
|
||||
output: Output('value', <type 'unicode'>, None)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -257,8 +257,12 @@ def validate_zonemgr(zonemgr):
|
||||
if not all(regex_domain.match(part) for part in domain.split(".")):
|
||||
raise ValueError(_('domain name may only include letters, numbers, and -'))
|
||||
|
||||
def validate_hostname(hostname):
|
||||
""" See RFC 952, 1123"""
|
||||
def validate_hostname(hostname, check_fqdn=True):
|
||||
""" See RFC 952, 1123
|
||||
|
||||
:param hostname Checked value
|
||||
:param check_fqdn Check if hostname is fully qualified
|
||||
"""
|
||||
regex_name = re.compile(r'^[a-z0-9]([a-z0-9-]?[a-z0-9])*$', re.IGNORECASE)
|
||||
|
||||
if len(hostname) > 255:
|
||||
@@ -267,12 +271,12 @@ def validate_hostname(hostname):
|
||||
if hostname.endswith('.'):
|
||||
hostname = hostname[:-1]
|
||||
|
||||
if '.' not in hostname:
|
||||
raise ValueError(_('hostname is not fully qualified'))
|
||||
if check_fqdn and '.' not in hostname:
|
||||
raise ValueError(_('not fully qualified'))
|
||||
|
||||
if not all(regex_name.match(part) for part in hostname.split(".")):
|
||||
raise ValueError(_('hostname parts may only include letters, numbers, and - ' \
|
||||
'(which is not allowed as the last character)'))
|
||||
raise ValueError(_('only letters, numbers, and - are allowed. ' \
|
||||
'- must not be the last name character'))
|
||||
|
||||
class cachedproperty(object):
|
||||
"""
|
||||
|
||||
@@ -413,6 +413,13 @@ class test_dns(Declarative):
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Try to delete root zone record \'@\' in %r' % (dnszone1),
|
||||
command=('dnsrecord_del', [dnszone1, u'@'], {'del_all' : True}),
|
||||
expected=errors.ValidationError(name='del_all', error=''),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Create record %r in zone %r' % (dnszone1, dnsres1),
|
||||
command=('dnsrecord_add', [dnszone1, dnsres1], {'arecord': u'127.0.0.1'}),
|
||||
@@ -575,13 +582,13 @@ class test_dns(Declarative):
|
||||
|
||||
dict(
|
||||
desc='Try to add invalid LOC record to zone %r using dnsrecord_add' % (dnszone1),
|
||||
command=('dnsrecord_add', [dnszone1, u'@'], {'locrecord': u"91 11 42.4 N 16 36 29.6 E 227.64m" }),
|
||||
command=('dnsrecord_add', [dnszone1, u'@'], {'locrecord': u"91 11 42.4 N 16 36 29.6 E 227.64" }),
|
||||
expected=errors.ValidationError(name='locrecord', error=''),
|
||||
),
|
||||
|
||||
dict(
|
||||
desc='Add LOC record to zone %r using dnsrecord_add' % (dnszone1),
|
||||
command=('dnsrecord_add', [dnszone1, u'@'], {'locrecord': u"49 11 42.4 N 16 36 29.6 E 227.64m" }),
|
||||
command=('dnsrecord_add', [dnszone1, u'@'], {'locrecord': u"49 11 42.4 N 16 36 29.6 E 227.64" }),
|
||||
expected={
|
||||
'value': u'@',
|
||||
'summary': None,
|
||||
@@ -591,7 +598,7 @@ class test_dns(Declarative):
|
||||
'idnsname': [dnszone1],
|
||||
'mxrecord': [u"0 %s" % dnszone1_mname],
|
||||
'nsrecord': [dnszone1_mname],
|
||||
'locrecord': [u"49 11 42.4 N 16 36 29.6 E 227.64m"],
|
||||
'locrecord': [u"49 11 42.4 N 16 36 29.6 E 227.64"],
|
||||
},
|
||||
},
|
||||
),
|
||||
@@ -604,7 +611,7 @@ class test_dns(Declarative):
|
||||
|
||||
dict(
|
||||
desc='Add CNAME record to %r using dnsrecord_add' % (dnsres1),
|
||||
command=('dnsrecord_add', [dnszone1, dnsres1], {'cnamerecord': u'foo-1.example.com' }),
|
||||
command=('dnsrecord_add', [dnszone1, dnsres1], {'cnamerecord': u'foo-1.example.com.' }),
|
||||
expected={
|
||||
'value': dnsres1,
|
||||
'summary': None,
|
||||
@@ -626,7 +633,7 @@ class test_dns(Declarative):
|
||||
|
||||
dict(
|
||||
desc='Add KX record to %r using dnsrecord_add' % (dnsres1),
|
||||
command=('dnsrecord_add', [dnszone1, dnsres1], {'kxrecord': u'1 foo-1.example.com' }),
|
||||
command=('dnsrecord_add', [dnszone1, dnsres1], {'kxrecord': u'1 foo-1' }),
|
||||
expected={
|
||||
'value': dnsres1,
|
||||
'summary': None,
|
||||
@@ -636,7 +643,7 @@ class test_dns(Declarative):
|
||||
'idnsname': [dnsres1],
|
||||
'arecord': [u'10.10.0.1'],
|
||||
'cnamerecord': [u'foo-1.example.com.'],
|
||||
'kxrecord': [u'1 foo-1.example.com'],
|
||||
'kxrecord': [u'1 foo-1'],
|
||||
},
|
||||
},
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user