UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

186 lines • 7.46 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from "../../core/resource.mjs"; import { buildHeaders } from "../../internal/headers.mjs"; import { path } from "../../internal/utils/path.mjs"; export var BaseGRETunnels = /* @__PURE__ */ (() => { class BaseGRETunnels extends APIResource { /** * Creates a new GRE tunnel. Use `?validate_only=true` as an optional query * parameter to only run validation without persisting changes. * * @example * ```ts * const greTunnel = * await client.magicTransit.greTunnels.create({ * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * cloudflare_gre_endpoint: '203.0.113.1', * customer_gre_endpoint: '203.0.113.1', * interface_address: '192.0.2.0/31', * name: 'GRE_1', * }); * ``` */ create(params, options) { const { account_id, 'x-magic-new-hc-target': xMagicNewHcTarget, ...body } = params; return this._client.post(path `/accounts/${account_id}/magic/gre_tunnels`, { body, ...options, headers: buildHeaders([ { ...(xMagicNewHcTarget?.toString() != null ? { 'x-magic-new-hc-target': xMagicNewHcTarget?.toString() } : undefined), }, options?.headers, ]), })._thenUnwrap((obj) => obj.result); } /** * Updates a specific GRE tunnel. Use `?validate_only=true` as an optional query * parameter to only run validation without persisting changes. * * @example * ```ts * const greTunnel = * await client.magicTransit.greTunnels.update( * '023e105f4ecef8ad9ca31a8372d0c353', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * cloudflare_gre_endpoint: '203.0.113.1', * customer_gre_endpoint: '203.0.113.1', * interface_address: '192.0.2.0/31', * name: 'GRE_1', * }, * ); * ``` */ update(greTunnelID, params, options) { const { account_id, 'x-magic-new-hc-target': xMagicNewHcTarget, ...body } = params; return this._client.put(path `/accounts/${account_id}/magic/gre_tunnels/${greTunnelID}`, { body, ...options, headers: buildHeaders([ { ...(xMagicNewHcTarget?.toString() != null ? { 'x-magic-new-hc-target': xMagicNewHcTarget?.toString() } : undefined), }, options?.headers, ]), })._thenUnwrap((obj) => obj.result); } /** * Lists GRE tunnels associated with an account. * * @example * ```ts * const greTunnels = * await client.magicTransit.greTunnels.list({ * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * }); * ``` */ list(params, options) { const { account_id, 'x-magic-new-hc-target': xMagicNewHcTarget } = params; return this._client.get(path `/accounts/${account_id}/magic/gre_tunnels`, { ...options, headers: buildHeaders([ { ...(xMagicNewHcTarget?.toString() != null ? { 'x-magic-new-hc-target': xMagicNewHcTarget?.toString() } : undefined), }, options?.headers, ]), })._thenUnwrap((obj) => obj.result); } /** * Disables and removes a specific static GRE tunnel. Use `?validate_only=true` as * an optional query parameter to only run validation without persisting changes. * * @example * ```ts * const greTunnel = * await client.magicTransit.greTunnels.delete( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ delete(greTunnelID, params, options) { const { account_id, 'x-magic-new-hc-target': xMagicNewHcTarget } = params; return this._client.delete(path `/accounts/${account_id}/magic/gre_tunnels/${greTunnelID}`, { ...options, headers: buildHeaders([ { ...(xMagicNewHcTarget?.toString() != null ? { 'x-magic-new-hc-target': xMagicNewHcTarget?.toString() } : undefined), }, options?.headers, ]), })._thenUnwrap((obj) => obj.result); } /** * Updates multiple GRE tunnels. Use `?validate_only=true` as an optional query * parameter to only run validation without persisting changes. * * @example * ```ts * const response = * await client.magicTransit.greTunnels.bulkUpdate({ * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * body: {}, * }); * ``` */ bulkUpdate(params, options) { const { account_id, body, 'x-magic-new-hc-target': xMagicNewHcTarget } = params; return this._client.put(path `/accounts/${account_id}/magic/gre_tunnels`, { body: body, ...options, headers: buildHeaders([ { ...(xMagicNewHcTarget?.toString() != null ? { 'x-magic-new-hc-target': xMagicNewHcTarget?.toString() } : undefined), }, options?.headers, ]), })._thenUnwrap((obj) => obj.result); } /** * Lists informtion for a specific GRE tunnel. * * @example * ```ts * const greTunnel = await client.magicTransit.greTunnels.get( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ get(greTunnelID, params, options) { const { account_id, 'x-magic-new-hc-target': xMagicNewHcTarget } = params; return this._client.get(path `/accounts/${account_id}/magic/gre_tunnels/${greTunnelID}`, { ...options, headers: buildHeaders([ { ...(xMagicNewHcTarget?.toString() != null ? { 'x-magic-new-hc-target': xMagicNewHcTarget?.toString() } : undefined), }, options?.headers, ]), })._thenUnwrap((obj) => obj.result); } } BaseGRETunnels._key = Object.freeze([ 'magicTransit', 'greTunnels', ]); return BaseGRETunnels; })(); export class GRETunnels extends BaseGRETunnels { } //# sourceMappingURL=gre-tunnels.mjs.map