sdns

package
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EndpointDnsDomainList        = "/api/v5/sdns/domains"              // GET
	EndpointDnsDomainAdd         = "/api/v5/sdns/domains"              // POST
	EndpointDnsDomainBatchAdd    = "/api/v5/sdns/domains_batch_add"    // POST
	EndpointDnsDomainBatchDelete = "/api/v5/sdns/domains_batch_delete" // DELETE
	EndpointDnsDomainStat        = "/api/v5/sdns/domains/stat"         // GET
	EndpointDnsDomainServers     = "/api/v5/sdns/domains/servers"      // GET
)

DNS Domain API Endpoints

View Source
const (
	EndpointDnsGroupList              = "/api/v5/sdns/domains/groups"                              // GET
	EndpointDnsGroupAdd               = "/api/v5/sdns/domains/groups"                              // POST
	EndpointDnsGroupUpdate            = "/api/v5/sdns/domains/groups"                              // PUT
	EndpointDnsGroupDelete            = "/api/v5/sdns/domains/groups"                              // DELETE
	EndpointDnsGroupRecordList        = "/api/v5/sdns/records/groups"                              // GET
	EndpointDnsGroupRecordRelation    = "/api/v5/sdns/records/groups_relations"                    // POST
	EndpointDnsGroupDomainList        = "/api/v5/cloud.dns.domain.group.domain.list"               // POST
	EndpointDnsGroupUndistributedList = "/api/v5/cloud.dns.domain.group.undistributed.domain.list" // POST
)

DNS Domain Group API Endpoints

View Source
const (
	EndpointDnsRecordTypes         = "/api/v5/sdns/types"                    // GET
	EndpointDnsRecordList          = "/api/v5/sdns/records"                  // GET
	EndpointDnsRecordAdd           = "/api/v5/sdns/records"                  // POST
	EndpointDnsRecordBatchAdd      = "/api/v5/sdns/records_batch_add"        // POST
	EndpointDnsRecordEdit          = "/api/v5/sdns/records"                  // PUT
	EndpointDnsRecordDelete        = "/api/v5/sdns/records"                  // DELETE
	EndpointDnsRecordBatchPause    = "/api/v5/sdns/records_batch_pause"      // POST
	EndpointDnsRecordBatchEnable   = "/api/v5/sdns/records_batch_enable"     // POST
	EndpointDnsRecordBatchDelete   = "/api/v5/sdns/records_batch_delete"     // POST
	EndpointDnsRecordImport        = "/api/v5/sdns/records_import"           // POST
	EndpointDnsRecordExport        = "/api/v5/sdns/records_export"           // POST
	EndpointDnsRecordLines         = "/api/v5/sdns/records/lines"            // GET
	EndpointDnsRecordGroupList     = "/api/v5/sdns/records/groups"           // GET
	EndpointDnsRecordGroupAdd      = "/api/v5/sdns/records/groups"           // POST
	EndpointDnsRecordGroupRelation = "/api/v5/sdns/records/groups_relations" // POST
	EndpointDnsRecordGroupDelete   = "/api/v5/sdns/records/groups"           // DELETE
)

DNS Record API Endpoints

View Source
const (
	EndpointDnsBatchTaskList   = "/api/v5/sdns/tasks"        // GET
	EndpointDnsBatchTaskDetail = "/api/v5/sdns/tasks/detail" // GET
)

DNS Batch Task API Endpoints

Variables

This section is empty.

Functions

This section is empty.

Types

type DnsDomainAddData

type DnsDomainAddData struct {
	ID int `json:"id"`
}

type DnsDomainAddRequest

type DnsDomainAddRequest struct {
	Domain string `json:"domain"`
}

type DnsDomainAddResponse

type DnsDomainAddResponse struct {
	Status Status           `json:"status"`
	Data   DnsDomainAddData `json:"data"`
}

type DnsDomainDeleteRequest

type DnsDomainDeleteRequest struct {
	DomainIDs []int `json:"domain_ids"`
}

type DnsDomainDeleteResponse

type DnsDomainDeleteResponse struct {
	Status Status `json:"status"`
}

type DnsDomainInfo

type DnsDomainInfo struct {
	ID              int    `json:"id"`
	MemberID        int    `json:"member_id"`
	Domain          string `json:"domain"`
	TrustStatus     int    `json:"trust_status"`
	TrustStatusDesc string `json:"trust_status_desc"`
	Status          int    `json:"status"` // 1正常
}

type DnsDomainListData

type DnsDomainListData struct {
	Total int             `json:"total"`
	List  []DnsDomainInfo `json:"list"`
}

type DnsDomainListRequest

