import { APIResource } from "../../../core/resource.mjs"; import * as RampsAPI from "./ramps.mjs"; import { APIPromise } from "../../../core/api-promise.mjs"; import { PagePromise, SinglePage } from "../../../core/pagination.mjs"; import { RequestOptions } from "../../../internal/request-options.mjs"; export declare class BaseRamps extends APIResource { static readonly _key: readonly ['magicTransit', 'cf1Sites', 'ramps']; /** * Creates ramps (network connections) for a CF1 Site. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const ramp of client.magicTransit.cf1Sites.ramps.create( * '023e105f4ecef8ad9ca31a8372d0c353', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * body: [ * { * source_ramp_id: '023e105f4ecef8ad9ca31a8372d0c353', * type: 'gre', * }, * ], * }, * )) { * // ... * } * ``` */ create(cf1SiteID: string, params: RampCreateParams, options?: RequestOptions): PagePromise; /** * Lists ramps (network connections) associated with a CF1 Site. Ramps represent * GRE tunnels, IPsec tunnels, interconnects, or MCONN links. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const ramp of client.magicTransit.cf1Sites.ramps.list( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * )) { * // ... * } * ``` */ list(cf1SiteID: string, params: RampListParams, options?: RequestOptions): PagePromise; /** * Deletes a specific ramp from a CF1 Site. * * @example * ```ts * const ramp = * await client.magicTransit.cf1Sites.ramps.delete( * '023e105f4ecef8ad9ca31a8372d0c353', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * cf1_site_id: '023e105f4ecef8ad9ca31a8372d0c353', * }, * ); * ``` */ delete(rampID: string, params: RampDeleteParams, options?: RequestOptions): APIPromise; /** * Gets a specific ramp for a CF1 Site. * * @example * ```ts * const ramp = await client.magicTransit.cf1Sites.ramps.get( * '023e105f4ecef8ad9ca31a8372d0c353', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * cf1_site_id: '023e105f4ecef8ad9ca31a8372d0c353', * }, * ); * ``` */ get(rampID: string, params: RampGetParams, options?: RequestOptions): APIPromise; } export declare class Ramps extends BaseRamps { } export type RampsSinglePage = SinglePage; export interface Ramp { /** * Identifier */ id: string; created_on: string; modified_on: string; /** * A human-provided name describing the ramp that should be unique within the CF1 * Site. */ name: string; /** * The type of network connection (ramp) linking a CF1 Site to Cloudflare's * network. */ type: RampType; /** * A human-provided description of the ramp. */ description?: string; gre?: Ramp.GRE; gre_interconnect?: Ramp.GREInterconnect; ipsec?: Ramp.IPSEC; mconn?: Ramp.Mconn; mpls_interconnect?: Ramp.MplsInterconnect; } export declare namespace Ramp { interface GRE { /** * URL reference to the source network resource that this ramp is managed by. */ managed_by?: string; } interface GREInterconnect { /** * URL reference to the source network resource that this ramp is managed by. */ managed_by?: string; } interface IPSEC { /** * URL reference to the source network resource that this ramp is managed by. */ managed_by?: string; } interface Mconn { /** * URL reference to the source network resource that this ramp is managed by. */ managed_by?: string; } interface MplsInterconnect { /** * URL reference to the source network resource that this ramp is managed by. */ managed_by?: string; } } /** * The type of network connection (ramp) linking a CF1 Site to Cloudflare's * network. */ export type RampType = 'gre' | 'gre_interconnect' | 'mpls_interconnect' | 'mconn' | 'ipsec'; /** * The type of network connection (ramp) linking a CF1 Site to Cloudflare's * network. */ export type RampTypeParam = 'gre' | 'gre_interconnect' | 'mpls_interconnect' | 'mconn' | 'ipsec'; export interface RampCreateParams { /** * Path param: Identifier */ account_id: string; /** * Body param */ body: Array; } export declare namespace RampCreateParams { interface Body { /** * Identifier of the source network resource to associate as a ramp. */ source_ramp_id: string; /** * The type of network connection (ramp) linking a CF1 Site to Cloudflare's * network. */ type: RampsAPI.RampTypeParam; } } export interface RampListParams { /** * Identifier */ account_id: string; } export interface RampDeleteParams { /** * Identifier */ account_id: string; /** * Identifier */ cf1_site_id: string; } export interface RampGetParams { /** * Identifier */ account_id: string; /** * Identifier */ cf1_site_id: string; } export declare namespace Ramps { export { type Ramp as Ramp, type RampType as RampType, type RampsSinglePage as RampsSinglePage, type RampCreateParams as RampCreateParams, type RampListParams as RampListParams, type RampDeleteParams as RampDeleteParams, type RampGetParams as RampGetParams, }; } //# sourceMappingURL=ramps.d.mts.map