UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

230 lines (201 loc) 5.6 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../resource'; import * as Core from '../../../core'; export class Logging extends APIResource { /** * Update logging settings for the current Zero Trust account. * * @example * ```ts * const loggingSetting = * await client.zeroTrust.gateway.logging.update({ * account_id: '699d98642c564d2e855e9661899b7252', * }); * ``` */ update(params: LoggingUpdateParams, options?: Core.RequestOptions): Core.APIPromise<LoggingSetting> { const { account_id, ...body } = params; return ( this._client.put(`/accounts/${account_id}/gateway/logging`, { body, ...options }) as Core.APIPromise<{ result: LoggingSetting; }> )._thenUnwrap((obj) => obj.result); } /** * Retrieve the current logging settings for the Zero Trust account. * * @example * ```ts * const loggingSetting = * await client.zeroTrust.gateway.logging.get({ * account_id: '699d98642c564d2e855e9661899b7252', * }); * ``` */ get(params: LoggingGetParams, options?: Core.RequestOptions): Core.APIPromise<LoggingSetting> { const { account_id } = params; return ( this._client.get(`/accounts/${account_id}/gateway/logging`, options) as Core.APIPromise<{ result: LoggingSetting; }> )._thenUnwrap((obj) => obj.result); } } export interface LoggingSetting { /** * Indicate whether to redact personally identifiable information from activity * logging (PII fields include source IP, user email, user ID, device ID, URL, * referrer, and user agent). */ redact_pii?: boolean; /** * Configure logging settings for each rule type. */ settings_by_rule_type?: LoggingSetting.SettingsByRuleType; } export namespace LoggingSetting { /** * Configure logging settings for each rule type. */ export interface SettingsByRuleType { /** * Configure logging settings for DNS firewall. */ dns?: SettingsByRuleType.DNS; /** * Configure logging settings for HTTP/HTTPS firewall. */ http?: SettingsByRuleType.HTTP; /** * Configure logging settings for Network firewall. */ l4?: SettingsByRuleType.L4; } export namespace SettingsByRuleType { /** * Configure logging settings for DNS firewall. */ export interface DNS { /** * Specify whether to log all requests to this service. */ log_all?: boolean; /** * Specify whether to log only blocking requests to this service. */ log_blocks?: boolean; } /** * Configure logging settings for HTTP/HTTPS firewall. */ export interface HTTP { /** * Specify whether to log all requests to this service. */ log_all?: boolean; /** * Specify whether to log only blocking requests to this service. */ log_blocks?: boolean; } /** * Configure logging settings for Network firewall. */ export interface L4 { /** * Specify whether to log all requests to this service. */ log_all?: boolean; /** * Specify whether to log only blocking requests to this service. */ log_blocks?: boolean; } } } export interface LoggingUpdateParams { /** * Path param: */ account_id: string; /** * Body param: Indicate whether to redact personally identifiable information from * activity logging (PII fields include source IP, user email, user ID, device ID, * URL, referrer, and user agent). */ redact_pii?: boolean; /** * Body param: Configure logging settings for each rule type. */ settings_by_rule_type?: LoggingUpdateParams.SettingsByRuleType; } export namespace LoggingUpdateParams { /** * Configure logging settings for each rule type. */ export interface SettingsByRuleType { /** * Configure logging settings for DNS firewall. */ dns?: SettingsByRuleType.DNS; /** * Configure logging settings for HTTP/HTTPS firewall. */ http?: SettingsByRuleType.HTTP; /** * Configure logging settings for Network firewall. */ l4?: SettingsByRuleType.L4; } export namespace SettingsByRuleType { /** * Configure logging settings for DNS firewall. */ export interface DNS { /** * Specify whether to log all requests to this service. */ log_all?: boolean; /** * Specify whether to log only blocking requests to this service. */ log_blocks?: boolean; } /** * Configure logging settings for HTTP/HTTPS firewall. */ export interface HTTP { /** * Specify whether to log all requests to this service. */ log_all?: boolean; /** * Specify whether to log only blocking requests to this service. */ log_blocks?: boolean; } /** * Configure logging settings for Network firewall. */ export interface L4 { /** * Specify whether to log all requests to this service. */ log_all?: boolean; /** * Specify whether to log only blocking requests to this service. */ log_blocks?: boolean; } } } export interface LoggingGetParams { account_id: string; } export declare namespace Logging { export { type LoggingSetting as LoggingSetting, type LoggingUpdateParams as LoggingUpdateParams, type LoggingGetParams as LoggingGetParams, }; }