UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

187 lines (160 loc) 5.01 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 ProxyEndpointsAPI from "./proxy-endpoints"; import { SinglePage } from "../../../pagination"; export class ProxyEndpoints extends APIResource { /** * Creates a new Zero Trust Gateway proxy endpoint. */ create(params: ProxyEndpointCreateParams, options?: Core.RequestOptions): Core.APIPromise<ProxyEndpoint> { const { account_id, ...body } = params; return ( this._client.post(`/accounts/${account_id}/gateway/proxy_endpoints`, { body, ...options, }) as Core.APIPromise<{ result: ProxyEndpoint }> )._thenUnwrap((obj) => obj.result); } /** * Fetches a single Zero Trust Gateway proxy endpoint. */ list( params: ProxyEndpointListParams, options?: Core.RequestOptions, ): Core.PagePromise<ProxyEndpointsSinglePage, ProxyEndpoint> { const { account_id } = params; return this._client.getAPIList( `/accounts/${account_id}/gateway/proxy_endpoints`, ProxyEndpointsSinglePage, options, ); } /** * Deletes a configured Zero Trust Gateway proxy endpoint. */ delete( proxyEndpointId: string, params: ProxyEndpointDeleteParams, options?: Core.RequestOptions, ): Core.APIPromise<ProxyEndpointDeleteResponse> { const { account_id, body } = params; return ( this._client.delete(`/accounts/${account_id}/gateway/proxy_endpoints/${proxyEndpointId}`, { body: body, ...options, }) as Core.APIPromise<{ result: ProxyEndpointDeleteResponse }> )._thenUnwrap((obj) => obj.result); } /** * Updates a configured Zero Trust Gateway proxy endpoint. */ edit( proxyEndpointId: string, params: ProxyEndpointEditParams, options?: Core.RequestOptions, ): Core.APIPromise<ProxyEndpoint> { const { account_id, ...body } = params; return ( this._client.patch(`/accounts/${account_id}/gateway/proxy_endpoints/${proxyEndpointId}`, { body, ...options, }) as Core.APIPromise<{ result: ProxyEndpoint }> )._thenUnwrap((obj) => obj.result); } /** * Fetches all Zero Trust Gateway proxy endpoints for an account. */ get( proxyEndpointId: string, params: ProxyEndpointGetParams, options?: Core.RequestOptions, ): Core.APIPromise<ProxyEndpoint> { const { account_id } = params; return ( this._client.get( `/accounts/${account_id}/gateway/proxy_endpoints/${proxyEndpointId}`, options, ) as Core.APIPromise<{ result: ProxyEndpoint }> )._thenUnwrap((obj) => obj.result); } } export class ProxyEndpointsSinglePage extends SinglePage<ProxyEndpoint> {} /** * The IPv4 CIDR or IPv6 CIDR. IPv6 CIDRs are limited to a maximum of /109. IPv4 * CIDRs are limited to a maximum of /25. */ export type GatewayIPs = string; export interface ProxyEndpoint { id?: string; created_at?: string; /** * A list of CIDRs to restrict ingress connections. */ ips?: Array<GatewayIPs>; /** * The name of the proxy endpoint. */ name?: string; /** * The subdomain to be used as the destination in the proxy client. */ subdomain?: string; updated_at?: string; } export type ProxyEndpointDeleteResponse = unknown | string | null; export interface ProxyEndpointCreateParams { /** * Path param: */ account_id: string; /** * Body param: A list of CIDRs to restrict ingress connections. */ ips: Array<GatewayIPs>; /** * Body param: The name of the proxy endpoint. */ name: string; } export interface ProxyEndpointListParams { account_id: string; } export interface ProxyEndpointDeleteParams { /** * Path param: */ account_id: string; /** * Body param: */ body: unknown; } export interface ProxyEndpointEditParams { /** * Path param: */ account_id: string; /** * Body param: A list of CIDRs to restrict ingress connections. */ ips?: Array<GatewayIPs>; /** * Body param: The name of the proxy endpoint. */ name?: string; } export interface ProxyEndpointGetParams { account_id: string; } export namespace ProxyEndpoints { export import GatewayIPs = ProxyEndpointsAPI.GatewayIPs; export import ProxyEndpoint = ProxyEndpointsAPI.ProxyEndpoint; export import ProxyEndpointDeleteResponse = ProxyEndpointsAPI.ProxyEndpointDeleteResponse; export import ProxyEndpointsSinglePage = ProxyEndpointsAPI.ProxyEndpointsSinglePage; export import ProxyEndpointCreateParams = ProxyEndpointsAPI.ProxyEndpointCreateParams; export import ProxyEndpointListParams = ProxyEndpointsAPI.ProxyEndpointListParams; export import ProxyEndpointDeleteParams = ProxyEndpointsAPI.ProxyEndpointDeleteParams; export import ProxyEndpointEditParams = ProxyEndpointsAPI.ProxyEndpointEditParams; export import ProxyEndpointGetParams = ProxyEndpointsAPI.ProxyEndpointGetParams; }