cloudflare
Version:
The official TypeScript library for the Cloudflare API
333 lines • 9.11 kB
TypeScript
import * as Shared from 'cloudflare/resources/shared';
import { SinglePage, V4PagePaginationArray } from 'cloudflare/pagination';
export type ASN = number;
export interface AuditLog {
/**
* A string that uniquely identifies the audit log.
*/
id?: string;
action?: AuditLog.Action;
actor?: AuditLog.Actor;
/**
* The source of the event.
*/
interface?: string;
/**
* An object which can lend more context to the action being logged. This is a
* flexible value and varies between different actions.
*/
metadata?: unknown;
/**
* The new value of the resource that was modified.
*/
newValue?: string;
/**
* The value of the resource before it was modified.
*/
oldValue?: string;
owner?: AuditLog.Owner;
resource?: AuditLog.Resource;
/**
* A UTC RFC3339 timestamp that specifies when the action being logged occured.
*/
when?: string;
}
export declare namespace AuditLog {
interface Action {
/**
* A boolean that indicates if the action attempted was successful.
*/
result?: boolean;
/**
* A short string that describes the action that was performed.
*/
type?: string;
}
interface Actor {
/**
* The ID of the actor that performed the action. If a user performed the action,
* this will be their User ID.
*/
id?: string;
/**
* The email of the user that performed the action.
*/
email?: string;
/**
* The IP address of the request that performed the action.
*/
ip?: string;
/**
* The type of actor, whether a User, Cloudflare Admin, or an Automated System.
*/
type?: 'user' | 'admin' | 'Cloudflare';
}
interface Owner {
/**
* Identifier
*/
id?: string;
}
interface Resource {
/**
* An identifier for the resource that was affected by the action.
*/
id?: string;
/**
* A short string that describes the resource that was affected by the action.
*/
type?: string;
}
}
/**
* A Cloudflare Tunnel that connects your origin to Cloudflare's edge.
*/
export interface CloudflareTunnel {
/**
* 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<CloudflareTunnel.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;
/**
* Timestamp of when the tunnel became inactive (no connections to Cloudflare's
* edge). If `null`, the tunnel is active.
*/
conns_inactive_at?: 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;
/**
* Metadata associated with the tunnel.
*/
metadata?: unknown;
/**
* A user-friendly name for a 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';
}
export declare namespace CloudflareTunnel {
interface Connection {
/**
* UUID of the Cloudflare Tunnel connection.
*/
id?: string;
/**
* UUID of the Cloudflare Tunnel connector.
*/
client_id?: string;
/**
* 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 ErrorData {
code?: number;
message?: string;
}
export interface Identifier {
/**
* Identifier
*/
id?: string;
}
export interface LoadBalancerPreview {
/**
* Monitored pool IDs mapped to their respective names.
*/
pools?: Record<string, string>;
preview_id?: string;
}
export interface Member {
/**
* Membership identifier tag.
*/
id: string;
/**
* Roles assigned to this member.
*/
roles: Array<Member.Role>;
status: unknown;
user: Member.User;
}
export declare namespace Member {
interface Role {
/**
* Role identifier tag.
*/
id: string;
/**
* Description of role's permissions.
*/
description: string;
/**
* Role name.
*/
name: string;
permissions: Role.Permissions;
}
namespace Role {
interface Permissions {
analytics?: Shared.PermissionGrant;
billing?: Shared.PermissionGrant;
cache_purge?: Shared.PermissionGrant;
dns?: Shared.PermissionGrant;
dns_records?: Shared.PermissionGrant;
lb?: Shared.PermissionGrant;
logs?: Shared.PermissionGrant;
organization?: Shared.PermissionGrant;
ssl?: Shared.PermissionGrant;
waf?: Shared.PermissionGrant;
zone_settings?: Shared.PermissionGrant;
zones?: Shared.PermissionGrant;
}
}
interface User {
/**
* The contact email address of the user.
*/
email: string;
/**
* Identifier
*/
id?: string;
/**
* User's first name
*/
first_name?: string | null;
/**
* User's last name
*/
last_name?: string | null;
/**
* Indicates whether two-factor authentication is enabled for the user account.
* Does not apply to API authentication.
*/
two_factor_authentication_enabled?: boolean;
}
}
export interface PaginationInfo {
/**
* Total number of results for the requested service
*/
count?: number;
/**
* Current page within paginated list of results
*/
page?: number;
/**
* Number of results per page of results
*/
per_page?: number;
/**
* Total results available without any search parameters
*/
total_count?: number;
}
export type Permission = string;
export interface PermissionGrant {
read?: boolean;
write?: boolean;
}
export interface ResponseInfo {
code: number;
message: string;
}
export type Result = Result.UnionMember0 | Result.AaaAPIResponseCommon;
export declare namespace Result {
interface UnionMember0 {
errors?: unknown | null;
messages?: Array<unknown>;
result?: Array<Shared.AuditLog>;
success?: boolean;
}
interface AaaAPIResponseCommon {
errors: Array<Shared.ResponseInfo>;
messages: Array<Shared.ResponseInfo>;
result: unknown | Array<unknown> | string;
/**
* Whether the API call was successful
*/
success: true;
}
}
export interface Role {
/**
* Role identifier tag.
*/
id: string;
/**
* Description of role's permissions.
*/
description: string;
/**
* Role Name.
*/
name: string;
/**
* Access permissions for this User.
*/
permissions: Array<Permission>;
}
export declare class RolesSinglePage extends SinglePage<Role> {
}
export declare class AuditLogsV4PagePaginationArray extends V4PagePaginationArray<AuditLog> {
}
//# sourceMappingURL=shared.d.ts.map