cloudflare
Version:
The official TypeScript library for the Cloudflare API
173 lines (141 loc) • 3.61 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../../resource';
import * as Core from '../../core';
import { SinglePage } from '../../pagination';
export class Rules extends APIResource {
/**
* Put Rules
*/
update(
params: RuleUpdateParams,
options?: Core.RequestOptions,
): Core.PagePromise<RuleUpdateResponsesSinglePage, RuleUpdateResponse> {
const { zone_id, rules } = params ?? {};
return this._client.getAPIList(`/zones/${zone_id}/cloud_connector/rules`, RuleUpdateResponsesSinglePage, {
body: rules,
method: 'put',
...options,
});
}
/**
* Rules
*/
list(
params: RuleListParams,
options?: Core.RequestOptions,
): Core.PagePromise<RuleListResponsesSinglePage, RuleListResponse> {
const { zone_id } = params;
return this._client.getAPIList(
`/zones/${zone_id}/cloud_connector/rules`,
RuleListResponsesSinglePage,
options,
);
}
}
export class RuleUpdateResponsesSinglePage extends SinglePage<RuleUpdateResponse> {}
export class RuleListResponsesSinglePage extends SinglePage<RuleListResponse> {}
export interface RuleUpdateResponse {
id?: string;
description?: string;
enabled?: boolean;
expression?: string;
/**
* Parameters of Cloud Connector Rule
*/
parameters?: RuleUpdateResponse.Parameters;
/**
* Cloud Provider type
*/
provider?: 'aws_s3' | 'r2' | 'gcp_storage' | 'azure_storage';
}
export namespace RuleUpdateResponse {
/**
* Parameters of Cloud Connector Rule
*/
export interface Parameters {
/**
* Host to perform Cloud Connection to
*/
host?: string;
}
}
export interface RuleListResponse {
id?: string;
description?: string;
enabled?: boolean;
expression?: string;
/**
* Parameters of Cloud Connector Rule
*/
parameters?: RuleListResponse.Parameters;
/**
* Cloud Provider type
*/
provider?: 'aws_s3' | 'r2' | 'gcp_storage' | 'azure_storage';
}
export namespace RuleListResponse {
/**
* Parameters of Cloud Connector Rule
*/
export interface Parameters {
/**
* Host to perform Cloud Connection to
*/
host?: string;
}
}
export interface RuleUpdateParams {
/**
* Path param: Identifier
*/
zone_id: string;
/**
* Body param: List of Cloud Connector rules
*/
rules?: Array<RuleUpdateParams.Rule>;
}
export namespace RuleUpdateParams {
export interface Rule {
id?: string;
description?: string;
enabled?: boolean;
expression?: string;
/**
* Parameters of Cloud Connector Rule
*/
parameters?: Rule.Parameters;
/**
* Cloud Provider type
*/
provider?: 'aws_s3' | 'r2' | 'gcp_storage' | 'azure_storage';
}
export namespace Rule {
/**
* Parameters of Cloud Connector Rule
*/
export interface Parameters {
/**
* Host to perform Cloud Connection to
*/
host?: string;
}
}
}
export interface RuleListParams {
/**
* Identifier
*/
zone_id: string;
}
Rules.RuleUpdateResponsesSinglePage = RuleUpdateResponsesSinglePage;
Rules.RuleListResponsesSinglePage = RuleListResponsesSinglePage;
export declare namespace Rules {
export {
type RuleUpdateResponse as RuleUpdateResponse,
type RuleListResponse as RuleListResponse,
RuleUpdateResponsesSinglePage as RuleUpdateResponsesSinglePage,
RuleListResponsesSinglePage as RuleListResponsesSinglePage,
type RuleUpdateParams as RuleUpdateParams,
type RuleListParams as RuleListParams,
};
}