@scaleway/sdk-jobs 2.2.1 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/v1alpha1/api.gen.js +22 -30
- package/dist/v1alpha1/index.gen.d.ts +1 -1
- package/dist/v1alpha1/marshalling.gen.js +20 -17
- package/dist/v1alpha2/api.gen.js +23 -23
- package/dist/v1alpha2/content.gen.js +2 -1
- package/dist/v1alpha2/index.gen.d.ts +2 -2
- package/dist/v1alpha2/marshalling.gen.js +37 -17
- package/dist/v1alpha2/types.gen.d.ts +21 -2
- package/dist/v1alpha2/validation-rules.gen.d.ts +5 -0
- package/dist/v1alpha2/validation-rules.gen.js +6 -0
- package/package.json +2 -2
package/dist/v1alpha1/api.gen.js
CHANGED
|
@@ -9,7 +9,11 @@ class API extends API$1 {
|
|
|
9
9
|
* type ∈ {'zone','region','global','unspecified'}
|
|
10
10
|
*/
|
|
11
11
|
static LOCALITY = toApiLocality({
|
|
12
|
-
regions: [
|
|
12
|
+
regions: [
|
|
13
|
+
"fr-par",
|
|
14
|
+
"nl-ams",
|
|
15
|
+
"pl-waw"
|
|
16
|
+
]
|
|
13
17
|
});
|
|
14
18
|
/**
|
|
15
19
|
* Create a new job definition in a specified Project.
|
|
@@ -49,10 +53,7 @@ class API extends API$1 {
|
|
|
49
53
|
["order_by", request.orderBy],
|
|
50
54
|
["organization_id", request.organizationId],
|
|
51
55
|
["page", request.page],
|
|
52
|
-
[
|
|
53
|
-
"page_size",
|
|
54
|
-
request.pageSize ?? this.client.settings.defaultPageSize
|
|
55
|
-
],
|
|
56
|
+
["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
|
|
56
57
|
["project_id", request.projectId]
|
|
57
58
|
)
|
|
58
59
|
},
|
|
@@ -64,11 +65,7 @@ class API extends API$1 {
|
|
|
64
65
|
* @param request - The request {@link ListJobDefinitionsRequest}
|
|
65
66
|
* @returns A Promise of ListJobDefinitionsResponse
|
|
66
67
|
*/
|
|
67
|
-
listJobDefinitions = (request = {}) => enrichForPagination(
|
|
68
|
-
"jobDefinitions",
|
|
69
|
-
this.pageOfListJobDefinitions,
|
|
70
|
-
request
|
|
71
|
-
);
|
|
68
|
+
listJobDefinitions = (request = {}) => enrichForPagination("jobDefinitions", this.pageOfListJobDefinitions, request);
|
|
72
69
|
/**
|
|
73
70
|
* Update an existing job definition associated with the specified unique identifier.
|
|
74
71
|
*
|
|
@@ -91,10 +88,12 @@ class API extends API$1 {
|
|
|
91
88
|
*
|
|
92
89
|
* @param request - The request {@link DeleteJobDefinitionRequest}
|
|
93
90
|
*/
|
|
94
|
-
deleteJobDefinition = (request) => this.client.fetch(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
deleteJobDefinition = (request) => this.client.fetch(
|
|
92
|
+
{
|
|
93
|
+
method: "DELETE",
|
|
94
|
+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam("jobDefinitionId", request.jobDefinitionId)}`
|
|
95
|
+
}
|
|
96
|
+
);
|
|
98
97
|
/**
|
|
99
98
|
* Run an existing job definition by its unique identifier. This will create a new job run.
|
|
100
99
|
*
|
|
@@ -121,10 +120,7 @@ class API extends API$1 {
|
|
|
121
120
|
createJobDefinitionSecrets = (request) => this.client.fetch(
|
|
122
121
|
{
|
|
123
122
|
body: JSON.stringify(
|
|
124
|
-
marshalCreateJobDefinitionSecretsRequest(
|
|
125
|
-
request,
|
|
126
|
-
this.client.settings
|
|
127
|
-
)
|
|
123
|
+
marshalCreateJobDefinitionSecretsRequest(request, this.client.settings)
|
|
128
124
|
),
|
|
129
125
|
headers: jsonContentHeaders,
|
|
130
126
|
method: "POST",
|
|
@@ -167,10 +163,7 @@ class API extends API$1 {
|
|
|
167
163
|
updateJobDefinitionSecret = (request) => this.client.fetch(
|
|
168
164
|
{
|
|
169
165
|
body: JSON.stringify(
|
|
170
|
-
marshalUpdateJobDefinitionSecretRequest(
|
|
171
|
-
request,
|
|
172
|
-
this.client.settings
|
|
173
|
-
)
|
|
166
|
+
marshalUpdateJobDefinitionSecretRequest(request, this.client.settings)
|
|
174
167
|
),
|
|
175
168
|
headers: jsonContentHeaders,
|
|
176
169
|
method: "PATCH",
|
|
@@ -183,10 +176,12 @@ class API extends API$1 {
|
|
|
183
176
|
*
|
|
184
177
|
* @param request - The request {@link DeleteJobDefinitionSecretRequest}
|
|
185
178
|
*/
|
|
186
|
-
deleteJobDefinitionSecret = (request) => this.client.fetch(
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
179
|
+
deleteJobDefinitionSecret = (request) => this.client.fetch(
|
|
180
|
+
{
|
|
181
|
+
method: "DELETE",
|
|
182
|
+
path: `/serverless-jobs/v1alpha1/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam("jobDefinitionId", request.jobDefinitionId)}/secrets/${validatePathParam("secretId", request.secretId)}`
|
|
183
|
+
}
|
|
184
|
+
);
|
|
190
185
|
/**
|
|
191
186
|
* Get a job run by its unique identifier.
|
|
192
187
|
*
|
|
@@ -224,10 +219,7 @@ class API extends API$1 {
|
|
|
224
219
|
["order_by", request.orderBy],
|
|
225
220
|
["organization_id", request.organizationId],
|
|
226
221
|
["page", request.page],
|
|
227
|
-
[
|
|
228
|
-
"page_size",
|
|
229
|
-
request.pageSize ?? this.client.settings.defaultPageSize
|
|
230
|
-
],
|
|
222
|
+
["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
|
|
231
223
|
["project_id", request.projectId],
|
|
232
224
|
["state", request.state],
|
|
233
225
|
["states", request.states]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { API } from './api.gen.js';
|
|
1
|
+
export { API, } from './api.gen.js';
|
|
2
2
|
export * from './content.gen.js';
|
|
3
3
|
export * from './marshalling.gen.js';
|
|
4
4
|
export type { CreateJobDefinitionRequest, CreateJobDefinitionRequestCronScheduleConfig, CreateJobDefinitionSecretsRequest, CreateJobDefinitionSecretsRequestSecretConfig, CreateJobDefinitionSecretsResponse, CronSchedule, DeleteJobDefinitionRequest, DeleteJobDefinitionSecretRequest, GetJobDefinitionRequest, GetJobDefinitionSecretRequest, GetJobRunRequest, GetJobsLimitsRequest, JobDefinition, JobRun, JobRunState, JobsLimits, ListJobDefinitionSecretsRequest, ListJobDefinitionSecretsResponse, ListJobDefinitionsRequest, ListJobDefinitionsRequestOrderBy, ListJobDefinitionsResponse, ListJobRunsRequest, ListJobRunsRequestOrderBy, ListJobRunsResponse, ListJobsResourcesRequest, ListJobsResourcesResponse, Resource, Secret, SecretEnvVar, SecretFile, StartJobDefinitionRequest, StartJobDefinitionResponse, StopJobRunRequest, UpdateJobDefinitionRequest, UpdateJobDefinitionRequestCronScheduleConfig, UpdateJobDefinitionSecretRequest, } from './types.gen.js';
|
|
@@ -132,10 +132,7 @@ const unmarshalListJobDefinitionsResponse = (data) => {
|
|
|
132
132
|
);
|
|
133
133
|
}
|
|
134
134
|
return {
|
|
135
|
-
jobDefinitions: unmarshalArrayOfObject(
|
|
136
|
-
data.job_definitions,
|
|
137
|
-
unmarshalJobDefinition
|
|
138
|
-
),
|
|
135
|
+
jobDefinitions: unmarshalArrayOfObject(data.job_definitions, unmarshalJobDefinition),
|
|
139
136
|
totalCount: data.total_count
|
|
140
137
|
};
|
|
141
138
|
};
|
|
@@ -188,9 +185,7 @@ const marshalCreateJobDefinitionRequestCronScheduleConfig = (request, defaults)
|
|
|
188
185
|
const marshalCreateJobDefinitionRequest = (request, defaults) => ({
|
|
189
186
|
command: request.command,
|
|
190
187
|
cpu_limit: request.cpuLimit,
|
|
191
|
-
cron_schedule: request.cronSchedule !== void 0 ? marshalCreateJobDefinitionRequestCronScheduleConfig(
|
|
192
|
-
request.cronSchedule
|
|
193
|
-
) : void 0,
|
|
188
|
+
cron_schedule: request.cronSchedule !== void 0 ? marshalCreateJobDefinitionRequestCronScheduleConfig(request.cronSchedule) : void 0,
|
|
194
189
|
description: request.description,
|
|
195
190
|
environment_variables: request.environmentVariables !== void 0 ? request.environmentVariables : void 0,
|
|
196
191
|
image_uri: request.imageUri,
|
|
@@ -204,14 +199,18 @@ const marshalCreateJobDefinitionSecretsRequestSecretConfig = (request, defaults)
|
|
|
204
199
|
secret_manager_id: request.secretManagerId,
|
|
205
200
|
secret_manager_version: request.secretManagerVersion,
|
|
206
201
|
...resolveOneOf([
|
|
207
|
-
{
|
|
208
|
-
|
|
202
|
+
{
|
|
203
|
+
param: "path",
|
|
204
|
+
value: request.path
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
param: "env_var_name",
|
|
208
|
+
value: request.envVarName
|
|
209
|
+
}
|
|
209
210
|
])
|
|
210
211
|
});
|
|
211
212
|
const marshalCreateJobDefinitionSecretsRequest = (request, defaults) => ({
|
|
212
|
-
secrets: request.secrets.map(
|
|
213
|
-
(elt) => marshalCreateJobDefinitionSecretsRequestSecretConfig(elt)
|
|
214
|
-
)
|
|
213
|
+
secrets: request.secrets.map((elt) => marshalCreateJobDefinitionSecretsRequestSecretConfig(elt))
|
|
215
214
|
});
|
|
216
215
|
const marshalStartJobDefinitionRequest = (request, defaults) => ({
|
|
217
216
|
command: request.command,
|
|
@@ -225,9 +224,7 @@ const marshalUpdateJobDefinitionRequestCronScheduleConfig = (request, defaults)
|
|
|
225
224
|
const marshalUpdateJobDefinitionRequest = (request, defaults) => ({
|
|
226
225
|
command: request.command,
|
|
227
226
|
cpu_limit: request.cpuLimit,
|
|
228
|
-
cron_schedule: request.cronSchedule !== void 0 ? marshalUpdateJobDefinitionRequestCronScheduleConfig(
|
|
229
|
-
request.cronSchedule
|
|
230
|
-
) : void 0,
|
|
227
|
+
cron_schedule: request.cronSchedule !== void 0 ? marshalUpdateJobDefinitionRequestCronScheduleConfig(request.cronSchedule) : void 0,
|
|
231
228
|
description: request.description,
|
|
232
229
|
environment_variables: request.environmentVariables,
|
|
233
230
|
image_uri: request.imageUri,
|
|
@@ -239,8 +236,14 @@ const marshalUpdateJobDefinitionRequest = (request, defaults) => ({
|
|
|
239
236
|
const marshalUpdateJobDefinitionSecretRequest = (request, defaults) => ({
|
|
240
237
|
secret_manager_version: request.secretManagerVersion,
|
|
241
238
|
...resolveOneOf([
|
|
242
|
-
{
|
|
243
|
-
|
|
239
|
+
{
|
|
240
|
+
param: "path",
|
|
241
|
+
value: request.path
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
param: "env_var_name",
|
|
245
|
+
value: request.envVarName
|
|
246
|
+
}
|
|
244
247
|
])
|
|
245
248
|
});
|
|
246
249
|
export {
|
package/dist/v1alpha2/api.gen.js
CHANGED
|
@@ -9,7 +9,11 @@ class API extends API$1 {
|
|
|
9
9
|
* type ∈ {'zone','region','global','unspecified'}
|
|
10
10
|
*/
|
|
11
11
|
static LOCALITY = toApiLocality({
|
|
12
|
-
regions: [
|
|
12
|
+
regions: [
|
|
13
|
+
"fr-par",
|
|
14
|
+
"nl-ams",
|
|
15
|
+
"pl-waw"
|
|
16
|
+
]
|
|
13
17
|
});
|
|
14
18
|
/**
|
|
15
19
|
* Create a new job definition in a specified Project.
|
|
@@ -49,10 +53,7 @@ class API extends API$1 {
|
|
|
49
53
|
["order_by", request.orderBy],
|
|
50
54
|
["organization_id", request.organizationId],
|
|
51
55
|
["page", request.page],
|
|
52
|
-
[
|
|
53
|
-
"page_size",
|
|
54
|
-
request.pageSize ?? this.client.settings.defaultPageSize
|
|
55
|
-
],
|
|
56
|
+
["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
|
|
56
57
|
["project_id", request.projectId]
|
|
57
58
|
)
|
|
58
59
|
},
|
|
@@ -64,11 +65,7 @@ class API extends API$1 {
|
|
|
64
65
|
* @param request - The request {@link ListJobDefinitionsRequest}
|
|
65
66
|
* @returns A Promise of ListJobDefinitionsResponse
|
|
66
67
|
*/
|
|
67
|
-
listJobDefinitions = (request = {}) => enrichForPagination(
|
|
68
|
-
"jobDefinitions",
|
|
69
|
-
this.pageOfListJobDefinitions,
|
|
70
|
-
request
|
|
71
|
-
);
|
|
68
|
+
listJobDefinitions = (request = {}) => enrichForPagination("jobDefinitions", this.pageOfListJobDefinitions, request);
|
|
72
69
|
/**
|
|
73
70
|
* Update an existing job definition associated with the specified unique identifier.
|
|
74
71
|
*
|
|
@@ -91,10 +88,12 @@ class API extends API$1 {
|
|
|
91
88
|
*
|
|
92
89
|
* @param request - The request {@link DeleteJobDefinitionRequest}
|
|
93
90
|
*/
|
|
94
|
-
deleteJobDefinition = (request) => this.client.fetch(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
deleteJobDefinition = (request) => this.client.fetch(
|
|
92
|
+
{
|
|
93
|
+
method: "DELETE",
|
|
94
|
+
path: `/serverless-jobs/v1alpha2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/job-definitions/${validatePathParam("jobDefinitionId", request.jobDefinitionId)}`
|
|
95
|
+
}
|
|
96
|
+
);
|
|
98
97
|
/**
|
|
99
98
|
* Run an existing job definition using its unique identifier and create a new job run.
|
|
100
99
|
*
|
|
@@ -134,10 +133,7 @@ class API extends API$1 {
|
|
|
134
133
|
["order_by", request.orderBy],
|
|
135
134
|
["organization_id", request.organizationId],
|
|
136
135
|
["page", request.page],
|
|
137
|
-
[
|
|
138
|
-
"page_size",
|
|
139
|
-
request.pageSize ?? this.client.settings.defaultPageSize
|
|
140
|
-
],
|
|
136
|
+
["page_size", request.pageSize ?? this.client.settings.defaultPageSize],
|
|
141
137
|
["project_id", request.projectId],
|
|
142
138
|
["reasons", request.reasons],
|
|
143
139
|
["state", request.state],
|
|
@@ -208,7 +204,9 @@ class API extends API$1 {
|
|
|
208
204
|
{
|
|
209
205
|
method: "GET",
|
|
210
206
|
path: `/serverless-jobs/v1alpha2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets`,
|
|
211
|
-
urlParams: urlParams(
|
|
207
|
+
urlParams: urlParams(
|
|
208
|
+
["job_definition_id", request.jobDefinitionId]
|
|
209
|
+
)
|
|
212
210
|
},
|
|
213
211
|
unmarshalListSecretsResponse
|
|
214
212
|
);
|
|
@@ -234,10 +232,12 @@ class API extends API$1 {
|
|
|
234
232
|
*
|
|
235
233
|
* @param request - The request {@link DeleteSecretRequest}
|
|
236
234
|
*/
|
|
237
|
-
deleteSecret = (request) => this.client.fetch(
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
235
|
+
deleteSecret = (request) => this.client.fetch(
|
|
236
|
+
{
|
|
237
|
+
method: "DELETE",
|
|
238
|
+
path: `/serverless-jobs/v1alpha2/regions/${validatePathParam("region", request.region ?? this.client.settings.defaultRegion)}/secrets/${validatePathParam("secretId", request.secretId)}`
|
|
239
|
+
}
|
|
240
|
+
);
|
|
241
241
|
/**
|
|
242
242
|
* List job resources for the console.
|
|
243
243
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { API } from './api.gen.js';
|
|
1
|
+
export { API, } from './api.gen.js';
|
|
2
2
|
export * from './content.gen.js';
|
|
3
3
|
export * from './marshalling.gen.js';
|
|
4
|
-
export type { CreateJobDefinitionRequest, CreateJobDefinitionRequestCronScheduleConfig, CreateSecretsRequest, CreateSecretsRequestSecretConfig, CreateSecretsResponse, CronSchedule, DeleteJobDefinitionRequest, DeleteSecretRequest, GetJobDefinitionRequest, GetJobLimitsRequest, GetJobRunRequest, GetSecretRequest, JobDefinition, JobLimits, JobRun, JobRunReason, JobRunState, ListJobDefinitionsRequest, ListJobDefinitionsRequestOrderBy, ListJobDefinitionsResponse, ListJobResourcesRequest, ListJobResourcesResponse, ListJobRunsRequest, ListJobRunsRequestOrderBy, ListJobRunsResponse, ListSecretsRequest, ListSecretsResponse, Resource, Secret, SecretEnvVar, SecretFile, StartJobDefinitionRequest, StartJobDefinitionResponse, StopJobRunRequest, UpdateJobDefinitionRequest, UpdateJobDefinitionRequestCronScheduleConfig, UpdateSecretRequest, } from './types.gen.js';
|
|
4
|
+
export type { CreateJobDefinitionRequest, CreateJobDefinitionRequestCronScheduleConfig, CreateSecretsRequest, CreateSecretsRequestSecretConfig, CreateSecretsResponse, CronSchedule, DeleteJobDefinitionRequest, DeleteSecretRequest, GetJobDefinitionRequest, GetJobLimitsRequest, GetJobRunRequest, GetSecretRequest, JobDefinition, JobLimits, JobRun, JobRunReason, JobRunState, ListJobDefinitionsRequest, ListJobDefinitionsRequestOrderBy, ListJobDefinitionsResponse, ListJobResourcesRequest, ListJobResourcesResponse, ListJobRunsRequest, ListJobRunsRequestOrderBy, ListJobRunsResponse, ListSecretsRequest, ListSecretsResponse, Resource, RetryPolicy, Secret, SecretEnvVar, SecretFile, StartJobDefinitionRequest, StartJobDefinitionResponse, StopJobRunRequest, UpdateJobDefinitionRequest, UpdateJobDefinitionRequestCronScheduleConfig, UpdateSecretRequest, } from './types.gen.js';
|
|
5
5
|
export * as ValidationRules from './validation-rules.gen.js';
|
|
@@ -46,6 +46,16 @@ const unmarshalCronSchedule = (data) => {
|
|
|
46
46
|
timezone: data.timezone
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
|
+
const unmarshalRetryPolicy = (data) => {
|
|
50
|
+
if (!isJSONObject(data)) {
|
|
51
|
+
throw new TypeError(
|
|
52
|
+
`Unmarshalling the type 'RetryPolicy' failed as data isn't a dictionary.`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
maxRetries: data.max_retries
|
|
57
|
+
};
|
|
58
|
+
};
|
|
49
59
|
const unmarshalJobDefinition = (data) => {
|
|
50
60
|
if (!isJSONObject(data)) {
|
|
51
61
|
throw new TypeError(
|
|
@@ -68,6 +78,7 @@ const unmarshalJobDefinition = (data) => {
|
|
|
68
78
|
name: data.name,
|
|
69
79
|
projectId: data.project_id,
|
|
70
80
|
region: data.region,
|
|
81
|
+
retryPolicy: data.retry_policy ? unmarshalRetryPolicy(data.retry_policy) : void 0,
|
|
71
82
|
startupCommand: data.startup_command,
|
|
72
83
|
updatedAt: unmarshalDate(data.updated_at)
|
|
73
84
|
};
|
|
@@ -80,6 +91,7 @@ const unmarshalJobRun = (data) => {
|
|
|
80
91
|
}
|
|
81
92
|
return {
|
|
82
93
|
args: data.args,
|
|
94
|
+
attempts: data.attempts,
|
|
83
95
|
command: data.command,
|
|
84
96
|
cpuLimit: data.cpu_limit,
|
|
85
97
|
createdAt: unmarshalDate(data.created_at),
|
|
@@ -127,10 +139,7 @@ const unmarshalListJobDefinitionsResponse = (data) => {
|
|
|
127
139
|
);
|
|
128
140
|
}
|
|
129
141
|
return {
|
|
130
|
-
jobDefinitions: unmarshalArrayOfObject(
|
|
131
|
-
data.job_definitions,
|
|
132
|
-
unmarshalJobDefinition
|
|
133
|
-
),
|
|
142
|
+
jobDefinitions: unmarshalArrayOfObject(data.job_definitions, unmarshalJobDefinition),
|
|
134
143
|
totalCount: data.total_count
|
|
135
144
|
};
|
|
136
145
|
};
|
|
@@ -191,13 +200,14 @@ const marshalCreateJobDefinitionRequestCronScheduleConfig = (request, defaults)
|
|
|
191
200
|
schedule: request.schedule,
|
|
192
201
|
timezone: request.timezone
|
|
193
202
|
});
|
|
203
|
+
const marshalRetryPolicy = (request, defaults) => ({
|
|
204
|
+
max_retries: request.maxRetries
|
|
205
|
+
});
|
|
194
206
|
const marshalCreateJobDefinitionRequest = (request, defaults) => ({
|
|
195
207
|
args: request.args,
|
|
196
208
|
command: request.command,
|
|
197
209
|
cpu_limit: request.cpuLimit,
|
|
198
|
-
cron_schedule: request.cronSchedule !== void 0 ? marshalCreateJobDefinitionRequestCronScheduleConfig(
|
|
199
|
-
request.cronSchedule
|
|
200
|
-
) : void 0,
|
|
210
|
+
cron_schedule: request.cronSchedule !== void 0 ? marshalCreateJobDefinitionRequestCronScheduleConfig(request.cronSchedule) : void 0,
|
|
201
211
|
description: request.description,
|
|
202
212
|
environment_variables: request.environmentVariables !== void 0 ? request.environmentVariables : void 0,
|
|
203
213
|
image_uri: request.imageUri,
|
|
@@ -206,21 +216,26 @@ const marshalCreateJobDefinitionRequest = (request, defaults) => ({
|
|
|
206
216
|
memory_limit: request.memoryLimit,
|
|
207
217
|
name: request.name || randomName("job"),
|
|
208
218
|
project_id: request.projectId ?? defaults.defaultProjectId,
|
|
219
|
+
retry_policy: request.retryPolicy !== void 0 ? marshalRetryPolicy(request.retryPolicy) : void 0,
|
|
209
220
|
startup_command: request.startupCommand
|
|
210
221
|
});
|
|
211
222
|
const marshalCreateSecretsRequestSecretConfig = (request, defaults) => ({
|
|
212
223
|
secret_manager_id: request.secretManagerId,
|
|
213
224
|
secret_manager_version: request.secretManagerVersion,
|
|
214
225
|
...resolveOneOf([
|
|
215
|
-
{
|
|
216
|
-
|
|
226
|
+
{
|
|
227
|
+
param: "path",
|
|
228
|
+
value: request.path
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
param: "env_var_name",
|
|
232
|
+
value: request.envVarName
|
|
233
|
+
}
|
|
217
234
|
])
|
|
218
235
|
});
|
|
219
236
|
const marshalCreateSecretsRequest = (request, defaults) => ({
|
|
220
237
|
job_definition_id: request.jobDefinitionId,
|
|
221
|
-
secrets: request.secrets.map(
|
|
222
|
-
(elt) => marshalCreateSecretsRequestSecretConfig(elt)
|
|
223
|
-
)
|
|
238
|
+
secrets: request.secrets.map((elt) => marshalCreateSecretsRequestSecretConfig(elt))
|
|
224
239
|
});
|
|
225
240
|
const marshalStartJobDefinitionRequest = (request, defaults) => ({
|
|
226
241
|
args: request.args,
|
|
@@ -237,9 +252,7 @@ const marshalUpdateJobDefinitionRequest = (request, defaults) => ({
|
|
|
237
252
|
args: request.args,
|
|
238
253
|
command: request.command,
|
|
239
254
|
cpu_limit: request.cpuLimit,
|
|
240
|
-
cron_schedule: request.cronSchedule !== void 0 ? marshalUpdateJobDefinitionRequestCronScheduleConfig(
|
|
241
|
-
request.cronSchedule
|
|
242
|
-
) : void 0,
|
|
255
|
+
cron_schedule: request.cronSchedule !== void 0 ? marshalUpdateJobDefinitionRequestCronScheduleConfig(request.cronSchedule) : void 0,
|
|
243
256
|
description: request.description,
|
|
244
257
|
environment_variables: request.environmentVariables,
|
|
245
258
|
image_uri: request.imageUri,
|
|
@@ -247,13 +260,20 @@ const marshalUpdateJobDefinitionRequest = (request, defaults) => ({
|
|
|
247
260
|
local_storage_capacity: request.localStorageCapacity,
|
|
248
261
|
memory_limit: request.memoryLimit,
|
|
249
262
|
name: request.name,
|
|
263
|
+
retry_policy: request.retryPolicy !== void 0 ? marshalRetryPolicy(request.retryPolicy) : void 0,
|
|
250
264
|
startup_command: request.startupCommand
|
|
251
265
|
});
|
|
252
266
|
const marshalUpdateSecretRequest = (request, defaults) => ({
|
|
253
267
|
secret_manager_version: request.secretManagerVersion,
|
|
254
268
|
...resolveOneOf([
|
|
255
|
-
{
|
|
256
|
-
|
|
269
|
+
{
|
|
270
|
+
param: "path",
|
|
271
|
+
value: request.path
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
param: "env_var_name",
|
|
275
|
+
value: request.envVarName
|
|
276
|
+
}
|
|
257
277
|
])
|
|
258
278
|
});
|
|
259
279
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Region as ScwRegion } from '@scaleway/sdk-client';
|
|
2
|
-
export type JobRunReason = 'unknown_reason' | 'invalid_request' | 'timeout' | 'cancellation' | 'technical_error' | 'image_not_found' | 'invalid_image' | 'memory_usage_exceeded' | 'storage_usage_exceeded' | 'exited_with_error' | 'secret_disabled' | 'secret_not_found';
|
|
3
|
-
export type JobRunState = 'unknown_state' | 'initialized' | 'validated' | 'queued' | 'running' | 'succeeded' | 'failed' | 'interrupting' | 'interrupted';
|
|
2
|
+
export type JobRunReason = 'unknown_reason' | 'invalid_request' | 'timeout' | 'cancellation' | 'technical_error' | 'image_not_found' | 'invalid_image' | 'memory_usage_exceeded' | 'storage_usage_exceeded' | 'exited_with_error' | 'secret_disabled' | 'secret_not_found' | 'quota_exceeded';
|
|
3
|
+
export type JobRunState = 'unknown_state' | 'initialized' | 'validated' | 'queued' | 'running' | 'succeeded' | 'failed' | 'interrupting' | 'interrupted' | 'retrying';
|
|
4
4
|
export type ListJobDefinitionsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
|
|
5
5
|
export type ListJobRunsRequestOrderBy = 'created_at_asc' | 'created_at_desc';
|
|
6
6
|
export interface SecretEnvVar {
|
|
@@ -19,6 +19,12 @@ export interface CronSchedule {
|
|
|
19
19
|
*/
|
|
20
20
|
timezone: string;
|
|
21
21
|
}
|
|
22
|
+
export interface RetryPolicy {
|
|
23
|
+
/**
|
|
24
|
+
* Maximum number of retries upon a job failure.
|
|
25
|
+
*/
|
|
26
|
+
maxRetries: number;
|
|
27
|
+
}
|
|
22
28
|
export interface CreateJobDefinitionRequestCronScheduleConfig {
|
|
23
29
|
schedule: string;
|
|
24
30
|
timezone: string;
|
|
@@ -87,6 +93,7 @@ export interface JobDefinition {
|
|
|
87
93
|
cronSchedule?: CronSchedule;
|
|
88
94
|
startupCommand: string[];
|
|
89
95
|
args: string[];
|
|
96
|
+
retryPolicy?: RetryPolicy;
|
|
90
97
|
/**
|
|
91
98
|
* Region to target. If none is passed will use default region from the config.
|
|
92
99
|
*/
|
|
@@ -118,6 +125,7 @@ export interface JobRun {
|
|
|
118
125
|
environmentVariables: Record<string, string>;
|
|
119
126
|
startupCommand: string[];
|
|
120
127
|
args: string[];
|
|
128
|
+
attempts?: number;
|
|
121
129
|
/**
|
|
122
130
|
* Region to target. If none is passed will use default region from the config.
|
|
123
131
|
*/
|
|
@@ -186,6 +194,10 @@ export type CreateJobDefinitionRequest = {
|
|
|
186
194
|
* Configure a cron for the job.
|
|
187
195
|
*/
|
|
188
196
|
cronSchedule?: CreateJobDefinitionRequestCronScheduleConfig;
|
|
197
|
+
/**
|
|
198
|
+
* Retry behaviour in case of job failure.
|
|
199
|
+
*/
|
|
200
|
+
retryPolicy?: RetryPolicy;
|
|
189
201
|
};
|
|
190
202
|
export type CreateSecretsRequest = {
|
|
191
203
|
/**
|
|
@@ -435,7 +447,14 @@ export type UpdateJobDefinitionRequest = {
|
|
|
435
447
|
* Timeout of the job in seconds.
|
|
436
448
|
*/
|
|
437
449
|
jobTimeout?: string;
|
|
450
|
+
/**
|
|
451
|
+
* Configure a cron for the job.
|
|
452
|
+
*/
|
|
438
453
|
cronSchedule?: UpdateJobDefinitionRequestCronScheduleConfig;
|
|
454
|
+
/**
|
|
455
|
+
* Retry behaviour in case of job failure.
|
|
456
|
+
*/
|
|
457
|
+
retryPolicy?: RetryPolicy;
|
|
439
458
|
};
|
|
440
459
|
export type UpdateSecretRequest = {
|
|
441
460
|
/**
|
|
@@ -61,6 +61,11 @@ export declare const ListJobRunsRequest: {
|
|
|
61
61
|
lessThanOrEqual: number;
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
|
+
export declare const RetryPolicy: {
|
|
65
|
+
maxRetries: {
|
|
66
|
+
lessThanOrEqual: number;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
64
69
|
export declare const StartJobDefinitionRequest: {
|
|
65
70
|
replicas: {
|
|
66
71
|
greaterThan: number;
|
|
@@ -61,6 +61,11 @@ const ListJobRunsRequest = {
|
|
|
61
61
|
lessThanOrEqual: 1e3
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
|
+
const RetryPolicy = {
|
|
65
|
+
maxRetries: {
|
|
66
|
+
lessThanOrEqual: 5
|
|
67
|
+
}
|
|
68
|
+
};
|
|
64
69
|
const StartJobDefinitionRequest = {
|
|
65
70
|
replicas: {
|
|
66
71
|
greaterThan: 0
|
|
@@ -108,6 +113,7 @@ export {
|
|
|
108
113
|
CronSchedule,
|
|
109
114
|
ListJobDefinitionsRequest,
|
|
110
115
|
ListJobRunsRequest,
|
|
116
|
+
RetryPolicy,
|
|
111
117
|
StartJobDefinitionRequest,
|
|
112
118
|
UpdateJobDefinitionRequest,
|
|
113
119
|
UpdateJobDefinitionRequestCronScheduleConfig,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scaleway/sdk-jobs",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Scaleway SDK jobs",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"files": [
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@scaleway/random-name": "5.1.2",
|
|
30
|
-
"@scaleway/sdk-std": "2.1.
|
|
30
|
+
"@scaleway/sdk-std": "2.1.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@scaleway/sdk-client": "^2.1.0"
|