UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

579 lines (493 loc) 17.1 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import * as Core from "../../../core"; import { APIResource } from "../../../resource"; import * as MonitorsAPI from "./monitors"; import * as PreviewsAPI from "./previews"; import * as ReferencesAPI from "./references"; import { SinglePage } from "../../../pagination"; export class Monitors extends APIResource { previews: PreviewsAPI.Previews = new PreviewsAPI.Previews(this._client); references: ReferencesAPI.References = new ReferencesAPI.References(this._client); /** * Create a configured monitor. */ create(params: MonitorCreateParams, options?: Core.RequestOptions): Core.APIPromise<Monitor> { const { account_id, ...body } = params; return ( this._client.post(`/accounts/${account_id}/load_balancers/monitors`, { body, ...options, }) as Core.APIPromise<{ result: Monitor }> )._thenUnwrap((obj) => obj.result); } /** * Modify a configured monitor. */ update( monitorId: string, params: MonitorUpdateParams, options?: Core.RequestOptions, ): Core.APIPromise<Monitor> { const { account_id, ...body } = params; return ( this._client.put(`/accounts/${account_id}/load_balancers/monitors/${monitorId}`, { body, ...options, }) as Core.APIPromise<{ result: Monitor }> )._thenUnwrap((obj) => obj.result); } /** * List configured monitors for an account. */ list( params: MonitorListParams, options?: Core.RequestOptions, ): Core.PagePromise<MonitorsSinglePage, Monitor> { const { account_id } = params; return this._client.getAPIList( `/accounts/${account_id}/load_balancers/monitors`, MonitorsSinglePage, options, ); } /** * Delete a configured monitor. */ delete( monitorId: string, params: MonitorDeleteParams, options?: Core.RequestOptions, ): Core.APIPromise<MonitorDeleteResponse> { const { account_id, body } = params; return ( this._client.delete(`/accounts/${account_id}/load_balancers/monitors/${monitorId}`, { body: body, ...options, }) as Core.APIPromise<{ result: MonitorDeleteResponse }> )._thenUnwrap((obj) => obj.result); } /** * Apply changes to an existing monitor, overwriting the supplied properties. */ edit( monitorId: string, params: MonitorEditParams, options?: Core.RequestOptions, ): Core.APIPromise<Monitor> { const { account_id, ...body } = params; return ( this._client.patch(`/accounts/${account_id}/load_balancers/monitors/${monitorId}`, { body, ...options, }) as Core.APIPromise<{ result: Monitor }> )._thenUnwrap((obj) => obj.result); } /** * List a single configured monitor for an account. */ get(monitorId: string, params: MonitorGetParams, options?: Core.RequestOptions): Core.APIPromise<Monitor> { const { account_id } = params; return ( this._client.get( `/accounts/${account_id}/load_balancers/monitors/${monitorId}`, options, ) as Core.APIPromise<{ result: Monitor }> )._thenUnwrap((obj) => obj.result); } } export class MonitorsSinglePage extends SinglePage<Monitor> {} export interface Monitor { id?: string; /** * Do not validate the certificate when monitor use HTTPS. This parameter is * currently only valid for HTTP and HTTPS monitors. */ allow_insecure?: boolean; /** * To be marked unhealthy the monitored origin must fail this healthcheck N * consecutive times. */ consecutive_down?: number; /** * To be marked healthy the monitored origin must pass this healthcheck N * consecutive times. */ consecutive_up?: number; created_on?: string; /** * Object description. */ description?: string; /** * A case-insensitive sub-string to look for in the response body. If this string * is not found, the origin will be marked as unhealthy. This parameter is only * valid for HTTP and HTTPS monitors. */ expected_body?: string; /** * The expected HTTP response code or code range of the health check. This * parameter is only valid for HTTP and HTTPS monitors. */ expected_codes?: string; /** * Follow redirects if returned by the origin. This parameter is only valid for * HTTP and HTTPS monitors. */ follow_redirects?: boolean; /** * The HTTP request headers to send in the health check. It is recommended you set * a Host header by default. The User-Agent header cannot be overridden. This * parameter is only valid for HTTP and HTTPS monitors. */ header?: unknown; /** * The interval between each health check. Shorter intervals may improve failover * time, but will increase load on the origins as we check from multiple locations. */ interval?: number; /** * The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS * based checks and 'connection_established' for TCP based health checks. */ method?: string; modified_on?: string; /** * The endpoint path you want to conduct a health check against. This parameter is * only valid for HTTP and HTTPS monitors. */ path?: string; /** * The port number to connect to for the health check. Required for TCP, UDP, and * SMTP checks. HTTP and HTTPS checks should only define the port when using a * non-standard port (HTTP: default 80, HTTPS: default 443). */ port?: number; /** * Assign this monitor to emulate the specified zone while probing. This parameter * is only valid for HTTP and HTTPS monitors. */ probe_zone?: string; /** * The number of retries to attempt in case of a timeout before marking the origin * as unhealthy. Retries are attempted immediately. */ retries?: number; /** * The timeout (in seconds) before marking the health check as failed. */ timeout?: number; /** * The protocol to use for the health check. Currently supported protocols are * 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. */ type?: 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp'; } export interface MonitorDeleteResponse { id?: string; } export interface MonitorCreateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The expected HTTP response code or code range of the health check. * This parameter is only valid for HTTP and HTTPS monitors. */ expected_codes: string; /** * Body param: Do not validate the certificate when monitor use HTTPS. This * parameter is currently only valid for HTTP and HTTPS monitors. */ allow_insecure?: boolean; /** * Body param: To be marked unhealthy the monitored origin must fail this * healthcheck N consecutive times. */ consecutive_down?: number; /** * Body param: To be marked healthy the monitored origin must pass this healthcheck * N consecutive times. */ consecutive_up?: number; /** * Body param: Object description. */ description?: string; /** * Body param: A case-insensitive sub-string to look for in the response body. If * this string is not found, the origin will be marked as unhealthy. This parameter * is only valid for HTTP and HTTPS monitors. */ expected_body?: string; /** * Body param: Follow redirects if returned by the origin. This parameter is only * valid for HTTP and HTTPS monitors. */ follow_redirects?: boolean; /** * Body param: The HTTP request headers to send in the health check. It is * recommended you set a Host header by default. The User-Agent header cannot be * overridden. This parameter is only valid for HTTP and HTTPS monitors. */ header?: unknown; /** * Body param: The interval between each health check. Shorter intervals may * improve failover time, but will increase load on the origins as we check from * multiple locations. */ interval?: number; /** * Body param: The method to use for the health check. This defaults to 'GET' for * HTTP/HTTPS based checks and 'connection_established' for TCP based health * checks. */ method?: string; /** * Body param: The endpoint path you want to conduct a health check against. This * parameter is only valid for HTTP and HTTPS monitors. */ path?: string; /** * Body param: The port number to connect to for the health check. Required for * TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port * when using a non-standard port (HTTP: default 80, HTTPS: default 443). */ port?: number; /** * Body param: Assign this monitor to emulate the specified zone while probing. * This parameter is only valid for HTTP and HTTPS monitors. */ probe_zone?: string; /** * Body param: The number of retries to attempt in case of a timeout before marking * the origin as unhealthy. Retries are attempted immediately. */ retries?: number; /** * Body param: The timeout (in seconds) before marking the health check as failed. */ timeout?: number; /** * Body param: The protocol to use for the health check. Currently supported * protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. */ type?: 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp'; } export interface MonitorUpdateParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The expected HTTP response code or code range of the health check. * This parameter is only valid for HTTP and HTTPS monitors. */ expected_codes: string; /** * Body param: Do not validate the certificate when monitor use HTTPS. This * parameter is currently only valid for HTTP and HTTPS monitors. */ allow_insecure?: boolean; /** * Body param: To be marked unhealthy the monitored origin must fail this * healthcheck N consecutive times. */ consecutive_down?: number; /** * Body param: To be marked healthy the monitored origin must pass this healthcheck * N consecutive times. */ consecutive_up?: number; /** * Body param: Object description. */ description?: string; /** * Body param: A case-insensitive sub-string to look for in the response body. If * this string is not found, the origin will be marked as unhealthy. This parameter * is only valid for HTTP and HTTPS monitors. */ expected_body?: string; /** * Body param: Follow redirects if returned by the origin. This parameter is only * valid for HTTP and HTTPS monitors. */ follow_redirects?: boolean; /** * Body param: The HTTP request headers to send in the health check. It is * recommended you set a Host header by default. The User-Agent header cannot be * overridden. This parameter is only valid for HTTP and HTTPS monitors. */ header?: unknown; /** * Body param: The interval between each health check. Shorter intervals may * improve failover time, but will increase load on the origins as we check from * multiple locations. */ interval?: number; /** * Body param: The method to use for the health check. This defaults to 'GET' for * HTTP/HTTPS based checks and 'connection_established' for TCP based health * checks. */ method?: string; /** * Body param: The endpoint path you want to conduct a health check against. This * parameter is only valid for HTTP and HTTPS monitors. */ path?: string; /** * Body param: The port number to connect to for the health check. Required for * TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port * when using a non-standard port (HTTP: default 80, HTTPS: default 443). */ port?: number; /** * Body param: Assign this monitor to emulate the specified zone while probing. * This parameter is only valid for HTTP and HTTPS monitors. */ probe_zone?: string; /** * Body param: The number of retries to attempt in case of a timeout before marking * the origin as unhealthy. Retries are attempted immediately. */ retries?: number; /** * Body param: The timeout (in seconds) before marking the health check as failed. */ timeout?: number; /** * Body param: The protocol to use for the health check. Currently supported * protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. */ type?: 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp'; } export interface MonitorListParams { /** * Identifier */ account_id: string; } export interface MonitorDeleteParams { /** * Path param: Identifier */ account_id: string; /** * Body param: */ body: unknown; } export interface MonitorEditParams { /** * Path param: Identifier */ account_id: string; /** * Body param: The expected HTTP response code or code range of the health check. * This parameter is only valid for HTTP and HTTPS monitors. */ expected_codes: string; /** * Body param: Do not validate the certificate when monitor use HTTPS. This * parameter is currently only valid for HTTP and HTTPS monitors. */ allow_insecure?: boolean; /** * Body param: To be marked unhealthy the monitored origin must fail this * healthcheck N consecutive times. */ consecutive_down?: number; /** * Body param: To be marked healthy the monitored origin must pass this healthcheck * N consecutive times. */ consecutive_up?: number; /** * Body param: Object description. */ description?: string; /** * Body param: A case-insensitive sub-string to look for in the response body. If * this string is not found, the origin will be marked as unhealthy. This parameter * is only valid for HTTP and HTTPS monitors. */ expected_body?: string; /** * Body param: Follow redirects if returned by the origin. This parameter is only * valid for HTTP and HTTPS monitors. */ follow_redirects?: boolean; /** * Body param: The HTTP request headers to send in the health check. It is * recommended you set a Host header by default. The User-Agent header cannot be * overridden. This parameter is only valid for HTTP and HTTPS monitors. */ header?: unknown; /** * Body param: The interval between each health check. Shorter intervals may * improve failover time, but will increase load on the origins as we check from * multiple locations. */ interval?: number; /** * Body param: The method to use for the health check. This defaults to 'GET' for * HTTP/HTTPS based checks and 'connection_established' for TCP based health * checks. */ method?: string; /** * Body param: The endpoint path you want to conduct a health check against. This * parameter is only valid for HTTP and HTTPS monitors. */ path?: string; /** * Body param: The port number to connect to for the health check. Required for * TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define the port * when using a non-standard port (HTTP: default 80, HTTPS: default 443). */ port?: number; /** * Body param: Assign this monitor to emulate the specified zone while probing. * This parameter is only valid for HTTP and HTTPS monitors. */ probe_zone?: string; /** * Body param: The number of retries to attempt in case of a timeout before marking * the origin as unhealthy. Retries are attempted immediately. */ retries?: number; /** * Body param: The timeout (in seconds) before marking the health check as failed. */ timeout?: number; /** * Body param: The protocol to use for the health check. Currently supported * protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. */ type?: 'http' | 'https' | 'tcp' | 'udp_icmp' | 'icmp_ping' | 'smtp'; } export interface MonitorGetParams { /** * Identifier */ account_id: string; } export namespace Monitors { export import Monitor = MonitorsAPI.Monitor; export import MonitorDeleteResponse = MonitorsAPI.MonitorDeleteResponse; export import MonitorsSinglePage = MonitorsAPI.MonitorsSinglePage; export import MonitorCreateParams = MonitorsAPI.MonitorCreateParams; export import MonitorUpdateParams = MonitorsAPI.MonitorUpdateParams; export import MonitorListParams = MonitorsAPI.MonitorListParams; export import MonitorDeleteParams = MonitorsAPI.MonitorDeleteParams; export import MonitorEditParams = MonitorsAPI.MonitorEditParams; export import MonitorGetParams = MonitorsAPI.MonitorGetParams; export import Previews = PreviewsAPI.Previews; export import PreviewCreateResponse = PreviewsAPI.PreviewCreateResponse; export import PreviewCreateParams = PreviewsAPI.PreviewCreateParams; export import References = ReferencesAPI.References; export import ReferenceGetResponse = ReferencesAPI.ReferenceGetResponse; export import ReferenceGetParams = ReferencesAPI.ReferenceGetParams; }