Skip to content

Commit afd9da8

Browse files
authored
Merge branch 'main' into v1.5553.0
2 parents c4ce82b + 4f6f981 commit afd9da8

File tree

4 files changed

+291
-0
lines changed

4 files changed

+291
-0
lines changed

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

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,45 @@ import {
99
import type { Region } from '../../../bridge'
1010
import {
1111
marshalCreateJobDefinitionRequest,
12+
marshalCreateJobDefinitionSecretsRequest,
1213
marshalStartJobDefinitionRequest,
1314
marshalUpdateJobDefinitionRequest,
15+
marshalUpdateJobDefinitionSecretRequest,
16+
unmarshalCreateJobDefinitionSecretsResponse,
1417
unmarshalJobDefinition,
1518
unmarshalJobRun,
19+
unmarshalListJobDefinitionSecretsResponse,
1620
unmarshalListJobDefinitionsResponse,
1721
unmarshalListJobRunsResponse,
1822
unmarshalListJobsResourcesResponse,
23+
unmarshalSecret,
1924
unmarshalStartJobDefinitionResponse,
2025
} from './marshalling.gen'
2126
import type {
2227
CreateJobDefinitionRequest,
28+
CreateJobDefinitionSecretsRequest,
29+
CreateJobDefinitionSecretsResponse,
2330
DeleteJobDefinitionRequest,
31+
DeleteJobDefinitionSecretRequest,
2432
GetJobDefinitionRequest,
33+
GetJobDefinitionSecretRequest,
2534
GetJobRunRequest,
2635
JobDefinition,
2736
JobRun,
37+
ListJobDefinitionSecretsRequest,
38+
ListJobDefinitionSecretsResponse,
2839
ListJobDefinitionsRequest,
2940
ListJobDefinitionsResponse,
3041
ListJobRunsRequest,
3142
ListJobRunsResponse,
3243
ListJobsResourcesRequest,
3344
ListJobsResourcesResponse,
45+
Secret,
3446
StartJobDefinitionRequest,
3547
StartJobDefinitionResponse,
3648
StopJobRunRequest,
3749
UpdateJobDefinitionRequest,
50+
UpdateJobDefinitionSecretRequest,
3851
} from './types.gen'
3952

4053
const jsonContentHeaders = {
@@ -169,6 +182,70 @@ export class API extends ParentAPI {
169182
unmarshalStartJobDefinitionResponse,
170183
)
171184

185+
createJobDefinitionSecrets = (
186+
request: Readonly<CreateJobDefinitionSecretsRequest>,
187+
) =>
188+
this.client.fetch<CreateJobDefinitionSecretsResponse>(
189+
{
190+
body: JSON.stringify(
191+
marshalCreateJobDefinitionSecretsRequest(
192+
request,
193+
this.client.settings,
194+
),
195+
),
196+
headers: jsonContentHeaders,
197+
method: 'POST',
198+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam('jobDefinitionId', request.jobDefinitionId)}/secrets`,
199+
},
200+
unmarshalCreateJobDefinitionSecretsResponse,
201+
)
202+
203+
getJobDefinitionSecret = (request: Readonly<GetJobDefinitionSecretRequest>) =>
204+
this.client.fetch<Secret>(
205+
{
206+
method: 'GET',
207+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam('jobDefinitionId', request.jobDefinitionId)}/secrets/${validatePathParam('secretId', request.secretId)}`,
208+
},
209+
unmarshalSecret,
210+
)
211+
212+
listJobDefinitionSecrets = (
213+
request: Readonly<ListJobDefinitionSecretsRequest>,
214+
) =>
215+
this.client.fetch<ListJobDefinitionSecretsResponse>(
216+
{
217+
method: 'GET',
218+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam('jobDefinitionId', request.jobDefinitionId)}/secrets`,
219+
},
220+
unmarshalListJobDefinitionSecretsResponse,
221+
)
222+
223+
updateJobDefinitionSecret = (
224+
request: Readonly<UpdateJobDefinitionSecretRequest>,
225+
) =>
226+
this.client.fetch<Secret>(
227+
{
228+
body: JSON.stringify(
229+
marshalUpdateJobDefinitionSecretRequest(
230+
request,
231+
this.client.settings,
232+
),
233+
),
234+
headers: jsonContentHeaders,
235+
method: 'PATCH',
236+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam('jobDefinitionId', request.jobDefinitionId)}/secrets/${validatePathParam('secretId', request.secretId)}`,
237+
},
238+
unmarshalSecret,
239+
)
240+
241+
deleteJobDefinitionSecret = (
242+
request: Readonly<DeleteJobDefinitionSecretRequest>,
243+
) =>
244+
this.client.fetch<void>({
245+
method: 'DELETE',
246+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam('jobDefinitionId', request.jobDefinitionId)}/secrets/${validatePathParam('secretId', request.secretId)}`,
247+
})
248+
172249
/**
173250
* Get a job run by its unique identifier.
174251
*

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

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,75 @@
33
import randomName from '@scaleway/random-name'
44
import {
55
isJSONObject,
6+
resolveOneOf,
67
unmarshalArrayOfObject,
78
unmarshalDate,
89
} from '../../../bridge'
910
import type { DefaultValues } from '../../../bridge'
1011
import type {
1112
CreateJobDefinitionRequest,
1213
CreateJobDefinitionRequestCronScheduleConfig,
14+
CreateJobDefinitionSecretsRequest,
15+
CreateJobDefinitionSecretsRequestSecretConfig,
16+
CreateJobDefinitionSecretsResponse,
1317
CronSchedule,
1418
JobDefinition,
1519
JobRun,
20+
ListJobDefinitionSecretsResponse,
1621
ListJobDefinitionsResponse,
1722
ListJobRunsResponse,
1823
ListJobsResourcesResponse,
1924
Resource,
25+
Secret,
26+
SecretEnvVar,
27+
SecretFile,
2028
StartJobDefinitionRequest,
2129
StartJobDefinitionResponse,
2230
UpdateJobDefinitionRequest,
2331
UpdateJobDefinitionRequestCronScheduleConfig,
32+
UpdateJobDefinitionSecretRequest,
2433
} from './types.gen'
2534

35+
const unmarshalSecretEnvVar = (data: unknown): SecretEnvVar => {
36+
if (!isJSONObject(data)) {
37+
throw new TypeError(
38+
`Unmarshalling the type 'SecretEnvVar' failed as data isn't a dictionary.`,
39+
)
40+
}
41+
42+
return {
43+
name: data.name,
44+
} as SecretEnvVar
45+
}
46+
47+
const unmarshalSecretFile = (data: unknown): SecretFile => {
48+
if (!isJSONObject(data)) {
49+
throw new TypeError(
50+
`Unmarshalling the type 'SecretFile' failed as data isn't a dictionary.`,
51+
)
52+
}
53+
54+
return {
55+
path: data.path,
56+
} as SecretFile
57+
}
58+
59+
export const unmarshalSecret = (data: unknown): Secret => {
60+
if (!isJSONObject(data)) {
61+
throw new TypeError(
62+
`Unmarshalling the type 'Secret' failed as data isn't a dictionary.`,
63+
)
64+
}
65+
66+
return {
67+
envVar: data.env_var ? unmarshalSecretEnvVar(data.env_var) : undefined,
68+
file: data.file ? unmarshalSecretFile(data.file) : undefined,
69+
secretId: data.secret_id,
70+
secretManagerId: data.secret_manager_id,
71+
secretManagerVersion: data.secret_manager_version,
72+
} as Secret
73+
}
74+
2675
const unmarshalCronSchedule = (data: unknown): CronSchedule => {
2776
if (!isJSONObject(data)) {
2877
throw new TypeError(
@@ -91,6 +140,35 @@ export const unmarshalJobRun = (data: unknown): JobRun => {
91140
} as JobRun
92141
}
93142

143+
export const unmarshalCreateJobDefinitionSecretsResponse = (
144+
data: unknown,
145+
): CreateJobDefinitionSecretsResponse => {
146+
if (!isJSONObject(data)) {
147+
throw new TypeError(
148+
`Unmarshalling the type 'CreateJobDefinitionSecretsResponse' failed as data isn't a dictionary.`,
149+
)
150+
}
151+
152+
return {
153+
secrets: unmarshalArrayOfObject(data.secrets, unmarshalSecret),
154+
} as CreateJobDefinitionSecretsResponse
155+
}
156+
157+
export const unmarshalListJobDefinitionSecretsResponse = (
158+
data: unknown,
159+
): ListJobDefinitionSecretsResponse => {
160+
if (!isJSONObject(data)) {
161+
throw new TypeError(
162+
`Unmarshalling the type 'ListJobDefinitionSecretsResponse' failed as data isn't a dictionary.`,
163+
)
164+
}
165+
166+
return {
167+
secrets: unmarshalArrayOfObject(data.secrets, unmarshalSecret),
168+
totalCount: data.total_count,
169+
} as ListJobDefinitionSecretsResponse
170+
}
171+
94172
export const unmarshalListJobDefinitionsResponse = (
95173
data: unknown,
96174
): ListJobDefinitionsResponse => {
@@ -199,6 +277,27 @@ export const marshalCreateJobDefinitionRequest = (
199277
project_id: request.projectId ?? defaults.defaultProjectId,
200278
})
201279

280+
const marshalCreateJobDefinitionSecretsRequestSecretConfig = (
281+
request: CreateJobDefinitionSecretsRequestSecretConfig,
282+
defaults: DefaultValues,
283+
): Record<string, unknown> => ({
284+
secret_manager_id: request.secretManagerId,
285+
secret_manager_version: request.secretManagerVersion,
286+
...resolveOneOf([
287+
{ param: 'path', value: request.path },
288+
{ param: 'env_var_name', value: request.envVarName },
289+
]),
290+
})
291+
292+
export const marshalCreateJobDefinitionSecretsRequest = (
293+
request: CreateJobDefinitionSecretsRequest,
294+
defaults: DefaultValues,
295+
): Record<string, unknown> => ({
296+
secrets: request.secrets.map(elt =>
297+
marshalCreateJobDefinitionSecretsRequestSecretConfig(elt, defaults),
298+
),
299+
})
300+
202301
export const marshalStartJobDefinitionRequest = (
203302
request: StartJobDefinitionRequest,
204303
defaults: DefaultValues,
@@ -237,3 +336,14 @@ export const marshalUpdateJobDefinitionRequest = (
237336
memory_limit: request.memoryLimit,
238337
name: request.name,
239338
})
339+
340+
export const marshalUpdateJobDefinitionSecretRequest = (
341+
request: UpdateJobDefinitionSecretRequest,
342+
defaults: DefaultValues,
343+
): Record<string, unknown> => ({
344+
secret_manager_version: request.secretManagerVersion,
345+
...resolveOneOf([
346+
{ param: 'path', value: request.path },
347+
{ param: 'env_var_name', value: request.envVarName },
348+
]),
349+
})

0 commit comments

Comments
 (0)