miab

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 7, 2023 License: MIT Imports: 5 Imported by: 1

README

Mail-In-A-Box custom DNS API provider for libdns

Go Reference

This package implements the libdns interfaces for Mail-In-A-Box custom DNS API, allowing you to manage DNS records.

TODO: Show how to configure and use. Explain any caveats.

Documentation

Overview

Package miab implements a DNS record management client compatible with the libdns interfaces for https://mailinabox.email/ custom DNS Endpoints. The mailinabox DNS API is limited in that it only works with one zone.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	// APIURL is the URL provided by the mailinabox admin interface, found
	// on your box here: https://box.[your-domain.com]/admin#custom_dns
	// https://box.[your-domain.com]/admin/dns/custom
	APIURL string `json:"api_url,omitempty"`
	// EmailAddress of an admin account.
	// It's recommended that a dedicated account
	// be created especially for managing DNS.
	EmailAddress string `json:"email_address,omitempty"`
	// Password of the admin account that corresponds to the email.
	Password string `json:"password,omitempty"`
}

Provider facilitates DNS record manipulation with Mail-In-A-Box.

func (*Provider) AppendRecords

func (p *Provider) AppendRecords(ctx context.Context, zone string, records []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, records []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) SetRecords

func (p *Provider) SetRecords(ctx context.Context, zone string, records []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.

Jump to

Keyboard shortcuts

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