type DnsDomainListRequest struct {
	Page    int    `json:"page,omitempty"`
	PerPage int    `json:"per_page,omitempty"`
	GroupID int    `json:"group_id,omitempty"`
	Domain  string `json:"domain,omitempty"`
	Id      int    `json:"id,omitempty"`
}

type DnsDomainListResponse

type DnsDomainListResponse struct {
	Status Status            `json:"status"`
	Data   DnsDomainListData `json:"data"`
}

type DnsGroup

type DnsGroup struct {
	ID        int    `json:"id"`
	MemberID  int    `json:"member_id"`
	GroupName string `json:"group_name"`
	Remark    string `json:"remark"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`
}

type DnsGroupAddRequest

type DnsGroupAddRequest struct {
	GroupName string `json:"group_name"`
	Remark    string `json:"remark,omitempty"`
	DomainIDs []int  `json:"domain_ids,omitempty"`
}

type DnsGroupAddResponse

type DnsGroupAddResponse struct {
	Status Status `json:"status"`
	Data   struct {
		ID int `json:"id"`
	} `json:"data"`
}

type DnsGroupDelRequest

type DnsGroupDelRequest struct {
	GroupID int `json:"group_id"`
}

type DnsGroupDomain

type DnsGroupDomain struct {
	DomainID interface{} `json:"domain_id"` // Sometimes string, sometimes int in documentation
	Domain   string      `json:"domain"`
}

type DnsGroupDomainListData

type DnsGroupDomainListData struct {
	Total int              `json:"total"`
	List  []DnsGroupDomain `json:"list"`
}

type DnsGroupDomainListRequest

type DnsGroupDomainListRequest struct {
	GroupID int    `json:"group_id"`
	Domain  string `json:"domain,omitempty"`
	Page    int    `json:"page,omitempty"`
	PerPage int    `json:"per_page,omitempty"`
}

type DnsGroupDomainListResponse

type DnsGroupDomainListResponse struct {
	Status Status                 `json:"status"`
	Data   DnsGroupDomainListData `json:"data"`
}

type DnsGroupDomainSaveRequest

type DnsGroupDomainSaveRequest struct {
	GroupID   int    `json:"group_id"`
	DomainIDs []int  `json:"domain_ids,omitempty"`
	Action    string `json:"action"` // add, del
}

type DnsGroupListData

type DnsGroupListData struct {
	Total int        `json:"total"`
	List  []DnsGroup `json:"list"`
}

type DnsGroupListRequest

type DnsGroupListRequest struct {
	Page      int    `json:"page,omitempty"`
	PerPage   int    `json:"per_page,omitempty"`
	GroupName string `json:"group_name,omitempty"`
	Domain    string `json:"domain,omitempty"`
	Id        int    `json:"id,omitempty"`
}

type DnsGroupListResponse

type DnsGroupListResponse struct {
	Status Status           `json:"status"`
	Data   DnsGroupListData `json:"data"`
}

type DnsGroupSaveRequest

type DnsGroupSaveRequest struct {
	GroupID   int    `json:"group_id"`
	GroupName string `json:"group_name"`
	Remark    string `json:"remark,omitempty"`
	DomainIDs []int  `json:"domain_ids,omitempty"`
}

type DnsRecord

type DnsRecord struct {
	ID        int    `json:"id"`
	DomainID  int    `json:"domain_id"`
	Name      string `json:"name"`
	Type      string `json:"type"`
	View      string `json:"view"`
	Value     string `json:"value"`
	MX        int    `json:"mx"`
	TTL       int    `json:"ttl"`
	Status    int    `json:"status"`
	Sort      int    `json:"sort"`
	IsSyncCDN int    `json:"is_sync_cdn"`
	Remark    string `json:"remark"`
	Locked    bool   `json:"locked"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`
}

type DnsRecordAddRequest

type DnsRecordAddRequest struct {
	DomainID     int    `json:"domain_id"`
	RecordName   string `json:"record_name"`
	RecordType   string `json:"record_type"`
	RecordView   string `json:"record_view"`
	RecordValue  string `json:"record_value"`
	RecordMX     int    `json:"record_mx,omitempty"`
	RecordTTL    int    `json:"record_ttl,omitempty"`
	RecordRemark string `json:"record_remark,omitempty"`
}

type DnsRecordDeleteRequest

type DnsRecordDeleteRequest struct {
	RecordID int `json:"record_id"`
	DomainID int `json:"domain_id"`
}

type DnsRecordEditRequest

