cloudflare
Version:
The official TypeScript library for the Cloudflare API
203 lines • 5.98 kB
text/typescript
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<RampsSinglePage, Ramp>;
/**
* 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<RampsSinglePage, Ramp>;
/**
* 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<Ramp>;
/**
* 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<Ramp>;
}
export declare class Ramps extends BaseRamps {
}
export type RampsSinglePage = SinglePage<Ramp>;
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<RampCreateParams.Body>;
}
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