1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00
Brice Figureau 2fc55dfdc4 Add IGNORE(label) which ignores label at the provider (#183) (#300)
* Add support for the IGNORE(name) directive (#183)

IGNORE is like NO_PURGE but for a spefic record instead of the whole
zone. This is very useful for instance if you have a zone where
only some records are managed externally from dnscontrol (for instance
using kubernetes external dns system).

Adding IGNORE("foo") in the zone will make dnscontrol not trying
to manage the "foo" record (and especially not deleting it).
dnscontrol will error out if the "foo" record is both ignored and
managed in dnscontrol.

This can be seen as a generic Cloudflare's ignored label.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>

* Deprecate CloudFlare ignoredLabels in favor of IGNORE (#183)

Since IGNORE implements a generic `ignoredLabels` system, let
the user know CF `ignoredLabels` are deprecated.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2018-01-15 15:39:29 -05:00

287 lines
10 KiB
Go

// Code generated by "esc "; DO NOT EDIT.
package js
import (
"bytes"
"compress/gzip"
"encoding/base64"
"io/ioutil"
"net/http"
"os"
"path"
"sync"
"time"
)
type _escLocalFS struct{}
var _escLocal _escLocalFS
type _escStaticFS struct{}
var _escStatic _escStaticFS
type _escDirectory struct {
fs http.FileSystem
name string
}
type _escFile struct {
compressed string
size int64
modtime int64
local string
isDir bool
once sync.Once
data []byte
name string
}
func (_escLocalFS) Open(name string) (http.File, error) {
f, present := _escData[path.Clean(name)]
if !present {
return nil, os.ErrNotExist
}
return os.Open(f.local)
}
func (_escStaticFS) prepare(name string) (*_escFile, error) {
f, present := _escData[path.Clean(name)]
if !present {
return nil, os.ErrNotExist
}
var err error
f.once.Do(func() {
f.name = path.Base(name)
if f.size == 0 {
return
}
var gr *gzip.Reader
b64 := base64.NewDecoder(base64.StdEncoding, bytes.NewBufferString(f.compressed))
gr, err = gzip.NewReader(b64)
if err != nil {
return
}
f.data, err = ioutil.ReadAll(gr)
})
if err != nil {
return nil, err
}
return f, nil
}
func (fs _escStaticFS) Open(name string) (http.File, error) {
f, err := fs.prepare(name)
if err != nil {
return nil, err
}
return f.File()
}
func (dir _escDirectory) Open(name string) (http.File, error) {
return dir.fs.Open(dir.name + name)
}
func (f *_escFile) File() (http.File, error) {
type httpFile struct {
*bytes.Reader
*_escFile
}
return &httpFile{
Reader: bytes.NewReader(f.data),
_escFile: f,
}, nil
}
func (f *_escFile) Close() error {
return nil
}
func (f *_escFile) Readdir(count int) ([]os.FileInfo, error) {
return nil, nil
}
func (f *_escFile) Stat() (os.FileInfo, error) {
return f, nil
}
func (f *_escFile) Name() string {
return f.name
}
func (f *_escFile) Size() int64 {
return f.size
}
func (f *_escFile) Mode() os.FileMode {
return 0
}
func (f *_escFile) ModTime() time.Time {
return time.Unix(f.modtime, 0)
}
func (f *_escFile) IsDir() bool {
return f.isDir
}
func (f *_escFile) Sys() interface{} {
return f
}
// _escFS returns a http.Filesystem for the embedded assets. If useLocal is true,
// the filesystem's contents are instead used.
func _escFS(useLocal bool) http.FileSystem {
if useLocal {
return _escLocal
}
return _escStatic
}
// _escDir returns a http.Filesystem for the embedded assets on a given prefix dir.
// If useLocal is true, the filesystem's contents are instead used.
func _escDir(useLocal bool, name string) http.FileSystem {
if useLocal {
return _escDirectory{fs: _escLocal, name: name}
}
return _escDirectory{fs: _escStatic, name: name}
}
// _escFSByte returns the named file from the embedded assets. If useLocal is
// true, the filesystem's contents are instead used.
func _escFSByte(useLocal bool, name string) ([]byte, error) {
if useLocal {
f, err := _escLocal.Open(name)
if err != nil {
return nil, err
}
b, err := ioutil.ReadAll(f)
_ = f.Close()
return b, err
}
f, err := _escStatic.prepare(name)
if err != nil {
return nil, err
}
return f.data, nil
}
// _escFSMustByte is the same as _escFSByte, but panics if name is not present.
func _escFSMustByte(useLocal bool, name string) []byte {
b, err := _escFSByte(useLocal, name)
if err != nil {
panic(err)
}
return b
}
// _escFSString is the string version of _escFSByte.
func _escFSString(useLocal bool, name string) (string, error) {
b, err := _escFSByte(useLocal, name)
return string(b), err
}
// _escFSMustString is the string version of _escFSMustByte.
func _escFSMustString(useLocal bool, name string) string {
return string(_escFSMustByte(useLocal, name))
}
var _escData = map[string]*_escFile{
"/helpers.js": {
local: "pkg/js/helpers.js",
size: 17575,
modtime: 0,
compressed: `
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
AP//rK/L5adEAAA=
`,
},
"/": {
isDir: true,
local: "pkg/js",
},
}