diff --git a/packages/clients/src/api/jobs/v1alpha1/api.gen.ts b/packages/clients/src/api/jobs/v1alpha1/api.gen.ts index f2286a56b..c26f595bc 100644 --- a/packages/clients/src/api/jobs/v1alpha1/api.gen.ts +++ b/packages/clients/src/api/jobs/v1alpha1/api.gen.ts @@ -16,6 +16,7 @@ import { unmarshalCreateJobDefinitionSecretsResponse, unmarshalJobDefinition, unmarshalJobRun, + unmarshalJobsLimits, unmarshalListJobDefinitionSecretsResponse, unmarshalListJobDefinitionsResponse, unmarshalListJobRunsResponse, @@ -32,8 +33,10 @@ import type { GetJobDefinitionRequest, GetJobDefinitionSecretRequest, GetJobRunRequest, + GetJobsLimitsRequest, JobDefinition, JobRun, + JobsLimits, ListJobDefinitionSecretsRequest, ListJobDefinitionSecretsResponse, ListJobDefinitionsRequest, @@ -321,4 +324,19 @@ export class API extends ParentAPI { }, unmarshalListJobsResourcesResponse, ) + + /** + * Get jobs limits for the console. + * + * @param request - The request {@link GetJobsLimitsRequest} + * @returns A Promise of JobsLimits + */ + getJobsLimits = (request: Readonly = {}) => + this.client.fetch( + { + method: 'GET', + path: `/serverless-jobs/v1alpha1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/jobs-limits`, + }, + unmarshalJobsLimits, + ) } diff --git a/packages/clients/src/api/jobs/v1alpha1/index.gen.ts b/packages/clients/src/api/jobs/v1alpha1/index.gen.ts index 9f5526a91..cf7821d81 100644 --- a/packages/clients/src/api/jobs/v1alpha1/index.gen.ts +++ b/packages/clients/src/api/jobs/v1alpha1/index.gen.ts @@ -14,9 +14,11 @@ export type { GetJobDefinitionRequest, GetJobDefinitionSecretRequest, GetJobRunRequest, + GetJobsLimitsRequest, JobDefinition, JobRun, JobRunState, + JobsLimits, ListJobDefinitionSecretsRequest, ListJobDefinitionSecretsResponse, ListJobDefinitionsRequest, diff --git a/packages/clients/src/api/jobs/v1alpha1/marshalling.gen.ts b/packages/clients/src/api/jobs/v1alpha1/marshalling.gen.ts index 99240063a..8bf75c00b 100644 --- a/packages/clients/src/api/jobs/v1alpha1/marshalling.gen.ts +++ b/packages/clients/src/api/jobs/v1alpha1/marshalling.gen.ts @@ -17,6 +17,7 @@ import type { CronSchedule, JobDefinition, JobRun, + JobsLimits, ListJobDefinitionSecretsResponse, ListJobDefinitionsResponse, ListJobRunsResponse, @@ -154,6 +155,18 @@ export const unmarshalCreateJobDefinitionSecretsResponse = ( } as CreateJobDefinitionSecretsResponse } +export const unmarshalJobsLimits = (data: unknown): JobsLimits => { + if (!isJSONObject(data)) { + throw new TypeError( + `Unmarshalling the type 'JobsLimits' failed as data isn't a dictionary.`, + ) + } + + return { + secretsPerJobDefinition: data.secrets_per_job_definition, + } as JobsLimits +} + export const unmarshalListJobDefinitionSecretsResponse = ( data: unknown, ): ListJobDefinitionSecretsResponse => { diff --git a/packages/clients/src/api/jobs/v1alpha1/types.gen.ts b/packages/clients/src/api/jobs/v1alpha1/types.gen.ts index 79659fb64..ca2381562 100644 --- a/packages/clients/src/api/jobs/v1alpha1/types.gen.ts +++ b/packages/clients/src/api/jobs/v1alpha1/types.gen.ts @@ -214,6 +214,18 @@ export type GetJobRunRequest = { jobRunId: string } +export type GetJobsLimitsRequest = { + /** + * Region to target. If none is passed will use default region from the + * config. + */ + region?: Region +} + +export interface JobsLimits { + secretsPerJobDefinition: number +} + export type ListJobDefinitionSecretsRequest = { /** * Region to target. If none is passed will use default region from the