UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

162 lines (141 loc) 4.29 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import * as Core from "../../core"; import { APIResource } from "../../resource"; import * as ACLsAPI from "./acls"; import { SinglePage } from "../../pagination"; export class ACLs extends APIResource { /** * Create ACL. */ create(params: ACLCreateParams, options?: Core.RequestOptions): Core.APIPromise<SecondaryDNSACL> { const { account_id, body } = params; return ( this._client.post(`/accounts/${account_id}/secondary_dns/acls`, { body: body, ...options, }) as Core.APIPromise<{ result: SecondaryDNSACL }> )._thenUnwrap((obj) => obj.result); } /** * Modify ACL. */ update( aclId: string, params: ACLUpdateParams, options?: Core.RequestOptions, ): Core.APIPromise<SecondaryDNSACL> { const { account_id, ...body } = params; return ( this._client.put(`/accounts/${account_id}/secondary_dns/acls/${aclId}`, { body, ...options, }) as Core.APIPromise<{ result: SecondaryDNSACL }> )._thenUnwrap((obj) => obj.result); } /** * List ACLs. */ list( params: ACLListParams, options?: Core.RequestOptions, ): Core.PagePromise<SecondaryDnsaclsSinglePage, SecondaryDNSACL> { const { account_id } = params; return this._client.getAPIList( `/accounts/${account_id}/secondary_dns/acls`, SecondaryDnsaclsSinglePage, options, ); } /** * Delete ACL. */ delete( aclId: string, params: ACLDeleteParams, options?: Core.RequestOptions, ): Core.APIPromise<ACLDeleteResponse> { const { account_id } = params; return ( this._client.delete(`/accounts/${account_id}/secondary_dns/acls/${aclId}`, options) as Core.APIPromise<{ result: ACLDeleteResponse; }> )._thenUnwrap((obj) => obj.result); } /** * Get ACL. */ get(aclId: string, params: ACLGetParams, options?: Core.RequestOptions): Core.APIPromise<SecondaryDNSACL> { const { account_id } = params; return ( this._client.get(`/accounts/${account_id}/secondary_dns/acls/${aclId}`, options) as Core.APIPromise<{ result: SecondaryDNSACL; }> )._thenUnwrap((obj) => obj.result); } } export class SecondaryDnsaclsSinglePage extends SinglePage<SecondaryDNSACL> {} export interface SecondaryDNSACL { id: string; /** * Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will * be applied for the entire account. The IP range is used to allow additional * NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from * for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for * IPv6 respectively. */ ip_range: string; /** * The name of the acl. */ name: string; } export interface ACLDeleteResponse { id?: string; } export interface ACLCreateParams { /** * Path param: */ account_id: string; /** * Body param: */ body: unknown; } export interface ACLUpdateParams { /** * Path param: */ account_id: string; /** * Body param: Allowed IPv4/IPv6 address range of primary or secondary nameservers. * This will be applied for the entire account. The IP range is used to allow * additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR * requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 * and /64 for IPv6 respectively. */ ip_range: string; /** * Body param: The name of the acl. */ name: string; } export interface ACLListParams { account_id: string; } export interface ACLDeleteParams { account_id: string; } export interface ACLGetParams { account_id: string; } export namespace ACLs { export import SecondaryDNSACL = ACLsAPI.SecondaryDNSACL; export import ACLDeleteResponse = ACLsAPI.ACLDeleteResponse; export import SecondaryDnsaclsSinglePage = ACLsAPI.SecondaryDnsaclsSinglePage; export import ACLCreateParams = ACLsAPI.ACLCreateParams; export import ACLUpdateParams = ACLsAPI.ACLUpdateParams; export import ACLListParams = ACLsAPI.ACLListParams; export import ACLDeleteParams = ACLsAPI.ACLDeleteParams; export import ACLGetParams = ACLsAPI.ACLGetParams; }