luadns

package module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 29, 2025 License: MIT Imports: 7 Imported by: 3

README

LuaDNS for libdns

Go Reference

This package implements the libdns interfaces for LuaDNS, allowing you to manage DNS records.

Usage:

// Init Provider struct.
provider := luadns.Provider{
	Email:  email,
	APIKey: key,
}

// List account zones.
zones, err := provider.ListZones(ctx)


// List zone records.
records, err := provider.GetRecords(ctx, zone)


// Create new records.
records, err := provider.AppendRecords(ctx, zone, []libdns.Record{
	libdns.RR{
		Name: "foo",
		Type: "TXT",
		Data: "foo",
		TTL:  3600 * time.Second,
	},
})


// Set zone records for input (name, type) pairs with supplied records.
records, err := provider.SetRecords(ctx, zone, []libdns.Record{
	libdns.RR{
		Name: "foo",
		Type: "TXT",
		Data: "bar",
		TTL:  3600 * time.Second,
	},
})


// Delete records when matching supplied name, type, data and TTL.
records, err := provider.DeleteRecords(ctx, zone, []libdns.Record{
	libdns.RR{
		Name: "foo",
		Type: "TXT",
	},
})

For a complete example see _examples/main.go.

Documentation

Overview

Package libdnstemplate implements a DNS record management client compatible with the libdns interfaces for LuaDNS.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	Email  string `json:"email,omitempty"`
	APIKey string `json:"api_key,omitempty"`
	// contains filtered or unexported fields
}

Provider facilitates DNS record manipulation with LuaDNS.

func (*Provider) AppendRecords

func (p *Provider) AppendRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error)

AppendRecords adds records to the zone. It returns the records that were added.

func (*Provider) DeleteRecords

func (p *Provider) DeleteRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error)

DeleteRecords deletes the records from the zone. It returns the records that were deleted.

func (*Provider) GetRecords

func (p *Provider) GetRecords(ctx context.Context, zone string) ([]libdns.Record, error)

GetRecords lists all the records in the zone.

func (*Provider) ListZones added in v0.2.0

func (p *Provider) ListZones(ctx context.Context) ([]libdns.Zone, error)

ListZones list available DNS zones.

func (*Provider) SetRecords

func (p *Provider) SetRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error)

SetRecords sets the records in the zone, either by updating existing records or creating new ones. It returns the updated records.

Directories

Path Synopsis
Use the following command line to run this example:
Use the following command line to run this example:

Jump to

Keyboard shortcuts

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