Skip to content

Commit e9e03b8

Browse files
authored
feat(serverless_jobs): returns a list of job runs when starting a job definition (#1140)
1 parent cca7945 commit e9e03b8

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
unmarshalJobRun,
1616
unmarshalListJobDefinitionsResponse,
1717
unmarshalListJobRunsResponse,
18+
unmarshalStartJobDefinitionResponse,
1819
} from './marshalling.gen'
1920
import type {
2021
CreateJobDefinitionRequest,
@@ -28,6 +29,7 @@ import type {
2829
ListJobRunsRequest,
2930
ListJobRunsResponse,
3031
StartJobDefinitionRequest,
32+
StartJobDefinitionResponse,
3133
StopJobRunRequest,
3234
UpdateJobDefinitionRequest,
3335
} from './types.gen'
@@ -168,10 +170,10 @@ export class API extends ParentAPI {
168170
* new job run.
169171
*
170172
* @param request - The request {@link StartJobDefinitionRequest}
171-
* @returns A Promise of JobRun
173+
* @returns A Promise of StartJobDefinitionResponse
172174
*/
173175
startJobDefinition = (request: Readonly<StartJobDefinitionRequest>) =>
174-
this.client.fetch<JobRun>(
176+
this.client.fetch<StartJobDefinitionResponse>(
175177
{
176178
body: JSON.stringify(
177179
marshalStartJobDefinitionRequest(request, this.client.settings),
@@ -186,7 +188,7 @@ export class API extends ParentAPI {
186188
request.jobDefinitionId,
187189
)}/start`,
188190
},
189-
unmarshalJobRun,
191+
unmarshalStartJobDefinitionResponse,
190192
)
191193

192194
/**

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export type {
1919
ListJobRunsRequestOrderBy,
2020
ListJobRunsResponse,
2121
StartJobDefinitionRequest,
22+
StartJobDefinitionResponse,
2223
StopJobRunRequest,
2324
UpdateJobDefinitionRequest,
2425
UpdateJobDefinitionRequestCronScheduleConfig,

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import type {
1616
ListJobDefinitionsResponse,
1717
ListJobRunsResponse,
1818
StartJobDefinitionRequest,
19+
StartJobDefinitionResponse,
1920
UpdateJobDefinitionRequest,
2021
UpdateJobDefinitionRequestCronScheduleConfig,
2122
} from './types.gen'
@@ -118,6 +119,20 @@ export const unmarshalListJobRunsResponse = (
118119
} as ListJobRunsResponse
119120
}
120121

122+
export const unmarshalStartJobDefinitionResponse = (
123+
data: unknown,
124+
): StartJobDefinitionResponse => {
125+
if (!isJSONObject(data)) {
126+
throw new TypeError(
127+
`Unmarshalling the type 'StartJobDefinitionResponse' failed as data isn't a dictionary.`,
128+
)
129+
}
130+
131+
return {
132+
jobRuns: unmarshalArrayOfObject(data.job_runs, unmarshalJobRun),
133+
} as StartJobDefinitionResponse
134+
}
135+
121136
const marshalCreateJobDefinitionRequestCronScheduleConfig = (
122137
request: CreateJobDefinitionRequestCronScheduleConfig,
123138
defaults: DefaultValues,

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export type JobRunState =
1010
| 'succeeded'
1111
| 'failed'
1212
| 'canceled'
13+
| 'internal_error'
1314

1415
export type ListJobDefinitionsRequestOrderBy =
1516
| 'created_at_asc'
@@ -182,6 +183,10 @@ export type StartJobDefinitionRequest = {
182183
replicas?: number
183184
}
184185

186+
export interface StartJobDefinitionResponse {
187+
jobRuns: JobRun[]
188+
}
189+
185190
export type StopJobRunRequest = {
186191
/**
187192
* Region to target. If none is passed will use default region from the

packages/clients/src/api/jobs/v1alpha1/validation-rules.gen.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ export const ListJobRunsRequest = {
5959
},
6060
}
6161

62+
export const StartJobDefinitionRequest = {
63+
replicas: {
64+
greaterThan: 0,
65+
},
66+
}
67+
6268
export const UpdateJobDefinitionRequest = {
6369
cpuLimit: {
6470
greaterThan: 0,

0 commit comments

Comments
 (0)