cloudflare
Version:
The official TypeScript library for the Cloudflare API
254 lines • 7.46 kB
TypeScript
import { APIResource } from "../../../../core/resource.js";
import { APIPromise } from "../../../../core/api-promise.js";
import { V4PagePaginationArray } from "../../../../core/pagination.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class BaseWARP extends APIResource {
static readonly _key: readonly ['zeroTrust', 'networks', 'subnets', 'warp'];
/**
* Create a WARP IP assignment subnet. Currently, only IPv4 subnets can be created.
*
* **Network constraints:**
*
* - The network must be within one of the following private IP ranges:
* - `10.0.0.0/8` (RFC 1918)
* - `172.16.0.0/12` (RFC 1918)
* - `192.168.0.0/16` (RFC 1918)
* - `100.64.0.0/10` (RFC 6598 - CGNAT)
* - The subnet must have a prefix length of `/24` or larger (e.g., `/16`, `/20`,
* `/24` are valid; `/25`, `/28` are not)
*
* @example
* ```ts
* const subnet =
* await client.zeroTrust.networks.subnets.warp.create({
* account_id: '699d98642c564d2e855e9661899b7252',
* name: 'IPv4 Cloudflare Source IPs',
* network: '100.64.0.0/12',
* });
* ```
*/
create(params: WARPCreateParams, options?: RequestOptions): APIPromise<Subnet>;
/**
* Delete a WARP IP assignment subnet. This operation is idempotent - deleting an
* already-deleted or non-existent subnet will return success with a null result.
*
* @example
* ```ts
* const warp =
* await client.zeroTrust.networks.subnets.warp.delete(
* 'f70ff985-a4ef-4643-bbbc-4a0ed4fc8415',
* { account_id: '699d98642c564d2e855e9661899b7252' },
* );
* ```
*/
delete(subnetID: string, params: WARPDeleteParams, options?: RequestOptions): APIPromise<WARPDeleteResponse | null>;
/**
* Updates a WARP IP assignment subnet.
*
* **Update constraints:**
*
* - The `network` field cannot be modified for WARP subnets. Only `name`,
* `comment`, and `is_default_network` can be updated.
* - IPv6 subnets cannot be updated
*
* @example
* ```ts
* const subnet =
* await client.zeroTrust.networks.subnets.warp.edit(
* 'f70ff985-a4ef-4643-bbbc-4a0ed4fc8415',
* { account_id: '699d98642c564d2e855e9661899b7252' },
* );
* ```
*/
edit(subnetID: string, params: WARPEditParams, options?: RequestOptions): APIPromise<Subnet>;
/**
* Get a WARP IP assignment subnet.
*
* @example
* ```ts
* const subnet =
* await client.zeroTrust.networks.subnets.warp.get(
* 'f70ff985-a4ef-4643-bbbc-4a0ed4fc8415',
* { account_id: '699d98642c564d2e855e9661899b7252' },
* );
* ```
*/
get(subnetID: string, params: WARPGetParams, options?: RequestOptions): APIPromise<Subnet>;
}
export declare class WARP extends BaseWARP {
}
export type SubnetsV4PagePaginationArray = V4PagePaginationArray<Subnet>;
export interface Subnet {
/**
* The UUID of the subnet.
*/
id?: string;
/**
* IP capacity information for the subnet.
*/
capacity?: Subnet.Capacity;
/**
* An optional description of the subnet.
*/
comment?: string;
/**
* Timestamp of when the resource was created.
*/
created_at?: string;
/**
* Timestamp of when the resource was deleted. If `null`, the resource has not been
* deleted.
*/
deleted_at?: string;
/**
* If `true`, this is the default subnet for the account. There can only be one
* default subnet per account.
*/
is_default_network?: boolean;
/**
* A user-friendly name for the subnet.
*/
name?: string;
/**
* The private IPv4 or IPv6 range defining the subnet, in CIDR notation.
*/
network?: string;
/**
* The type of subnet.
*/
subnet_type?: 'cloudflare_source' | 'initial_resolved_ip' | 'warp';
}
export declare namespace Subnet {
/**
* IP capacity information for the subnet.
*/
interface Capacity {
/**
* Total number of assignable IPs in the subnet.
*/
total?: number;
/**
* Number of assigned IPs in the subnet.
*/
used?: number;
}
}
export interface WARPDeleteResponse {
/**
* The UUID of the subnet.
*/
id?: string;
/**
* IP capacity information for the subnet.
*/
capacity?: WARPDeleteResponse.Capacity;
/**
* An optional description of the subnet.
*/
comment?: string;
/**
* Timestamp of when the resource was created.
*/
created_at?: string;
/**
* Timestamp of when the resource was deleted. If `null`, the resource has not been
* deleted.
*/
deleted_at?: string;
/**
* If `true`, this is the default subnet for the account. There can only be one
* default subnet per account.
*/
is_default_network?: boolean;
/**
* A user-friendly name for the subnet.
*/
name?: string;
/**
* The private IPv4 or IPv6 range defining the subnet, in CIDR notation.
*/
network?: string;
/**
* The type of subnet.
*/
subnet_type?: 'cloudflare_source' | 'initial_resolved_ip' | 'warp';
}
export declare namespace WARPDeleteResponse {
/**
* IP capacity information for the subnet.
*/
interface Capacity {
/**
* Total number of assignable IPs in the subnet.
*/
total?: number;
/**
* Number of assigned IPs in the subnet.
*/
used?: number;
}
}
export interface WARPCreateParams {
/**
* Path param: Cloudflare account ID
*/
account_id: string;
/**
* Body param: A user-friendly name for the subnet.
*/
name: string;
/**
* Body param: The private IPv4 or IPv6 range defining the subnet, in CIDR
* notation.
*/
network: string;
/**
* Body param: An optional description of the subnet.
*/
comment?: string;
/**
* Body param: If `true`, this is the default subnet for the account. There can
* only be one default subnet per account.
*/
is_default_network?: boolean;
}
export interface WARPDeleteParams {
/**
* Cloudflare account ID
*/
account_id: string;
}
export interface WARPEditParams {
/**
* Path param: Cloudflare account ID
*/
account_id: string;
/**
* Body param: An optional description of the subnet.
*/
comment?: string;
/**
* Body param: If `true`, this is the default subnet for the account. There can
* only be one default subnet per account.
*/
is_default_network?: boolean;
/**
* Body param: A user-friendly name for the subnet.
*/
name?: string;
/**
* Body param: The private IPv4 or IPv6 range defining the subnet, in CIDR
* notation.
*/
network?: string;
}
export interface WARPGetParams {
/**
* Cloudflare account ID
*/
account_id: string;
}
export declare namespace WARP {
export { type Subnet as Subnet, type WARPDeleteResponse as WARPDeleteResponse, type WARPCreateParams as WARPCreateParams, type WARPDeleteParams as WARPDeleteParams, type WARPEditParams as WARPEditParams, type WARPGetParams as WARPGetParams, };
}
//# sourceMappingURL=warp.d.ts.map