cloudflare
Version:
The official TypeScript library for the Cloudflare API
595 lines • 21.5 kB
TypeScript
import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as TunnelsAPI from 'cloudflare/resources/zero-trust/tunnels/tunnels';
import * as ConfigurationsAPI from 'cloudflare/resources/zero-trust/tunnels/configurations';
import * as ConnectionsAPI from 'cloudflare/resources/zero-trust/tunnels/connections';
import * as ConnectorsAPI from 'cloudflare/resources/zero-trust/tunnels/connectors';
import * as ManagementAPI from 'cloudflare/resources/zero-trust/tunnels/management';
import * as TokenAPI from 'cloudflare/resources/zero-trust/tunnels/token';
import { V4PagePaginationArray, type V4PagePaginationArrayParams } from 'cloudflare/pagination';
export declare class Tunnels extends APIResource {
configurations: ConfigurationsAPI.Configurations;
connections: ConnectionsAPI.Connections;
token: TokenAPI.Token;
connectors: ConnectorsAPI.Connectors;
management: ManagementAPI.Management;
/**
* Creates a new Argo Tunnel in an account.
*/
create(params: TunnelCreateParams, options?: Core.RequestOptions): Core.APIPromise<TunnelArgoTunnel>;
/**
* Lists and filters all types of Tunnels in an account.
*/
list(params: TunnelListParams, options?: Core.RequestOptions): Core.PagePromise<TunnelListResponsesV4PagePaginationArray, TunnelListResponse>;
/**
* Deletes an Argo Tunnel from an account.
*/
delete(tunnelId: string, params: TunnelDeleteParams, options?: Core.RequestOptions): Core.APIPromise<TunnelArgoTunnel>;
/**
* Updates an existing Cloudflare Tunnel.
*/
edit(tunnelId: string, params: TunnelEditParams, options?: Core.RequestOptions): Core.APIPromise<TunnelEditResponse>;
/**
* Fetches a single Argo Tunnel.
*/
get(tunnelId: string, params: TunnelGetParams, options?: Core.RequestOptions): Core.APIPromise<TunnelArgoTunnel>;
}
export declare class TunnelListResponsesV4PagePaginationArray extends V4PagePaginationArray<TunnelListResponse> {
}
export interface TunnelArgoTunnel {
/**
* UUID of the tunnel.
*/
id: string;
/**
* The tunnel connections between your origin and Cloudflare's edge.
*/
connections: Array<TunnelArgoTunnel.Connection>;
/**
* Timestamp of when the tunnel was created.
*/
created_at: string;
/**
* A user-friendly name for the tunnel.
*/
name: string;
/**
* Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been
* deleted.
*/
deleted_at?: string | null;
}
export declare namespace TunnelArgoTunnel {
interface Connection {
/**
* The Cloudflare data center used for this connection.
*/
colo_name?: string;
/**
* Cloudflare continues to track connections for several minutes after they
* disconnect. This is an optimization to improve latency and reliability of
* reconnecting. If `true`, the connection has disconnected but is still being
* tracked. If `false`, the connection is actively serving traffic.
*/
is_pending_reconnect?: boolean;
/**
* UUID of the Cloudflare Tunnel connection.
*/
uuid?: string;
}
}
/**
* A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
*/
export type TunnelListResponse = TunnelListResponse.TunnelCfdTunnel | TunnelListResponse.TunnelWARPConnectorTunnel;
export declare namespace TunnelListResponse {
/**
* A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
*/
interface TunnelCfdTunnel {
/**
* UUID of the tunnel.
*/
id?: string;
/**
* Cloudflare account ID
*/
account_tag?: string;
/**
* The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
*/
connections?: Array<TunnelCfdTunnel.Connection>;
/**
* Timestamp of when the tunnel established at least one connection to Cloudflare's
* edge. If `null`, the tunnel is inactive.
*/
conns_active_at?: string | null;
/**
* Timestamp of when the tunnel became inactive (no connections to Cloudflare's
* edge). If `null`, the tunnel is active.
*/
conns_inactive_at?: string | null;
/**
* Timestamp of when the tunnel was created.
*/
created_at?: string;
/**
* Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been
* deleted.
*/
deleted_at?: string | null;
/**
* Metadata associated with the tunnel.
*/
metadata?: unknown;
/**
* A user-friendly name for the tunnel.
*/
name?: string;
/**
* If `true`, the tunnel can be configured remotely from the Zero Trust dashboard.
* If `false`, the tunnel must be configured locally on the origin machine.
*/
remote_config?: boolean;
/**
* The status of the tunnel. Valid values are `inactive` (tunnel has never been
* run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
* state), `healthy` (tunnel is active and able to serve traffic), or `down`
* (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
*/
status?: string;
/**
* The type of tunnel.
*/
tun_type?: 'cfd_tunnel' | 'warp_connector' | 'ip_sec' | 'gre' | 'cni';
}
namespace TunnelCfdTunnel {
interface Connection {
/**
* UUID of the Cloudflare Tunnel connection.
*/
id?: string;
/**
* UUID of the cloudflared instance.
*/
client_id?: unknown;
/**
* The cloudflared version used to establish this connection.
*/
client_version?: string;
/**
* The Cloudflare data center used for this connection.
*/
colo_name?: string;
/**
* Cloudflare continues to track connections for several minutes after they
* disconnect. This is an optimization to improve latency and reliability of
* reconnecting. If `true`, the connection has disconnected but is still being
* tracked. If `false`, the connection is actively serving traffic.
*/
is_pending_reconnect?: boolean;
/**
* Timestamp of when the connection was established.
*/
opened_at?: string;
/**
* The public IP address of the host running cloudflared.
*/
origin_ip?: string;
/**
* UUID of the Cloudflare Tunnel connection.
*/
uuid?: string;
}
}
/**
* A Warp Connector Tunnel that connects your origin to Cloudflare's edge.
*/
interface TunnelWARPConnectorTunnel {
/**
* UUID of the tunnel.
*/
id?: string;
/**
* Cloudflare account ID
*/
account_tag?: string;
/**
* The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
*/
connections?: Array<TunnelWARPConnectorTunnel.Connection>;
/**
* Timestamp of when the tunnel established at least one connection to Cloudflare's
* edge. If `null`, the tunnel is inactive.
*/
conns_active_at?: string | null;
/**
* Timestamp of when the tunnel became inactive (no connections to Cloudflare's
* edge). If `null`, the tunnel is active.
*/
conns_inactive_at?: string | null;
/**
* Timestamp of when the tunnel was created.
*/
created_at?: string;
/**
* Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been
* deleted.
*/
deleted_at?: string | null;
/**
* Metadata associated with the tunnel.
*/
metadata?: unknown;
/**
* A user-friendly name for the tunnel.
*/
name?: string;
/**
* The status of the tunnel. Valid values are `inactive` (tunnel has never been
* run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
* state), `healthy` (tunnel is active and able to serve traffic), or `down`
* (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
*/
status?: string;
/**
* The type of tunnel.
*/
tun_type?: 'cfd_tunnel' | 'warp_connector' | 'ip_sec' | 'gre' | 'cni';
}
namespace TunnelWARPConnectorTunnel {
interface Connection {
/**
* UUID of the Cloudflare Tunnel connection.
*/
id?: string;
/**
* UUID of the cloudflared instance.
*/
client_id?: unknown;
/**
* The cloudflared version used to establish this connection.
*/
client_version?: string;
/**
* The Cloudflare data center used for this connection.
*/
colo_name?: string;
/**
* Cloudflare continues to track connections for several minutes after they
* disconnect. This is an optimization to improve latency and reliability of
* reconnecting. If `true`, the connection has disconnected but is still being
* tracked. If `false`, the connection is actively serving traffic.
*/
is_pending_reconnect?: boolean;
/**
* Timestamp of when the connection was established.
*/
opened_at?: string;
/**
* The public IP address of the host running cloudflared.
*/
origin_ip?: string;
/**
* UUID of the Cloudflare Tunnel connection.
*/
uuid?: string;
}
}
}
/**
* A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
*/
export type TunnelEditResponse = TunnelEditResponse.TunnelCfdTunnel | TunnelEditResponse.TunnelWARPConnectorTunnel;
export declare namespace TunnelEditResponse {
/**
* A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
*/
interface TunnelCfdTunnel {
/**
* UUID of the tunnel.
*/
id?: string;
/**
* Cloudflare account ID
*/
account_tag?: string;
/**
* The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
*/
connections?: Array<TunnelCfdTunnel.Connection>;
/**
* Timestamp of when the tunnel established at least one connection to Cloudflare's
* edge. If `null`, the tunnel is inactive.
*/
conns_active_at?: string | null;
/**
* Timestamp of when the tunnel became inactive (no connections to Cloudflare's
* edge). If `null`, the tunnel is active.
*/
conns_inactive_at?: string | null;
/**
* Timestamp of when the tunnel was created.
*/
created_at?: string;
/**
* Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been
* deleted.
*/
deleted_at?: string | null;
/**
* Metadata associated with the tunnel.
*/
metadata?: unknown;
/**
* A user-friendly name for the tunnel.
*/
name?: string;
/**
* If `true`, the tunnel can be configured remotely from the Zero Trust dashboard.
* If `false`, the tunnel must be configured locally on the origin machine.
*/
remote_config?: boolean;
/**
* The status of the tunnel. Valid values are `inactive` (tunnel has never been
* run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
* state), `healthy` (tunnel is active and able to serve traffic), or `down`
* (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
*/
status?: string;
/**
* The type of tunnel.
*/
tun_type?: 'cfd_tunnel' | 'warp_connector' | 'ip_sec' | 'gre' | 'cni';
}
namespace TunnelCfdTunnel {
interface Connection {
/**
* UUID of the Cloudflare Tunnel connection.
*/
id?: string;
/**
* UUID of the cloudflared instance.
*/
client_id?: unknown;
/**
* The cloudflared version used to establish this connection.
*/
client_version?: string;
/**
* The Cloudflare data center used for this connection.
*/
colo_name?: string;
/**
* Cloudflare continues to track connections for several minutes after they
* disconnect. This is an optimization to improve latency and reliability of
* reconnecting. If `true`, the connection has disconnected but is still being
* tracked. If `false`, the connection is actively serving traffic.
*/
is_pending_reconnect?: boolean;
/**
* Timestamp of when the connection was established.
*/
opened_at?: string;
/**
* The public IP address of the host running cloudflared.
*/
origin_ip?: string;
/**
* UUID of the Cloudflare Tunnel connection.
*/
uuid?: string;
}
}
/**
* A Warp Connector Tunnel that connects your origin to Cloudflare's edge.
*/
interface TunnelWARPConnectorTunnel {
/**
* UUID of the tunnel.
*/
id?: string;
/**
* Cloudflare account ID
*/
account_tag?: string;
/**
* The Cloudflare Tunnel connections between your origin and Cloudflare's edge.
*/
connections?: Array<TunnelWARPConnectorTunnel.Connection>;
/**
* Timestamp of when the tunnel established at least one connection to Cloudflare's
* edge. If `null`, the tunnel is inactive.
*/
conns_active_at?: string | null;
/**
* Timestamp of when the tunnel became inactive (no connections to Cloudflare's
* edge). If `null`, the tunnel is active.
*/
conns_inactive_at?: string | null;
/**
* Timestamp of when the tunnel was created.
*/
created_at?: string;
/**
* Timestamp of when the tunnel was deleted. If `null`, the tunnel has not been
* deleted.
*/
deleted_at?: string | null;
/**
* Metadata associated with the tunnel.
*/
metadata?: unknown;
/**
* A user-friendly name for the tunnel.
*/
name?: string;
/**
* The status of the tunnel. Valid values are `inactive` (tunnel has never been
* run), `degraded` (tunnel is active and able to serve traffic but in an unhealthy
* state), `healthy` (tunnel is active and able to serve traffic), or `down`
* (tunnel can not serve traffic as it has no connections to the Cloudflare Edge).
*/
status?: string;
/**
* The type of tunnel.
*/
tun_type?: 'cfd_tunnel' | 'warp_connector' | 'ip_sec' | 'gre' | 'cni';
}
namespace TunnelWARPConnectorTunnel {
interface Connection {
/**
* UUID of the Cloudflare Tunnel connection.
*/
id?: string;
/**
* UUID of the cloudflared instance.
*/
client_id?: unknown;
/**
* The cloudflared version used to establish this connection.
*/
client_version?: string;
/**
* The Cloudflare data center used for this connection.
*/
colo_name?: string;
/**
* Cloudflare continues to track connections for several minutes after they
* disconnect. This is an optimization to improve latency and reliability of
* reconnecting. If `true`, the connection has disconnected but is still being
* tracked. If `false`, the connection is actively serving traffic.
*/
is_pending_reconnect?: boolean;
/**
* Timestamp of when the connection was established.
*/
opened_at?: string;
/**
* The public IP address of the host running cloudflared.
*/
origin_ip?: string;
/**
* UUID of the Cloudflare Tunnel connection.
*/
uuid?: string;
}
}
}
export interface TunnelCreateParams {
/**
* Path param: Cloudflare account ID
*/
account_id: string;
/**
* Body param: A user-friendly name for the tunnel.
*/
name: string;
/**
* Body param: Sets the password required to run the tunnel. Must be at least 32
* bytes and encoded as a base64 string.
*/
tunnel_secret: unknown;
}
export interface TunnelListParams extends V4PagePaginationArrayParams {
/**
* Path param: Cloudflare account ID
*/
account_id: string;
/**
* Query param:
*/
exclude_prefix?: string;
/**
* Query param: If provided, include only tunnels that were created (and not
* deleted) before this time.
*/
existed_at?: string;
/**
* Query param:
*/
include_prefix?: string;
/**
* Query param: If `true`, only include deleted tunnels. If `false`, exclude
* deleted tunnels. If empty, all tunnels will be included.
*/
is_deleted?: boolean;
/**
* Query param: A user-friendly name for the tunnel.
*/
name?: string;
/**
* Query param: The types of tunnels to filter separated by a comma.
*/
tun_types?: string;
/**
* Query param:
*/
was_active_at?: string;
/**
* Query param:
*/
was_inactive_at?: string;
}
export interface TunnelDeleteParams {
/**
* Path param: Cloudflare account ID
*/
account_id: string;
/**
* Body param:
*/
body: unknown;
}
export interface TunnelEditParams {
/**
* Path param: Cloudflare account ID
*/
account_id: string;
/**
* Body param: A user-friendly name for the tunnel.
*/
name?: string;
/**
* Body param: Sets the password required to run a locally-managed tunnel. Must be
* at least 32 bytes and encoded as a base64 string.
*/
tunnel_secret?: string;
}
export interface TunnelGetParams {
/**
* Cloudflare account ID
*/
account_id: string;
}
export declare namespace Tunnels {
export import TunnelArgoTunnel = TunnelsAPI.TunnelArgoTunnel;
export import TunnelListResponse = TunnelsAPI.TunnelListResponse;
export import TunnelEditResponse = TunnelsAPI.TunnelEditResponse;
export import TunnelListResponsesV4PagePaginationArray = TunnelsAPI.TunnelListResponsesV4PagePaginationArray;
export import TunnelCreateParams = TunnelsAPI.TunnelCreateParams;
export import TunnelListParams = TunnelsAPI.TunnelListParams;
export import TunnelDeleteParams = TunnelsAPI.TunnelDeleteParams;
export import TunnelEditParams = TunnelsAPI.TunnelEditParams;
export import TunnelGetParams = TunnelsAPI.TunnelGetParams;
export import Configurations = ConfigurationsAPI.Configurations;
export import ConfigurationUpdateResponse = ConfigurationsAPI.ConfigurationUpdateResponse;
export import ConfigurationGetResponse = ConfigurationsAPI.ConfigurationGetResponse;
export import ConfigurationUpdateParams = ConfigurationsAPI.ConfigurationUpdateParams;
export import ConfigurationGetParams = ConfigurationsAPI.ConfigurationGetParams;
export import Connections = ConnectionsAPI.Connections;
export import TunnelTunnelClient = ConnectionsAPI.TunnelTunnelClient;
export import ConnectionDeleteResponse = ConnectionsAPI.ConnectionDeleteResponse;
export import ConnectionGetResponse = ConnectionsAPI.ConnectionGetResponse;
export import ConnectionDeleteParams = ConnectionsAPI.ConnectionDeleteParams;
export import ConnectionGetParams = ConnectionsAPI.ConnectionGetParams;
export import Token = TokenAPI.Token;
export import TokenGetResponse = TokenAPI.TokenGetResponse;
export import TokenGetParams = TokenAPI.TokenGetParams;
export import Connectors = ConnectorsAPI.Connectors;
export import ConnectorGetParams = ConnectorsAPI.ConnectorGetParams;
export import Management = ManagementAPI.Management;
export import ManagementCreateResponse = ManagementAPI.ManagementCreateResponse;
export import ManagementCreateParams = ManagementAPI.ManagementCreateParams;
}
//# sourceMappingURL=tunnels.d.ts.map