namesilo

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2025 License: MIT Imports: 9 Imported by: 7

README

NameSilo DNS for libdns

Go Reference

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

Authentication

In order to use NameSilo DNS for libdns, the NameSilo API key is required as the token. One can obtain it on the API Manager page within one's account.

Example

The following example shows how to retrieve the DNS records.

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/libdns/namesilo"
)

func main() {
	token := os.Getenv("LIBDNS_NAMESILO_TOKEN")
	if token == "" {
		fmt.Println("LIBDNS_NAMESILO_TOKEN not set")
		return
	}

	zone := os.Getenv("LIBDNS_NAMESILO_ZONE")
	if token == "" {
		fmt.Println("LIBDNS_NAMESILO_ZONE not set")
		return
	}

	p := &namesilo.Provider{
		AuthAPIToken: token,
	}

	ctx := context.Background()
	records, err := p.GetRecords(ctx, zone)
	if err != nil {
		fmt.Printf("Error: %v", err)
		return
	}

	fmt.Println(records)
}

Documentation

Overview

Package libdnsnamesilo implements a DNS record management client compatible with the libdns interfaces for Namesilo.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	APIToken string `json:"api_token,omitempty"`
}

Provider facilitates DNS record manipulation with Namesilo.

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