export type EdgeRuleActionType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37; export type TriggerTypes = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13; export type PatternMatchingTypes = 0 | 1 | 2; export type Trigger = {Type?: TriggerTypes | undefined, PatternMatches?: (Array | null) | undefined, PatternMatchingType?: PatternMatchingTypes | undefined, Parameter1?: (string | null) | undefined}; export type EdgeRuleV2ActionModel = {ActionType?: EdgeRuleActionType | undefined, ActionParameter1?: (string | null) | undefined, ActionParameter2?: (string | null) | undefined, ActionParameter3?: (string | null) | undefined}; export type TriggerMatchingTypes = 0 | 1 | 2; export type EdgeRuleV2Model = {Guid?: (string | null) | undefined, ActionType?: EdgeRuleActionType | undefined, ActionParameter1?: (string | null) | undefined, ActionParameter2?: (string | null) | undefined, ActionParameter3?: (string | null) | undefined, Triggers?: (Array | null) | undefined, ExtraActions?: (Array | null) | undefined, TriggerMatchingType?: TriggerMatchingTypes | undefined, Description?: (string | null) | undefined, Enabled?: boolean | undefined, OrderIndex?: number | undefined, ReadOnly?: boolean | undefined}; export type CreateApiPullzonePullZoneIdEdgerulesAddOrUpdateArgs = {pullZoneId: number, body: EdgeRuleV2Model}; export type CreateApiPullzonePullZoneIdEdgerulesAddOrUpdateOptions = {baseUrl?: string | undefined, AccessKey?: string | undefined, fetch?: typeof fetch | undefined}; /** * Add/Update Edge Rule * * POST /pullzone/{pullZoneId}/edgerules/addOrUpdate */ export const createApiPullzonePullZoneIdEdgerulesAddOrUpdate = async (args: CreateApiPullzonePullZoneIdEdgerulesAddOrUpdateArgs, options?: CreateApiPullzonePullZoneIdEdgerulesAddOrUpdateOptions) => { const {baseUrl = "https://api.bunny.net", fetch: fetchFn = fetch, AccessKey} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (AccessKey !== undefined) headers.set("AccessKey", AccessKey) const url = `${baseUrl.replace(/\/+$/, '')}/pullzone/${encodeURIComponent(String(args.pullZoneId))}/edgerules/addOrUpdate${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };