File tree Expand file tree Collapse file tree 4 files changed +45
-0
lines changed
packages/clients/src/api/jobs/v1alpha1 Expand file tree Collapse file tree 4 files changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import {
1616 unmarshalCreateJobDefinitionSecretsResponse ,
1717 unmarshalJobDefinition ,
1818 unmarshalJobRun ,
19+ unmarshalJobsLimits ,
1920 unmarshalListJobDefinitionSecretsResponse ,
2021 unmarshalListJobDefinitionsResponse ,
2122 unmarshalListJobRunsResponse ,
@@ -32,8 +33,10 @@ import type {
3233 GetJobDefinitionRequest ,
3334 GetJobDefinitionSecretRequest ,
3435 GetJobRunRequest ,
36+ GetJobsLimitsRequest ,
3537 JobDefinition ,
3638 JobRun ,
39+ JobsLimits ,
3740 ListJobDefinitionSecretsRequest ,
3841 ListJobDefinitionSecretsResponse ,
3942 ListJobDefinitionsRequest ,
@@ -321,4 +324,19 @@ export class API extends ParentAPI {
321324 } ,
322325 unmarshalListJobsResourcesResponse ,
323326 )
327+
328+ /**
329+ * Get jobs limits for the console.
330+ *
331+ * @param request - The request {@link GetJobsLimitsRequest}
332+ * @returns A Promise of JobsLimits
333+ */
334+ getJobsLimits = ( request : Readonly < GetJobsLimitsRequest > = { } ) =>
335+ this . client . fetch < JobsLimits > (
336+ {
337+ method : 'GET' ,
338+ path : `/serverless-jobs/v1alpha1/regions/${ validatePathParam ( 'region' , request . region ?? this . client . settings . defaultRegion ) } /jobs-limits` ,
339+ } ,
340+ unmarshalJobsLimits ,
341+ )
324342}
Original file line number Diff line number Diff line change @@ -14,9 +14,11 @@ export type {
1414 GetJobDefinitionRequest ,
1515 GetJobDefinitionSecretRequest ,
1616 GetJobRunRequest ,
17+ GetJobsLimitsRequest ,
1718 JobDefinition ,
1819 JobRun ,
1920 JobRunState ,
21+ JobsLimits ,
2022 ListJobDefinitionSecretsRequest ,
2123 ListJobDefinitionSecretsResponse ,
2224 ListJobDefinitionsRequest ,
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ import type {
1717 CronSchedule ,
1818 JobDefinition ,
1919 JobRun ,
20+ JobsLimits ,
2021 ListJobDefinitionSecretsResponse ,
2122 ListJobDefinitionsResponse ,
2223 ListJobRunsResponse ,
@@ -154,6 +155,18 @@ export const unmarshalCreateJobDefinitionSecretsResponse = (
154155 } as CreateJobDefinitionSecretsResponse
155156}
156157
158+ export const unmarshalJobsLimits = ( data : unknown ) : JobsLimits => {
159+ if ( ! isJSONObject ( data ) ) {
160+ throw new TypeError (
161+ `Unmarshalling the type 'JobsLimits' failed as data isn't a dictionary.` ,
162+ )
163+ }
164+
165+ return {
166+ secretsPerJobDefinition : data . secrets_per_job_definition ,
167+ } as JobsLimits
168+ }
169+
157170export const unmarshalListJobDefinitionSecretsResponse = (
158171 data : unknown ,
159172) : ListJobDefinitionSecretsResponse => {
Original file line number Diff line number Diff line change @@ -214,6 +214,18 @@ export type GetJobRunRequest = {
214214 jobRunId : string
215215}
216216
217+ export type GetJobsLimitsRequest = {
218+ /**
219+ * Region to target. If none is passed will use default region from the
220+ * config.
221+ */
222+ region ?: Region
223+ }
224+
225+ export interface JobsLimits {
226+ secretsPerJobDefinition : number
227+ }
228+
217229export type ListJobDefinitionSecretsRequest = {
218230 /**
219231 * Region to target. If none is passed will use default region from the
You can’t perform that action at this time.
0 commit comments