cloudflare
Version:
The official TypeScript library for the Cloudflare API
438 lines • 16.5 kB
TypeScript
import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as IPSECTunnelsAPI from 'cloudflare/resources/magic-transit/ipsec-tunnels';
export declare class IPSECTunnels extends APIResource {
/**
* Creates new IPsec tunnels associated with an account. Use `?validate_only=true`
* as an optional query parameter to only run validation without persisting
* changes.
*/
create(params: IPSECTunnelCreateParams, options?: Core.RequestOptions): Core.APIPromise<IPSECTunnelCreateResponse>;
/**
* Updates a specific IPsec tunnel associated with an account. Use
* `?validate_only=true` as an optional query parameter to only run validation
* without persisting changes.
*/
update(tunnelIdentifier: string, params: IPSECTunnelUpdateParams, options?: Core.RequestOptions): Core.APIPromise<IPSECTunnelUpdateResponse>;
/**
* Lists IPsec tunnels associated with an account.
*/
list(params: IPSECTunnelListParams, options?: Core.RequestOptions): Core.APIPromise<IPSECTunnelListResponse>;
/**
* Disables and removes a specific static IPsec Tunnel associated with an account.
* Use `?validate_only=true` as an optional query parameter to only run validation
* without persisting changes.
*/
delete(tunnelIdentifier: string, params: IPSECTunnelDeleteParams, options?: Core.RequestOptions): Core.APIPromise<IPSECTunnelDeleteResponse>;
/**
* Lists details for a specific IPsec tunnel.
*/
get(tunnelIdentifier: string, params: IPSECTunnelGetParams, options?: Core.RequestOptions): Core.APIPromise<IPSECTunnelGetResponse>;
/**
* Generates a Pre Shared Key for a specific IPsec tunnel used in the IKE session.
* Use `?validate_only=true` as an optional query parameter to only run validation
* without persisting changes. After a PSK is generated, the PSK is immediately
* persisted to Cloudflare's edge and cannot be retrieved later. Note the PSK in a
* safe place.
*/
pskGenerate(tunnelIdentifier: string, params: IPSECTunnelPSKGenerateParams, options?: Core.RequestOptions): Core.APIPromise<IPSECTunnelPSKGenerateResponse>;
}
export interface IPSECTunnelCreateResponse {
ipsec_tunnels?: Array<IPSECTunnelCreateResponse.IPSECTunnel>;
}
export declare namespace IPSECTunnelCreateResponse {
interface IPSECTunnel {
/**
* The IP address assigned to the Cloudflare side of the IPsec tunnel.
*/
cloudflare_endpoint: string;
/**
* A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side
* of the tunnel. Select the subnet from the following private IP space:
* 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
*/
interface_address: string;
/**
* The name of the IPsec tunnel. The name cannot share a name with other tunnels.
*/
name: string;
/**
* Tunnel identifier tag.
*/
id?: string;
/**
* When `true`, the tunnel can use a null-cipher (`ENCR_NULL`) in the ESP tunnel
* (Phase 2).
*/
allow_null_cipher?: boolean;
/**
* The date and time the tunnel was created.
*/
created_on?: string;
/**
* The IP address assigned to the customer side of the IPsec tunnel.
*/
customer_endpoint?: string;
/**
* An optional description forthe IPsec tunnel.
*/
description?: string;
/**
* The date and time the tunnel was last modified.
*/
modified_on?: string;
/**
* The PSK metadata that includes when the PSK was generated.
*/
psk_metadata?: IPSECTunnel.PSKMetadata;
/**
* If `true`, then IPsec replay protection will be supported in the
* Cloudflare-to-customer direction.
*/
replay_protection?: boolean;
tunnel_health_check?: IPSECTunnel.TunnelHealthCheck;
}
namespace IPSECTunnel {
/**
* The PSK metadata that includes when the PSK was generated.
*/
interface PSKMetadata {
/**
* The date and time the tunnel was last modified.
*/
last_generated_on?: string;
}
interface TunnelHealthCheck {
/**
* Determines whether to run healthchecks for a tunnel.
*/
enabled?: boolean;
/**
* How frequent the health check is run. The default value is `mid`.
*/
rate?: 'low' | 'mid' | 'high';
/**
* The destination address in a request type health check. After the healthcheck is
* decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded
* to this address. This field defaults to `customer_gre_endpoint address`.
*/
target?: string;
/**
* The type of healthcheck to run, reply or request. The default value is `reply`.
*/
type?: 'reply' | 'request';
}
}
}
export interface IPSECTunnelUpdateResponse {
modified?: boolean;
modified_ipsec_tunnel?: unknown;
}
export interface IPSECTunnelListResponse {
ipsec_tunnels?: Array<IPSECTunnelListResponse.IPSECTunnel>;
}
export declare namespace IPSECTunnelListResponse {
interface IPSECTunnel {
/**
* The IP address assigned to the Cloudflare side of the IPsec tunnel.
*/
cloudflare_endpoint: string;
/**
* A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side
* of the tunnel. Select the subnet from the following private IP space:
* 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
*/
interface_address: string;
/**
* The name of the IPsec tunnel. The name cannot share a name with other tunnels.
*/
name: string;
/**
* Tunnel identifier tag.
*/
id?: string;
/**
* When `true`, the tunnel can use a null-cipher (`ENCR_NULL`) in the ESP tunnel
* (Phase 2).
*/
allow_null_cipher?: boolean;
/**
* The date and time the tunnel was created.
*/
created_on?: string;
/**
* The IP address assigned to the customer side of the IPsec tunnel.
*/
customer_endpoint?: string;
/**
* An optional description forthe IPsec tunnel.
*/
description?: string;
/**
* The date and time the tunnel was last modified.
*/
modified_on?: string;
/**
* The PSK metadata that includes when the PSK was generated.
*/
psk_metadata?: IPSECTunnel.PSKMetadata;
/**
* If `true`, then IPsec replay protection will be supported in the
* Cloudflare-to-customer direction.
*/
replay_protection?: boolean;
tunnel_health_check?: IPSECTunnel.TunnelHealthCheck;
}
namespace IPSECTunnel {
/**
* The PSK metadata that includes when the PSK was generated.
*/
interface PSKMetadata {
/**
* The date and time the tunnel was last modified.
*/
last_generated_on?: string;
}
interface TunnelHealthCheck {
/**
* Determines whether to run healthchecks for a tunnel.
*/
enabled?: boolean;
/**
* How frequent the health check is run. The default value is `mid`.
*/
rate?: 'low' | 'mid' | 'high';
/**
* The destination address in a request type health check. After the healthcheck is
* decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded
* to this address. This field defaults to `customer_gre_endpoint address`.
*/
target?: string;
/**
* The type of healthcheck to run, reply or request. The default value is `reply`.
*/
type?: 'reply' | 'request';
}
}
}
export interface IPSECTunnelDeleteResponse {
deleted?: boolean;
deleted_ipsec_tunnel?: unknown;
}
export interface IPSECTunnelGetResponse {
ipsec_tunnel?: unknown;
}
export interface IPSECTunnelPSKGenerateResponse {
/**
* Identifier
*/
ipsec_tunnel_id?: string;
/**
* A randomly generated or provided string for use in the IPsec tunnel.
*/
psk?: string;
/**
* The PSK metadata that includes when the PSK was generated.
*/
psk_metadata?: IPSECTunnelPSKGenerateResponse.PSKMetadata;
}
export declare namespace IPSECTunnelPSKGenerateResponse {
/**
* The PSK metadata that includes when the PSK was generated.
*/
interface PSKMetadata {
/**
* The date and time the tunnel was last modified.
*/
last_generated_on?: string;
}
}
export interface IPSECTunnelCreateParams {
/**
* Path param: Identifier
*/
account_id: string;
/**
* Body param: The IP address assigned to the Cloudflare side of the IPsec tunnel.
*/
cloudflare_endpoint: string;
/**
* Body param: A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for
* each side of the tunnel. Select the subnet from the following private IP space:
* 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
*/
interface_address: string;
/**
* Body param: The name of the IPsec tunnel. The name cannot share a name with
* other tunnels.
*/
name: string;
/**
* Body param: The IP address assigned to the customer side of the IPsec tunnel.
*/
customer_endpoint?: string;
/**
* Body param: An optional description forthe IPsec tunnel.
*/
description?: string;
/**
* Body param:
*/
health_check?: IPSECTunnelCreateParams.HealthCheck;
/**
* Body param: A randomly generated or provided string for use in the IPsec tunnel.
*/
psk?: string;
/**
* Body param: If `true`, then IPsec replay protection will be supported in the
* Cloudflare-to-customer direction.
*/
replay_protection?: boolean;
}
export declare namespace IPSECTunnelCreateParams {
interface HealthCheck {
/**
* The direction of the flow of the healthcheck. Either unidirectional, where the
* probe comes to you via the tunnel and the result comes back to Cloudflare via
* the open Internet, or bidirectional where both the probe and result come and go
* via the tunnel. Note in the case of bidirecitonal healthchecks, the target field
* in health_check is ignored as the interface_address is used to send traffic into
* the tunnel.
*/
direction?: 'unidirectional' | 'bidirectional';
/**
* Determines whether to run healthchecks for a tunnel.
*/
enabled?: boolean;
/**
* How frequent the health check is run. The default value is `mid`.
*/
rate?: 'low' | 'mid' | 'high';
/**
* The destination address in a request type health check. After the healthcheck is
* decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded
* to this address. This field defaults to `customer_gre_endpoint address`. This
* field is ignored for bidirectional healthchecks as the interface_address (not
* assigned to the Cloudflare side of the tunnel) is used as the target.
*/
target?: string;
/**
* The type of healthcheck to run, reply or request. The default value is `reply`.
*/
type?: 'reply' | 'request';
}
}
export interface IPSECTunnelUpdateParams {
/**
* Path param: Identifier
*/
account_id: string;
/**
* Body param: The IP address assigned to the Cloudflare side of the IPsec tunnel.
*/
cloudflare_endpoint: string;
/**
* Body param: A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for
* each side of the tunnel. Select the subnet from the following private IP space:
* 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.
*/
interface_address: string;
/**
* Body param: The name of the IPsec tunnel. The name cannot share a name with
* other tunnels.
*/
name: string;
/**
* Body param: The IP address assigned to the customer side of the IPsec tunnel.
*/
customer_endpoint?: string;
/**
* Body param: An optional description forthe IPsec tunnel.
*/
description?: string;
/**
* Body param:
*/
health_check?: IPSECTunnelUpdateParams.HealthCheck;
/**
* Body param: A randomly generated or provided string for use in the IPsec tunnel.
*/
psk?: string;
/**
* Body param: If `true`, then IPsec replay protection will be supported in the
* Cloudflare-to-customer direction.
*/
replay_protection?: boolean;
}
export declare namespace IPSECTunnelUpdateParams {
interface HealthCheck {
/**
* The direction of the flow of the healthcheck. Either unidirectional, where the
* probe comes to you via the tunnel and the result comes back to Cloudflare via
* the open Internet, or bidirectional where both the probe and result come and go
* via the tunnel. Note in the case of bidirecitonal healthchecks, the target field
* in health_check is ignored as the interface_address is used to send traffic into
* the tunnel.
*/
direction?: 'unidirectional' | 'bidirectional';
/**
* Determines whether to run healthchecks for a tunnel.
*/
enabled?: boolean;
/**
* How frequent the health check is run. The default value is `mid`.
*/
rate?: 'low' | 'mid' | 'high';
/**
* The destination address in a request type health check. After the healthcheck is
* decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded
* to this address. This field defaults to `customer_gre_endpoint address`. This
* field is ignored for bidirectional healthchecks as the interface_address (not
* assigned to the Cloudflare side of the tunnel) is used as the target.
*/
target?: string;
/**
* The type of healthcheck to run, reply or request. The default value is `reply`.
*/
type?: 'reply' | 'request';
}
}
export interface IPSECTunnelListParams {
/**
* Identifier
*/
account_id: string;
}
export interface IPSECTunnelDeleteParams {
/**
* Identifier
*/
account_id: string;
}
export interface IPSECTunnelGetParams {
/**
* Identifier
*/
account_id: string;
}
export interface IPSECTunnelPSKGenerateParams {
/**
* Identifier
*/
account_id: string;
}
export declare namespace IPSECTunnels {
export import IPSECTunnelCreateResponse = IPSECTunnelsAPI.IPSECTunnelCreateResponse;
export import IPSECTunnelUpdateResponse = IPSECTunnelsAPI.IPSECTunnelUpdateResponse;
export import IPSECTunnelListResponse = IPSECTunnelsAPI.IPSECTunnelListResponse;
export import IPSECTunnelDeleteResponse = IPSECTunnelsAPI.IPSECTunnelDeleteResponse;
export import IPSECTunnelGetResponse = IPSECTunnelsAPI.IPSECTunnelGetResponse;
export import IPSECTunnelPSKGenerateResponse = IPSECTunnelsAPI.IPSECTunnelPSKGenerateResponse;
export import IPSECTunnelCreateParams = IPSECTunnelsAPI.IPSECTunnelCreateParams;
export import IPSECTunnelUpdateParams = IPSECTunnelsAPI.IPSECTunnelUpdateParams;
export import IPSECTunnelListParams = IPSECTunnelsAPI.IPSECTunnelListParams;
export import IPSECTunnelDeleteParams = IPSECTunnelsAPI.IPSECTunnelDeleteParams;
export import IPSECTunnelGetParams = IPSECTunnelsAPI.IPSECTunnelGetParams;
export import IPSECTunnelPSKGenerateParams = IPSECTunnelsAPI.IPSECTunnelPSKGenerateParams;
}
//# sourceMappingURL=ipsec-tunnels.d.ts.map