func NewRfc2136Provider(host string, port int, zoneName string, insecure bool, keyName string, secret string, secretAlg string, axfr bool, domainFilter DomainFilter, dryRun bool, actions rfc2136Actions) (Provider, error) {
	secretAlgChecked, ok := tsigAlgs[secretAlg]
	if !ok && !insecure {
		return nil, errors.Errorf("%s is not supported TSIG algorithm", secretAlg)
	}

	r := &rfc2136Provider{
		nameserver:   net.JoinHostPort(host, strconv.Itoa(port)),
		zoneName:     dns.Fqdn(zoneName),
		insecure:     insecure,
		domainFilter: domainFilter,
		dryRun:       dryRun,
		axfr:         axfr,
	}
	if actions != nil {
		r.actions = actions
	} else {
		r.actions = r
	}

	if !insecure {
		r.tsigKeyName = dns.Fqdn(keyName)
		r.tsigSecret = secret
		r.tsigSecretAlg = secretAlgChecked
	}

	log.Infof("Configured RFC2136 with zone '%s' and nameserver '%s'", r.zoneName, r.nameserver)
	return r, nil
}
func NewRfc2136Provider(host string, port int, zoneName string, insecure bool, keyName string, secret string, secretAlg string, axfr bool, domainFilter DomainFilter, dryRun bool, actions rfc2136Actions) (Provider, error) {
	secretAlgChecked, ok := tsigAlgs[secretAlg]
	if !ok && !insecure {
		return nil, errors.Errorf("%s is not supported TSIG algorithm", secretAlg)
	}

	r := &rfc2136Provider{
		nameserver:   net.JoinHostPort(host, strconv.Itoa(port)),
		zoneName:     dns.Fqdn(zoneName),
		insecure:     insecure,
		domainFilter: domainFilter,
		dryRun:       dryRun,
		axfr:         axfr,
	}
	if actions != nil {
		r.actions = actions
	} else {
		r.actions = r
	}

	if !insecure {
		r.tsigKeyName = dns.Fqdn(keyName)
		r.tsigSecret = secret
		r.tsigSecretAlg = secretAlgChecked
	}

	log.Infof("Configured RFC2136 with zone '%s' and nameserver '%s'", r.zoneName, r.nameserver)
	return r, nil
}
func NewRfc2136Provider ( host string , port int , zoneName string , insecure bool , keyName string , secret string , secretAlg string , axfr bool , domainFilter DomainFilter , dryRun bool , actions rfc2136Actions ) ( Provider , error ) { secretAlgChecked , ok := tsigAlgs [ secretAlg ] if ! ok && ! insecure { return nil , errors . Errorf ( " " , secretAlg ) } r := & rfc2136Provider { nameserver : net . JoinHostPort ( host , strconv . Itoa ( port ) ) , zoneName : dns . Fqdn ( zoneName ) , insecure : insecure , domainFilter : domainFilter , dryRun : dryRun , axfr : axfr , } if actions != nil { r . actions = actions } else { r . actions = r } if ! insecure { r . tsigKeyName = dns . Fqdn ( keyName ) r . tsigSecret = secret r . tsigSecretAlg = secretAlgChecked } log . Infof ( " " , r . zoneName , r . nameserver ) return r , nil }
// NewRfc2136Provider is a factory function for OpenStack rfc2136 providers
NewRfc2136Provider is a factory function for OpenStack rfc2136 providers