type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Create project
* Create a new project.
*/
export async function main(
auth: Cloudflare,
account_identifier: string,
body: {
build_config?: {
build_caching?: boolean;
build_command?: string;
destination_dir?: string;
root_dir?: string;
web_analytics_tag?: string;
web_analytics_token?: string;
[k: string]: unknown;
};
canonical_deployment?: {
aliases?: unknown[];
build_config?: { [k: string]: unknown };
created_on?: string;
deployment_trigger?: {
metadata?: {
branch?: string;
commit_hash?: string;
commit_message?: string;
[k: string]: unknown;
};
type?: string;
[k: string]: unknown;
};
env_vars?: { [k: string]: unknown };
environment?: string;
id?: string;
is_skipped?: boolean;
latest_stage?: { [k: string]: unknown };
modified_on?: string;
project_id?: string;
project_name?: string;
short_id?: string;
source?: { [k: string]: unknown };
stages?: {
ended_on?: string;
name?: string;
started_on?: string;
status?: string;
[k: string]: unknown;
}[];
url?: string;
[k: string]: unknown;
};
created_on?: string;
deployment_configs?: {
preview?: {
ai_bindings?: {
AI_BINDING?: { project_id?: unknown; [k: string]: unknown };
[k: string]: unknown;
};
analytics_engine_datasets?: {
ANALYTICS_ENGINE_BINDING?: { dataset?: string; [k: string]: unknown };
[k: string]: unknown;
};
compatibility_date?: string;
compatibility_flags?: unknown[];
d1_databases?: {
D1_BINDING?: { id?: string; [k: string]: unknown };
[k: string]: unknown;
};
durable_object_namespaces?: {
DO_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
env_vars?: {
ENVIRONMENT_VARIABLE?: {
type?: "plain_text" | "secret_text";
value?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
kv_namespaces?: {
KV_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
placement?: { mode?: string; [k: string]: unknown };
queue_producers?: {
QUEUE_PRODUCER_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
r2_buckets?: {
R2_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
service_bindings?: {
SERVICE_BINDING?: {
environment?: string;
service?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
production?: {
ai_bindings?: {
AI_BINDING?: { project_id?: unknown; [k: string]: unknown };
[k: string]: unknown;
};
analytics_engine_datasets?: {
ANALYTICS_ENGINE_BINDING?: { dataset?: string; [k: string]: unknown };
[k: string]: unknown;
};
compatibility_date?: string;
compatibility_flags?: unknown[];
d1_databases?: {
D1_BINDING?: { id?: string; [k: string]: unknown };
[k: string]: unknown;
};
durable_object_namespaces?: {
DO_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
env_vars?: {
ENVIRONMENT_VARIABLE?: {
type?: "plain_text" | "secret_text";
value?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
kv_namespaces?: {
KV_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
placement?: { mode?: string; [k: string]: unknown };
queue_producers?: {
QUEUE_PRODUCER_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
r2_buckets?: {
R2_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
service_bindings?: {
SERVICE_BINDING?: {
environment?: string;
service?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
domains?: unknown[];
id?: string;
latest_deployment?: {
aliases?: unknown[];
build_config?: { [k: string]: unknown };
created_on?: string;
deployment_trigger?: {
metadata?: {
branch?: string;
commit_hash?: string;
commit_message?: string;
[k: string]: unknown;
};
type?: string;
[k: string]: unknown;
};
env_vars?: { [k: string]: unknown };
environment?: string;
id?: string;
is_skipped?: boolean;
latest_stage?: { [k: string]: unknown };
modified_on?: string;
project_id?: string;
project_name?: string;
short_id?: string;
source?: { [k: string]: unknown };
stages?: {
ended_on?: string;
name?: string;
started_on?: string;
status?: string;
[k: string]: unknown;
}[];
url?: string;
[k: string]: unknown;
};
name?: string;
production_branch?: string;
source?: { [k: string]: unknown };
subdomain?: string;
[k: string]: unknown;
}
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/accounts/${account_identifier}/pages/projects`
);
const response = await fetch(url, {
method: "POST",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
"Content-Type": "application/json",
Authorization: "Bearer " + auth.token,
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 383 days ago
type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Create project
* Create a new project.
*/
export async function main(
auth: Cloudflare,
account_identifier: string,
body: {
build_config?: {
build_caching?: boolean;
build_command?: string;
destination_dir?: string;
root_dir?: string;
web_analytics_tag?: string;
web_analytics_token?: string;
[k: string]: unknown;
};
canonical_deployment?: {
aliases?: unknown[];
build_config?: { [k: string]: unknown };
created_on?: string;
deployment_trigger?: {
metadata?: {
branch?: string;
commit_hash?: string;
commit_message?: string;
[k: string]: unknown;
};
type?: string;
[k: string]: unknown;
};
env_vars?: { [k: string]: unknown };
environment?: string;
id?: string;
is_skipped?: boolean;
latest_stage?: { [k: string]: unknown };
modified_on?: string;
project_id?: string;
project_name?: string;
short_id?: string;
source?: { [k: string]: unknown };
stages?: {
ended_on?: string;
name?: string;
started_on?: string;
status?: string;
[k: string]: unknown;
}[];
url?: string;
[k: string]: unknown;
};
created_on?: string;
deployment_configs?: {
preview?: {
ai_bindings?: {
AI_BINDING?: { project_id?: unknown; [k: string]: unknown };
[k: string]: unknown;
};
analytics_engine_datasets?: {
ANALYTICS_ENGINE_BINDING?: { dataset?: string; [k: string]: unknown };
[k: string]: unknown;
};
compatibility_date?: string;
compatibility_flags?: unknown[];
d1_databases?: {
D1_BINDING?: { id?: string; [k: string]: unknown };
[k: string]: unknown;
};
durable_object_namespaces?: {
DO_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
env_vars?: {
ENVIRONMENT_VARIABLE?: {
type?: "plain_text" | "secret_text";
value?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
kv_namespaces?: {
KV_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
placement?: { mode?: string; [k: string]: unknown };
queue_producers?: {
QUEUE_PRODUCER_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
r2_buckets?: {
R2_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
service_bindings?: {
SERVICE_BINDING?: {
environment?: string;
service?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
production?: {
ai_bindings?: {
AI_BINDING?: { project_id?: unknown; [k: string]: unknown };
[k: string]: unknown;
};
analytics_engine_datasets?: {
ANALYTICS_ENGINE_BINDING?: { dataset?: string; [k: string]: unknown };
[k: string]: unknown;
};
compatibility_date?: string;
compatibility_flags?: unknown[];
d1_databases?: {
D1_BINDING?: { id?: string; [k: string]: unknown };
[k: string]: unknown;
};
durable_object_namespaces?: {
DO_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
env_vars?: {
ENVIRONMENT_VARIABLE?: {
type?: "plain_text" | "secret_text";
value?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
kv_namespaces?: {
KV_BINDING?: { namespace_id?: string; [k: string]: unknown };
[k: string]: unknown;
};
placement?: { mode?: string; [k: string]: unknown };
queue_producers?: {
QUEUE_PRODUCER_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
r2_buckets?: {
R2_BINDING?: { name?: string; [k: string]: unknown };
[k: string]: unknown;
};
service_bindings?: {
SERVICE_BINDING?: {
environment?: string;
service?: string;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
};
domains?: unknown[];
id?: string;
latest_deployment?: {
aliases?: unknown[];
build_config?: { [k: string]: unknown };
created_on?: string;
deployment_trigger?: {
metadata?: {
branch?: string;
commit_hash?: string;
commit_message?: string;
[k: string]: unknown;
};
type?: string;
[k: string]: unknown;
};
env_vars?: { [k: string]: unknown };
environment?: string;
id?: string;
is_skipped?: boolean;
latest_stage?: { [k: string]: unknown };
modified_on?: string;
project_id?: string;
project_name?: string;
short_id?: string;
source?: { [k: string]: unknown };
stages?: {
ended_on?: string;
name?: string;
started_on?: string;
status?: string;
[k: string]: unknown;
}[];
url?: string;
[k: string]: unknown;
};
name?: string;
production_branch?: string;
source?: { [k: string]: unknown };
subdomain?: string;
[k: string]: unknown;
}
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/accounts/${account_identifier}/pages/projects`
);
const response = await fetch(url, {
method: "POST",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
"Content-Type": "application/json",
Authorization: "Bearer " + auth.token,
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 920 days ago