@jesseditson/dnsimple
Version:
A Node.JS client for the DNSimple API.
120 lines (119 loc) • 4.58 kB
TypeScript
import type { DNSimple, QueryParams } from "./main";
import type * as types from "./types";
export declare class SecondaryDns {
private readonly _client;
constructor(_client: DNSimple);
/**
* List the primary servers in the account.
*
* This API is paginated. Call `listPrimaryServers.iterateAll(account, params)` to get an asynchronous iterator over individual items across all pages. You can also use `await listPrimaryServers.collectAll(account, params)` to quickly retrieve all items across all pages into an array. We suggest using `iterateAll` when possible, as `collectAll` will make all requests at once, which may increase latency and trigger rate limits.
*
* GET /{account}/secondary_dns/primaries
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#listPrimaryServers
*
* @param account The account id
* @param params Query parameters
* @param params.sort Sort results. Default sorting is ascending by id.
*/
listPrimaryServers: {
(account: number, params?: QueryParams & {
sort?: "id:asc" | "id:desc" | "name:asc" | "name:desc";
}): Promise<{
data: Array<types.PrimaryServer>;
pagination: types.Pagination;
}>;
iterateAll(account: number, params?: QueryParams & {
sort?: "id:asc" | "id:desc" | "name:asc" | "name:desc";
}): AsyncGenerator<types.PrimaryServer, any, any>;
collectAll(account: number, params?: QueryParams & {
sort?: "id:asc" | "id:desc" | "name:asc" | "name:desc";
}): Promise<types.PrimaryServer[]>;
};
/**
* Creates a primary server into the account.
*
* POST /{account}/secondary_dns/primaries
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#createPrimaryServer
*
* @param account The account id
* @param params Query parameters
*/
createPrimaryServer: (account: number, data: Partial<{
name: string;
ip: string;
port: string;
}>, params?: QueryParams & {}) => Promise<{
data: types.PrimaryServer;
}>;
/**
* Retrieves the details of an existing primary server.
*
* GET /{account}/secondary_dns/primaries/{primaryserver}
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#getPrimaryServer
*
* @param account The account id
* @param primaryserver The primary server id
* @param params Query parameters
*/
getPrimaryServer: (account: number, primaryserver: number, params?: QueryParams & {}) => Promise<{
data: types.PrimaryServer;
}>;
/**
* Permanently deletes a primary server.
*
* DELETE /{account}/secondary_dns/primaries/{primaryserver}
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#removePrimaryServer
*
* @param account The account id
* @param primaryserver The primary server id
* @param params Query parameters
*/
removePrimaryServer: (account: number, primaryserver: number, params?: QueryParams & {}) => Promise<{}>;
/**
* Link the primary server to a secondary zone.
*
* PUT /{account}/secondary_dns/primaries/{primaryserver}/link
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#linkPrimaryServer
*
* @param account The account id
* @param primaryserver The primary server id
* @param params Query parameters
*/
linkPrimaryServer: (account: number, primaryserver: number, params?: QueryParams & {}) => Promise<{
data: types.PrimaryServer;
}>;
/**
* Unlink the primary server from a secondary zone.
*
* PUT /{account}/secondary_dns/primaries/{primaryserver}/unlink
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#unlinkPrimaryServer
*
* @param account The account id
* @param primaryserver The primary server id
* @param params Query parameters
*/
unlinkPrimaryServer: (account: number, primaryserver: number, params?: QueryParams & {}) => Promise<{
data: types.PrimaryServer;
}>;
/**
* Creates a secondary zone into the account.
*
* POST /{account}/secondary_dns/zones
*
* @see https://developer.dnsimple.com/v2/secondary-dns/#createSecondaryZone
*
* @param account The account id
* @param params Query parameters
*/
createSecondaryZone: (account: number, data: Partial<{
name: string;
}>, params?: QueryParams & {}) => Promise<{
data: types.Zone;
}>;
}