type DnsRecordEditRequest struct {
	RecordID     int    `json:"record_id"`
	DomainID     int    `json:"domain_id"`
	RecordName   string `json:"record_name"`
	RecordType   string `json:"record_type"`
	RecordView   string `json:"record_view"`
	RecordValue  string `json:"record_value"`
	RecordMX     int    `json:"record_mx,omitempty"`
	RecordTTL    int    `json:"record_ttl,omitempty"`
	RecordRemark string `json:"record_remark,omitempty"`
}

type DnsRecordListData

type DnsRecordListData struct {
	Total int         `json:"total"`
	List  []DnsRecord `json:"list"`
}

type DnsRecordListRequest

type DnsRecordListRequest struct {
	DomainID   int    `json:"domain_id"`
	Page       int    `json:"page,omitempty"`
	PerPage    int    `json:"per_page,omitempty"`
	RecordType string `json:"record_type,omitempty"`
	RecordName string `json:"record_name,omitempty"`
	GroupID    int    `json:"group_id,omitempty"`
}

type DnsRecordListResponse

type DnsRecordListResponse struct {
	Status Status            `json:"status"`
	Data   DnsRecordListData `json:"data"`
}

type DnsRecordResponse

type DnsRecordResponse struct {
	Status Status `json:"status"`
	Data   struct {
		ID int `json:"id"`
	} `json:"data"`
}

type SdnsService

type SdnsService struct {
	// contains filtered or unexported fields
}

SdnsService DNS service

func NewSdnsService

func NewSdnsService(client *connectivity.ByteShieldClient) *SdnsService

NewSdnsService creates a new DNS service instance

func (*SdnsService) AddDnsDomain

func (s *SdnsService) AddDnsDomain(domainName string) (*DnsDomainAddData, error)

AddDnsDomain Adds a new DNS domain

func (*SdnsService) AddDnsGroup

func (s *SdnsService) AddDnsGroup(req DnsGroupAddRequest) (*DnsGroupAddResponse, error)

AddDnsGroup Adds a new DNS domain group

func (*SdnsService) AddDnsRecord

func (s *SdnsService) AddDnsRecord(req DnsRecordAddRequest) (int, error)

AddDnsRecord Adds a new DNS domain record

func (*SdnsService) BindDomainsToGroup

func (s *SdnsService) BindDomainsToGroup(req DnsGroupDomainSaveRequest) error

BindDomainsToGroup Binds or unbinds domains to a group

func (*SdnsService) DeleteDnsDomain

func (s *SdnsService) DeleteDnsDomain(domainIDs []int) error

DeleteDnsDomain Deletes DNS domains

func (*SdnsService) DeleteDnsGroup

func (s *SdnsService) DeleteDnsGroup(groupID int) error

DeleteDnsGroup Deletes a DNS domain group

func (*SdnsService) DeleteDnsRecord

func (s *SdnsService) DeleteDnsRecord(recordID, domainID int) error

DeleteDnsRecord Deletes a DNS domain record

func (*SdnsService) GetDnsDomainInfo

func (s *SdnsService) GetDnsDomainInfo(domainID int) (*DnsDomainInfo, error)

GetDnsDomainInfo Gets DNS domain info by listing and filtering

func (*SdnsService) GetDnsGroupInfo

func (s *SdnsService) GetDnsGroupInfo(groupID int) (*DnsGroup, error)

GetDnsGroupInfo Gets DNS domain group info by listing and filtering

func (*SdnsService) ListDnsDomains

func (s *SdnsService) ListDnsDomains(req DnsDomainListRequest) (*DnsDomainListData, error)

ListDnsDomains Lists DNS domains

func (*SdnsService) ListDnsGroups

func (s *SdnsService) ListDnsGroups(req DnsGroupListRequest) (*DnsGroupListData, error)

ListDnsGroups Lists DNS domain groups

func (*SdnsService) ListDnsRecords

func (s *SdnsService) ListDnsRecords(req DnsRecordListRequest) (*DnsRecordListData, error)

ListDnsRecords Lists DNS domain records

func (*SdnsService) UpdateDnsGroup

func (s *SdnsService) UpdateDnsGroup(req DnsGroupSaveRequest) error

UpdateDnsGroup Updates a DNS domain group

func (*SdnsService) UpdateDnsRecord

func (s *SdnsService) UpdateDnsRecord(req DnsRecordEditRequest) error

UpdateDnsRecord Updates a DNS domain record

type Status

type Status struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

Status represents the standard API status response

type TestConfig

type TestConfig struct {
	AccessKey              string `json:"access_key"`
	SecretKey              string `json:"secret_key"`
	Endpoint               string `json:"endpoint"`
	TimeoutSeconds         int    `json:"timeout_seconds"`
	EnableIntegrationTests bool   `json:"enable_integration_tests"`
}

Test configuration for integration tests

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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