// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import { APIPromise } from '../../core/api-promise'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; export class BaseReverseDNS extends APIResource { static override readonly _key: readonly ['dnsFirewall', 'reverseDNS'] = Object.freeze([ 'dnsFirewall', 'reverseDNS', ] as const); /** * Update reverse DNS configuration (PTR records) for a DNS Firewall cluster * * @example * ```ts * const response = await client.dnsFirewall.reverseDNS.edit( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ edit( dnsFirewallID: string, params: ReverseDNSEditParams, options?: RequestOptions, ): APIPromise { const { account_id, ...body } = params; return ( this._client.patch(path`/accounts/${account_id}/dns_firewall/${dnsFirewallID}/reverse_dns`, { body, ...options, }) as APIPromise<{ result: ReverseDNSEditResponse }> )._thenUnwrap((obj) => obj.result); } /** * Show reverse DNS configuration (PTR records) for a DNS Firewall cluster * * @example * ```ts * const reverseDNS = await client.dnsFirewall.reverseDNS.get( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ get( dnsFirewallID: string, params: ReverseDNSGetParams, options?: RequestOptions, ): APIPromise { const { account_id } = params; return ( this._client.get( path`/accounts/${account_id}/dns_firewall/${dnsFirewallID}/reverse_dns`, options, ) as APIPromise<{ result: ReverseDNSGetResponse }> )._thenUnwrap((obj) => obj.result); } } export class ReverseDNS extends BaseReverseDNS {} export interface ReverseDNSEditResponse { /** * Map of cluster IP addresses to PTR record contents */ ptr: { [key: string]: string }; } export interface ReverseDNSGetResponse { /** * Map of cluster IP addresses to PTR record contents */ ptr: { [key: string]: string }; } export interface ReverseDNSEditParams { /** * Path param: Identifier. */ account_id: string; /** * Body param: Map of cluster IP addresses to PTR record contents */ ptr?: { [key: string]: string }; } export interface ReverseDNSGetParams { /** * Identifier. */ account_id: string; } export declare namespace ReverseDNS { export { type ReverseDNSEditResponse as ReverseDNSEditResponse, type ReverseDNSGetResponse as ReverseDNSGetResponse, type ReverseDNSEditParams as ReverseDNSEditParams, type ReverseDNSGetParams as ReverseDNSGetParams, }; }