import { APIResource } from "../../../../core/resource.js"; import { APIPromise } from "../../../../core/api-promise.js"; import { RequestOptions } from "../../../../internal/request-options.js"; export declare class BaseConfigurations extends APIResource { static readonly _key: readonly ['zeroTrust', 'tunnels', 'warpConnector', 'configurations']; /** * Adds or updates the high-availability configuration for a WARP Connector tunnel. * * @example * ```ts * const configuration = * await client.zeroTrust.tunnels.warpConnector.configurations.update( * 'f70ff985-a4ef-4643-bbbc-4a0ed4fc8415', * { * account_id: '023e105f4ecef8ad9ca31a8372d0c353', * ha_mode: 'aws', * }, * ); * ``` */ update(tunnelID: string, params: ConfigurationUpdateParams, options?: RequestOptions): APIPromise; /** * Gets the high-availability configuration for a WARP Connector tunnel. * * @example * ```ts * const configuration = * await client.zeroTrust.tunnels.warpConnector.configurations.get( * 'f70ff985-a4ef-4643-bbbc-4a0ed4fc8415', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ get(tunnelID: string, params: ConfigurationGetParams, options?: RequestOptions): APIPromise; } export declare class Configurations extends BaseConfigurations { } export interface ConfigurationUpdateResponse { /** * Monotonically increasing configuration version, incremented on each PUT. */ configuration_version: number; /** * Timestamp of when the resource was created. */ created_at: string; /** * High-availability mode for the WARP Connector tunnel. `none` means HA is enabled * but no provider is configured yet (newly created tunnels default to this). * `disabled` means HA is explicitly turned off. `aws` uses AWS ENI move for * failover. `local` uses virtual IPs (VIPs) on the local interface. */ ha_mode: 'none' | 'disabled' | 'aws' | 'local'; /** * UUID of the tunnel. */ tunnel_id: string; /** * Provider-specific configuration. Present for `aws` and `local` modes. */ config?: ConfigurationUpdateResponse.TunnelMeshAwsConfig | ConfigurationUpdateResponse.TunnelMeshLocalConfig | null; /** * Timestamp of the last update. Null if never updated. */ updated_at?: string | null; } export declare namespace ConfigurationUpdateResponse { interface TunnelMeshAwsConfig { /** * Floating Network Resource ID — the secondary ENI that is moved between nodes on * failover. */ fnr_id: string; } interface TunnelMeshLocalConfig { /** * VIPs to assign on the CloudflareWARP interface. */ vips: Array; /** * VIPs to clean up on demotion or version drift. */ vips_previous?: Array; } namespace TunnelMeshLocalConfig { interface Vip { /** * Virtual IP address (IPv4 or IPv6). */ address: string; } interface VipsPrevious { /** * Virtual IP address (IPv4 or IPv6). */ address: string; } } } export interface ConfigurationGetResponse { /** * Monotonically increasing configuration version, incremented on each PUT. */ configuration_version: number; /** * Timestamp of when the resource was created. */ created_at: string; /** * High-availability mode for the WARP Connector tunnel. `none` means HA is enabled * but no provider is configured yet (newly created tunnels default to this). * `disabled` means HA is explicitly turned off. `aws` uses AWS ENI move for * failover. `local` uses virtual IPs (VIPs) on the local interface. */ ha_mode: 'none' | 'disabled' | 'aws' | 'local'; /** * UUID of the tunnel. */ tunnel_id: string; /** * Provider-specific configuration. Present for `aws` and `local` modes. */ config?: ConfigurationGetResponse.TunnelMeshAwsConfig | ConfigurationGetResponse.TunnelMeshLocalConfig | null; /** * Timestamp of the last update. Null if never updated. */ updated_at?: string | null; } export declare namespace ConfigurationGetResponse { interface TunnelMeshAwsConfig { /** * Floating Network Resource ID — the secondary ENI that is moved between nodes on * failover. */ fnr_id: string; } interface TunnelMeshLocalConfig { /** * VIPs to assign on the CloudflareWARP interface. */ vips: Array; /** * VIPs to clean up on demotion or version drift. */ vips_previous?: Array; } namespace TunnelMeshLocalConfig { interface Vip { /** * Virtual IP address (IPv4 or IPv6). */ address: string; } interface VipsPrevious { /** * Virtual IP address (IPv4 or IPv6). */ address: string; } } } export interface ConfigurationUpdateParams { /** * Path param: Identifier. */ account_id: string; /** * Body param: High-availability mode for the WARP Connector tunnel. `none` means * HA is enabled but no provider is configured yet (newly created tunnels default * to this). `disabled` means HA is explicitly turned off. `aws` uses AWS ENI move * for failover. `local` uses virtual IPs (VIPs) on the local interface. */ ha_mode: 'none' | 'disabled' | 'aws' | 'local'; /** * Body param: Provider-specific configuration. Required shape depends on ha_mode. * For `aws`, must contain `fnr_id`. For `local`, must contain `vips`. For `none` * and `disabled`, must be empty or omitted. */ config?: ConfigurationUpdateParams.TunnelMeshAwsConfig | ConfigurationUpdateParams.TunnelMeshLocalConfig | unknown | null; } export declare namespace ConfigurationUpdateParams { interface TunnelMeshAwsConfig { /** * Floating Network Resource ID — the secondary ENI that is moved between nodes on * failover. */ fnr_id: string; } interface TunnelMeshLocalConfig { /** * VIPs to assign on the CloudflareWARP interface. */ vips: Array; /** * VIPs to clean up on demotion or version drift. */ vips_previous?: Array; } namespace TunnelMeshLocalConfig { interface Vip { /** * Virtual IP address (IPv4 or IPv6). */ address: string; } interface VipsPrevious { /** * Virtual IP address (IPv4 or IPv6). */ address: string; } } } export interface ConfigurationGetParams { /** * Identifier. */ account_id: string; } export declare namespace Configurations { export { type ConfigurationUpdateResponse as ConfigurationUpdateResponse, type ConfigurationGetResponse as ConfigurationGetResponse, type ConfigurationUpdateParams as ConfigurationUpdateParams, type ConfigurationGetParams as ConfigurationGetParams, }; } //# sourceMappingURL=configurations.d.ts.map