Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 1674
configured_endpoints: 1680
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-c1d5a5de857e17537da2b8aa54807eceb5f5fb6c72004b855ca7820c354edcbe.yml
openapi_spec_hash: 29e4a4992eb93b90bc5fa7452f684c2a
config_hash: 3fe4ecf1144e6b4732e2888957c2c22e
config_hash: 94dbe34a71cea39e805dcaf50b693e42
18 changes: 18 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4353,16 +4353,34 @@ Types:

- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobCreateResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobListResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobAbortResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobAbortAllResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobGetResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobPauseResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobProgressResponse</a></code>
- <code><a href="./src/resources/r2/super-slurper/jobs/jobs.ts">JobResumeResponse</a></code>

Methods:

- <code title="post /accounts/{account_id}/slurper/jobs">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">create</a>({ ...params }) -> JobCreateResponse</code>
- <code title="get /accounts/{account_id}/slurper/jobs">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">list</a>({ ...params }) -> JobListResponsesSinglePage</code>
- <code title="put /accounts/{account_id}/slurper/jobs/{job_id}/abort">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">abort</a>(jobId, { ...params }) -> JobAbortResponse</code>
- <code title="put /accounts/{account_id}/slurper/jobs/abortAll">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">abortAll</a>({ ...params }) -> JobAbortAllResponse</code>
- <code title="get /accounts/{account_id}/slurper/jobs/{job_id}">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">get</a>(jobId, { ...params }) -> JobGetResponse</code>
- <code title="put /accounts/{account_id}/slurper/jobs/{job_id}/pause">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">pause</a>(jobId, { ...params }) -> JobPauseResponse</code>
- <code title="get /accounts/{account_id}/slurper/jobs/{job_id}/progress">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">progress</a>(jobId, { ...params }) -> JobProgressResponse</code>
- <code title="put /accounts/{account_id}/slurper/jobs/{job_id}/resume">client.r2.superSlurper.jobs.<a href="./src/resources/r2/super-slurper/jobs/jobs.ts">resume</a>(jobId, { ...params }) -> JobResumeResponse</code>

#### Logs

Types:

- <code><a href="./src/resources/r2/super-slurper/jobs/logs.ts">LogListResponse</a></code>

Methods:

- <code title="get /accounts/{account_id}/slurper/jobs/{job_id}/logs">client.r2.superSlurper.jobs.logs.<a href="./src/resources/r2/super-slurper/jobs/logs.ts">list</a>(jobId, { ...params }) -> LogListResponsesSinglePage</code>

### ConnectivityPrecheck

Types:
Expand Down
10 changes: 10 additions & 0 deletions src/resources/r2/super-slurper/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,19 @@ export {
Jobs,
type JobCreateResponse,
type JobListResponse,
type JobAbortResponse,
type JobAbortAllResponse,
type JobGetResponse,
type JobPauseResponse,
type JobProgressResponse,
type JobResumeResponse,
type JobCreateParams,
type JobListParams,
type JobAbortParams,
type JobAbortAllParams,
type JobGetParams,
type JobPauseParams,
type JobProgressParams,
type JobResumeParams,
} from './jobs/index';
export { SuperSlurper } from './super-slurper';
12 changes: 11 additions & 1 deletion src/resources/r2/super-slurper/jobs/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,19 @@ export {
Jobs,
type JobCreateResponse,
type JobListResponse,
type JobAbortResponse,
type JobAbortAllResponse,
type JobGetResponse,
type JobPauseResponse,
type JobProgressResponse,
type JobResumeResponse,
type JobCreateParams,
type JobListParams,
type JobAbortParams,
type JobAbortAllParams,
type JobGetParams,
type JobPauseParams,
type JobProgressParams,
type JobResumeParams,
} from './jobs';
export { Logs } from './logs';
export { LogListResponsesSinglePage, Logs, type LogListResponse, type LogListParams } from './logs';
195 changes: 193 additions & 2 deletions src/resources/r2/super-slurper/jobs/jobs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { APIResource } from '../../../../resource';
import * as Core from '../../../../core';
import * as SippyAPI from '../../buckets/sippy';
import * as LogsAPI from './logs';
import { Logs } from './logs';
import { LogListParams, LogListResponse, LogListResponsesSinglePage, Logs } from './logs';
import { SinglePage } from '../../../../pagination';

export class Jobs extends APIResource {
Expand Down Expand Up @@ -36,6 +36,22 @@ export class Jobs extends APIResource {
});
}

/**
* Abort a job
*/
abort(
jobId: string,
params: JobAbortParams,
options?: Core.RequestOptions,
): Core.APIPromise<JobAbortResponse> {
const { account_id } = params;
return (
this._client.put(`/accounts/${account_id}/slurper/jobs/${jobId}/abort`, options) as Core.APIPromise<{
result: JobAbortResponse;
}>
)._thenUnwrap((obj) => obj.result);
}

/**
* Abort all jobs
*/
Expand All @@ -47,6 +63,66 @@ export class Jobs extends APIResource {
}>
)._thenUnwrap((obj) => obj.result);
}

