UNPKG

@jesseditson/dnsimple

Version:

A Node.JS client for the DNSimple API.

120 lines (119 loc) 4.58 kB
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; }>; }