dns

package
v0.1.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyRecordInput

type ApplyRecordInput struct {
	ProviderSecret string
	Zone           string
	RecordName     string
	RecordType     string
	Values         []string
	TTL            int
	Proxied        bool
}

type CloudflareProvider

type CloudflareProvider struct {
	HTTPClient *http.Client
	BaseURL    string
}

func (CloudflareProvider) ApplyRecord

func (provider CloudflareProvider) ApplyRecord(ctx context.Context, input ApplyRecordInput) error

func (CloudflareProvider) ListZones added in v0.1.20

func (provider CloudflareProvider) ListZones(ctx context.Context, providerSecret string) ([]ZoneInfo, error)

type Provider

type Provider interface {
	ApplyRecord(ctx context.Context, input ApplyRecordInput) error
}

type ProviderRegistry

type ProviderRegistry interface {
	ProviderForKey(provider string) (Provider, bool)
}

func DefaultProviderRegistry

func DefaultProviderRegistry() ProviderRegistry

type StaticProviderRegistry

type StaticProviderRegistry map[string]Provider

func (StaticProviderRegistry) ProviderForKey

func (registry StaticProviderRegistry) ProviderForKey(provider string) (Provider, bool)

type ZoneInfo added in v0.1.20

type ZoneInfo struct {
	ID     string
	Name   string
	Status string
}

type ZoneLister added in v0.1.20

type ZoneLister interface {
	ListZones(ctx context.Context, providerSecret string) ([]ZoneInfo, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL