mirror of
https://github.com/jdalrymple/gitbeaker.git
synced 2026-01-25 16:04:01 +00:00
88 lines
2.6 KiB
TypeScript
88 lines
2.6 KiB
TypeScript
import { BaseResource } from '@gitbeaker/requester-utils';
|
|
import { RequestHelper } from '../infrastructure';
|
|
import type { Camelize, GitlabAPIResponse, ShowExpanded, Sudo } from '../infrastructure';
|
|
|
|
export interface ApplicationPlanLimitSchema extends Record<string, unknown> {
|
|
ci_pipeline_size: number;
|
|
ci_active_jobs: number;
|
|
ci_active_pipelines: number;
|
|
ci_project_subscriptions: number;
|
|
ci_pipeline_schedules: number;
|
|
ci_needs_size_limit: number;
|
|
ci_registered_group_runners: number;
|
|
ci_registered_project_runners: number;
|
|
conan_max_file_size: number;
|
|
generic_packages_max_file_size: number;
|
|
helm_max_file_size: number;
|
|
maven_max_file_size: number;
|
|
npm_max_file_size: number;
|
|
nuget_max_file_size: number;
|
|
pypi_max_file_size: number;
|
|
terraform_module_max_file_size: number;
|
|
storage_size_limit: number;
|
|
}
|
|
|
|
export type ApplicationPlanLimitOptions = Partial<Camelize<ApplicationPlanLimitSchema>>;
|
|
|
|
export class ApplicationPlanLimits<C extends boolean = false> extends BaseResource<C> {
|
|
show<E extends boolean = false>(
|
|
options?: { planName?: string } & Sudo & ShowExpanded<E>,
|
|
): Promise<GitlabAPIResponse<ApplicationPlanLimitSchema, C, E, void>> {
|
|
return RequestHelper.get<ApplicationPlanLimitSchema>()(
|
|
this,
|
|
'application/plan_limits',
|
|
options,
|
|
);
|
|
}
|
|
|
|
edit<E extends boolean = false>(
|
|
planName: string,
|
|
options: ApplicationPlanLimitOptions & Sudo & ShowExpanded<E> = {},
|
|
): Promise<GitlabAPIResponse<ApplicationPlanLimitSchema, C, E, void>> {
|
|
const {
|
|
ciPipelineSize,
|
|
ciActiveJobs,
|
|
ciActivePipelines,
|
|
ciProjectSubscriptions,
|
|
ciPipelineSchedules,
|
|
ciNeedsSizeLimit,
|
|
ciRegisteredGroupRunners,
|
|
ciRegisteredProjectRunners,
|
|
conanMaxFileSize,
|
|
genericPackagesMaxFileSize,
|
|
helmMaxFileSize,
|
|
mavenMaxFileSize,
|
|
npmMaxFileSize,
|
|
nugetMaxFileSize,
|
|
pypiMaxFileSize,
|
|
terraformModuleMaxFileSize,
|
|
storageSizeLimit,
|
|
...opts
|
|
} = options;
|
|
|
|
return RequestHelper.put<ApplicationPlanLimitSchema>()(this, 'application/plan_limits', {
|
|
...opts,
|
|
searchParams: {
|
|
planName,
|
|
ciPipelineSize,
|
|
ciActiveJobs,
|
|
ciActivePipelines,
|
|
ciProjectSubscriptions,
|
|
ciPipelineSchedules,
|
|
ciNeedsSizeLimit,
|
|
ciRegisteredGroupRunners,
|
|
ciRegisteredProjectRunners,
|
|
conanMaxFileSize,
|
|
genericPackagesMaxFileSize,
|
|
helmMaxFileSize,
|
|
mavenMaxFileSize,
|
|
npmMaxFileSize,
|
|
nugetMaxFileSize,
|
|
pypiMaxFileSize,
|
|
terraformModuleMaxFileSize,
|
|
storageSizeLimit,
|
|
},
|
|
});
|
|
}
|
|
}
|