gcore

package module
v0.0.0-...-716db52 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2025 License: MIT Imports: 6 Imported by: 1

README

GCore for libdns

Go Reference

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

Authenticating

To authenticate you need to supply a GCore API Key.

Example

Here's a minimal example of how to get all DNS records for zone.

// Package main provides a simple example of how to use the libdns-gcore package.
package main

import (
    "context"
    "fmt"
    "os"
    "path/filepath"

    gcore "git.mills.io/prologic/libdns-gcore"
)

func main() {
    apiKey := os.Getenv("GCORE_API_KEY")
    if apiKey == "" {
        fmt.Printf("GCORE_API_KEY not set\n")
        return
    }

    if len(os.Args) < 2 {
        fmt.Printf("Usage: %s <zone>\n", filepath.Base(os.Args[0]))
        os.Exit(1)
    }

    zone := os.Args[1]

    provider := &gcore.Provider{
        APIKey: apiKey,
    }

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

    fmt.Println(records)
}

Documentation

Overview

Package gcore implements the libdns interfaces for GCore DNS

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	APIKey string `json:"api_key,omitempty"`
}

Provider facilitates DNS record manipulation with GCore DNS.

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.

Directories

Path Synopsis
Package main provides a simple example of how to use the libdns-gcore package.
Package main provides a simple example of how to use the libdns-gcore package.

Jump to

Keyboard shortcuts

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