/**
* Get job details
*/
get(jobId: string, params: JobGetParams, options?: Core.RequestOptions): Core.APIPromise<JobGetResponse> {
const { account_id } = params;
return (
this._client.get(`/accounts/${account_id}/slurper/jobs/${jobId}`, options) as Core.APIPromise<{
result: JobGetResponse;
}>
)._thenUnwrap((obj) => obj.result);
}

/**
* Pause a job
*/
pause(
jobId: string,
params: JobPauseParams,
options?: Core.RequestOptions,
): Core.APIPromise<JobPauseResponse> {
const { account_id } = params;
return (
this._client.put(`/accounts/${account_id}/slurper/jobs/${jobId}/pause`, options) as Core.APIPromise<{
result: JobPauseResponse;
}>
)._thenUnwrap((obj) => obj.result);
}

/**
* Get job progress
*/
progress(
jobId: string,
params: JobProgressParams,
options?: Core.RequestOptions,
): Core.APIPromise<JobProgressResponse> {
const { account_id } = params;
return (
this._client.get(`/accounts/${account_id}/slurper/jobs/${jobId}/progress`, options) as Core.APIPromise<{
result: JobProgressResponse;
}>
)._thenUnwrap((obj) => obj.result);
}

/**
* Resume a job
*/
resume(
jobId: string,
params: JobResumeParams,
options?: Core.RequestOptions,
): Core.APIPromise<JobResumeResponse> {
const { account_id } = params;
return (
this._client.put(`/accounts/${account_id}/slurper/jobs/${jobId}/resume`, options) as Core.APIPromise<{
result: JobResumeResponse;
}>
)._thenUnwrap((obj) => obj.result);
}
}

export class JobListResponsesSinglePage extends SinglePage<JobListResponse> {}
Expand Down Expand Up @@ -112,8 +188,87 @@ export namespace JobListResponse {
}
}

export type JobAbortResponse = string;

export type JobAbortAllResponse = string;

export interface JobGetResponse {
id?: string;

createdAt?: string;

finishedAt?: string | null;

overwrite?: boolean;

source?:
| JobGetResponse.S3SourceResponseSchema
| JobGetResponse.GcsSourceResponseSchema
| JobGetResponse.R2SourceResponseSchema;

status?: 'running' | 'paused' | 'aborted' | 'completed';

target?: JobGetResponse.Target;
}

export namespace JobGetResponse {
export interface S3SourceResponseSchema {
bucket?: string;

endpoint?: string | null;

pathPrefix?: string | null;

vendor?: 's3';
}

export interface GcsSourceResponseSchema {
bucket?: string;

pathPrefix?: string | null;

vendor?: 'gcs';
}

export interface R2SourceResponseSchema {
bucket?: string;

jurisdiction?: 'default' | 'eu' | 'fedramp';

pathPrefix?: string | null;

vendor?: SippyAPI.Provider;
}

export interface Target {
bucket?: string;

jurisdiction?: 'default' | 'eu' | 'fedramp';

vendor?: SippyAPI.Provider;
}
}

export type JobPauseResponse = string;

export interface JobProgressResponse {
id?: string;

createdAt?: string;

failedObjects?: number;

objects?: number;

skippedObjects?: number;

status?: 'running' | 'paused' | 'aborted' | 'completed';

transferredObjects?: number;
}

export type JobResumeResponse = string;

export interface JobCreateParams {
/**
* Path param:
Expand Down Expand Up @@ -228,23 +383,59 @@ export interface JobListParams {
offset?: number;
}

export interface JobAbortParams {
account_id: string;
}

export interface JobAbortAllParams {
account_id: string;
}

export interface JobGetParams {
account_id: string;
}

export interface JobPauseParams {
account_id: string;
}

export interface JobProgressParams {
account_id: string;
}

export interface JobResumeParams {
account_id: string;
}

Jobs.JobListResponsesSinglePage = JobListResponsesSinglePage;
Jobs.Logs = Logs;
Jobs.LogListResponsesSinglePage = LogListResponsesSinglePage;

export declare namespace Jobs {
export {
type JobCreateResponse as JobCreateResponse,
type JobListResponse as JobListResponse,
type JobAbortResponse as JobAbortResponse,
type JobAbortAllResponse as JobAbortAllResponse,
type JobGetResponse as JobGetResponse,
type JobPauseResponse as JobPauseResponse,
type JobProgressResponse as JobProgressResponse,
type JobResumeResponse as JobResumeResponse,
JobListResponsesSinglePage as JobListResponsesSinglePage,
type JobCreateParams as JobCreateParams,
type JobListParams as JobListParams,
type JobAbortParams as JobAbortParams,
type JobAbortAllParams as JobAbortAllParams,
type JobGetParams as JobGetParams,
type JobPauseParams as JobPauseParams,
type JobProgressParams as JobProgressParams,
type JobResumeParams as JobResumeParams,
};

export { Logs as Logs };
export {
Logs as Logs,
type LogListResponse as LogListResponse,
LogListResponsesSinglePage as LogListResponsesSinglePage,
type LogListParams as LogListParams,
};
}
Loading