cloudflare
Version:
The official TypeScript library for the Cloudflare API
138 lines (119 loc) • 4.26 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import * as Core from "../../core";
import { APIResource } from "../../resource";
import * as ConnectionsAPI from "./connections";
import * as PoliciesAPI from "./policies";
import * as ScriptsAPI from "./scripts";
export class PageShield extends APIResource {
policies: PoliciesAPI.Policies = new PoliciesAPI.Policies(this._client);
connections: ConnectionsAPI.Connections = new ConnectionsAPI.Connections(this._client);
scripts: ScriptsAPI.Scripts = new ScriptsAPI.Scripts(this._client);
/**
* Updates Page Shield settings.
*/
update(
params: PageShieldUpdateParams,
options?: Core.RequestOptions,
): Core.APIPromise<PageShieldUpdateResponse> {
const { zone_id, ...body } = params;
return (
this._client.put(`/zones/${zone_id}/page_shield`, { body, ...options }) as Core.APIPromise<{
result: PageShieldUpdateResponse;
}>
)._thenUnwrap((obj) => obj.result);
}
/**
* Fetches the Page Shield settings.
*/
get(params: PageShieldGetParams, options?: Core.RequestOptions): Core.APIPromise<Setting> {
const { zone_id } = params;
return (
this._client.get(`/zones/${zone_id}/page_shield`, options) as Core.APIPromise<{ result: Setting }>
)._thenUnwrap((obj) => obj.result);
}
}
export interface Setting {
/**
* When true, indicates that Page Shield is enabled.
*/
enabled?: boolean;
/**
* The timestamp of when Page Shield was last updated.
*/
updated_at?: string;
/**
* When true, CSP reports will be sent to
* https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report
*/
use_cloudflare_reporting_endpoint?: boolean;
/**
* When true, the paths associated with connections URLs will also be analyzed.
*/
use_connection_url_path?: boolean;
}
export interface PageShieldUpdateResponse {
/**
* When true, indicates that Page Shield is enabled.
*/
enabled?: boolean;
/**
* The timestamp of when Page Shield was last updated.
*/
updated_at?: string;
/**
* When true, CSP reports will be sent to
* https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report
*/
use_cloudflare_reporting_endpoint?: boolean;
/**
* When true, the paths associated with connections URLs will also be analyzed.
*/
use_connection_url_path?: boolean;
}
export interface PageShieldUpdateParams {
/**
* Path param: Identifier
*/
zone_id: string;
/**
* Body param: When true, indicates that Page Shield is enabled.
*/
enabled?: boolean;
/**
* Body param: When true, CSP reports will be sent to
* https://csp-reporting.cloudflare.com/cdn-cgi/script_monitor/report
*/
use_cloudflare_reporting_endpoint?: boolean;
/**
* Body param: When true, the paths associated with connections URLs will also be
* analyzed.
*/
use_connection_url_path?: boolean;
}
export interface PageShieldGetParams {
/**
* Identifier
*/
zone_id: string;
}
export namespace PageShield {
export import Policies = PoliciesAPI.Policies;
export import Policy = PoliciesAPI.Policy;
export import PoliciesSinglePage = PoliciesAPI.PoliciesSinglePage;
export import PolicyCreateParams = PoliciesAPI.PolicyCreateParams;
export import PolicyUpdateParams = PoliciesAPI.PolicyUpdateParams;
export import PolicyListParams = PoliciesAPI.PolicyListParams;
export import PolicyDeleteParams = PoliciesAPI.PolicyDeleteParams;
export import PolicyGetParams = PoliciesAPI.PolicyGetParams;
export import Connections = ConnectionsAPI.Connections;
export import Connection = ConnectionsAPI.Connection;
export import ConnectionsSinglePage = ConnectionsAPI.ConnectionsSinglePage;
export import ConnectionListParams = ConnectionsAPI.ConnectionListParams;
export import ConnectionGetParams = ConnectionsAPI.ConnectionGetParams;
export import Scripts = ScriptsAPI.Scripts;
export import Script = ScriptsAPI.Script;
export import ScriptGetResponse = ScriptsAPI.ScriptGetResponse;
export import ScriptsSinglePage = ScriptsAPI.ScriptsSinglePage;
export import ScriptListParams = ScriptsAPI.ScriptListParams;
export import ScriptGetParams = ScriptsAPI.ScriptGetParams;
}