Skip to content

Commit 4315f18

Browse files
authored
feat(serverless_jobs): add run options when starting a job (#1102)
1 parent 828812f commit 4315f18

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

packages/clients/src/api/jobs/v1alpha1/api.gen.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import type { Region } from '../../../bridge'
1010
import {
1111
marshalCreateJobDefinitionRequest,
12+
marshalStartJobDefinitionRequest,
1213
marshalUpdateJobDefinitionRequest,
1314
unmarshalJobDefinition,
1415
unmarshalJobRun,
@@ -172,7 +173,9 @@ export class API extends ParentAPI {
172173
startJobDefinition = (request: Readonly<StartJobDefinitionRequest>) =>
173174
this.client.fetch<JobRun>(
174175
{
175-
body: '{}',
176+
body: JSON.stringify(
177+
marshalStartJobDefinitionRequest(request, this.client.settings),
178+
),
176179
headers: jsonContentHeaders,
177180
method: 'POST',
178181
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam(

packages/clients/src/api/jobs/v1alpha1/marshalling.gen.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import type {
1515
JobRun,
1616
ListJobDefinitionsResponse,
1717
ListJobRunsResponse,
18+
StartJobDefinitionRequest,
1819
UpdateJobDefinitionRequest,
1920
UpdateJobDefinitionRequestCronScheduleConfig,
2021
} from './types.gen'
@@ -67,8 +68,10 @@ export const unmarshalJobRun = (data: unknown): JobRun => {
6768
}
6869

6970
return {
71+
command: data.command,
7072
cpuLimit: data.cpu_limit,
7173
createdAt: unmarshalDate(data.created_at),
74+
environmentVariables: data.environment_variables,
7275
errorMessage: data.error_message,
7376
exitCode: data.exit_code,
7477
id: data.id,
@@ -148,6 +151,15 @@ export const marshalCreateJobDefinitionRequest = (
148151
project_id: request.projectId ?? defaults.defaultProjectId,
149152
})
150153

154+
export const marshalStartJobDefinitionRequest = (
155+
request: StartJobDefinitionRequest,
156+
defaults: DefaultValues,
157+
): Record<string, unknown> => ({
158+
command: request.command,
159+
environment_variables: request.environmentVariables,
160+
replicas: request.replicas,
161+
})
162+
151163
const marshalUpdateJobDefinitionRequestCronScheduleConfig = (
152164
request: UpdateJobDefinitionRequestCronScheduleConfig,
153165
defaults: DefaultValues,

packages/clients/src/api/jobs/v1alpha1/types.gen.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ export interface JobRun {
6060
errorMessage: string
6161
cpuLimit: number
6262
memoryLimit: number
63+
command: string
64+
environmentVariables: Record<string, string>
6365
/**
6466
* Region to target. If none is passed will use default region from the
6567
* config.
@@ -172,6 +174,12 @@ export type StartJobDefinitionRequest = {
172174
region?: Region
173175
/** UUID of the job definition to start. */
174176
jobDefinitionId: string
177+
/** Contextual startup command for this specific job run. */
178+
command?: string
179+
/** Contextual environment variables for this specific job run. */
180+
environmentVariables?: Record<string, string>
181+
/** Number of jobs to run. */
182+
replicas?: number
175183
}
176184

177185
export type StopJobRunRequest = {

0 commit comments

Comments
 (0)