import { EventEmitter } from 'events'; import * as stream from 'node:stream'; import { Stream } from 'node:stream'; import { ClientHttp2Session } from 'node:http2'; type Optional = Omit & Partial; declare abstract class ApiClientContextProvider { private contextWrapper; protected loadContext(): void; getInfo(): string; storeContext(contextWrapper: ApiClientContextWrapper): void; addContext(context: Optional, override?: boolean): void; removeContext(name: string): void; protected abstract writeContext(context: ApiClientContextWrapper): void; abstract loadContextWrapper(): ApiClientContextWrapper; getCurrentContext(): ApiClientContext | undefined; private findContext; getCurrentBaseUrl(throwIfNotPresent?: boolean): string | undefined; getCurrentProjectName(): string | undefined; getCurrentName(): string | undefined; getCurrentToken(): string | undefined; getCurrentServiceName(): string | undefined; getCurrentJobName(): string | undefined; getTokenScope(): 'team' | 'org' | undefined; getCurrentPlanId(): string | undefined; getCurrentRegion(): string | undefined; useContext(name: string): void; updateContext(context: ApiClientContext): void; updateToken(token: string, name?: string): void; useProjectId(id: string): void; useServiceId(id: string): void; useJobId(id: string): void; usePlanId(id: string): void; useRegion(region: string): void; getLastUpdateCheck(): Date; setLastUpdateCheck(check: Date): any; } interface ApiClientContextWrapper { current?: string; contexts: ApiClientContext[]; lastUpdateCheck?: Date; } interface ApiClientContext { name: string; token: string; host: string; tokenScope?: 'team' | 'org'; project?: string; service?: string; job?: string; plan?: string; region?: string; } type PortForwardingInfo = { type: 'addon' | 'service'; projectId: string; id: string; address: string; port: number; portName?: string; portRemote?: number; protocol?: 'HTTP' | 'TCP' | 'UDP'; hostnames: string[]; ipOnly: boolean; }; interface PortTunnel extends EventEmitter { readonly bindTo?: { address: string; port: number; }; readonly protocol: 'TCP' | 'UDP'; on(event: 'tunnel-open', listener: (h: { address: string; port: number; }) => any): any; on(event: 'tunnel-close', listener: () => any): any; on(event: 'connection-accept', listener: () => any): any; on(event: 'connection-close', listener: () => any): any; on(event: 'connection-error', listener: (error: any) => any): any; open(randomPortFallback: boolean): Promise<{ address: string; port: number; }>; close(): Promise; } declare class ApiClientFileContextProvider extends ApiClientContextProvider { configPath: string; configFile: string; constructor(configPath?: string); loadContextWrapper(): ApiClientContextWrapper; protected writeContext(context: ApiClientContextWrapper): void; assertDir: (path: string) => void; assertConfigDir(): void; getInfo(): string; } declare class ApiClientInMemoryContextProvider extends ApiClientContextProvider { private inMemoryContextWrapper; constructor(); loadContextWrapper(): ApiClientContextWrapper; protected writeContext(context: ApiClientContextWrapper): void; } declare class NorthflankApiCallError extends Error implements ApiCallError { id?: any; details?: any; status: number; constructor(callError: ApiCallError); } interface ApiCallError { /** Http status response code */ status: number; /** Error message */ message: string; /** Northflank error id */ id?: string; /** Error details */ details?: any; } type ApiClientOpts = { throwErrorOnHttpErrorCode?: boolean; customUserAgent?: string; agent?: any; }; interface ApiCallResponse { data: R; rawResponse: Response; request: { url: string; method: string; headers: any; body: any; }; error?: ApiCallError; pagination?: { /** Is there another page of results available? */ 'hasNextPage': boolean; /** The cursor to access the next page of results. */ 'cursor'?: string; /** The number of results returned by this request. Example: 1 */ 'count': number; getNextPage: () => Promise>; }; } interface ApiEndpoint { requiredPermissions?: string | undefined; } declare abstract class ApiEndpoint { protected readonly opts: ApiClientOpts; protected contextProvider: ApiClientContextProvider; abstract description: string; abstract method: string; abstract body(opts: T): any; abstract endpointUrl(opts: T): string; abstract withAuth: boolean; constructor(contextProvider: ApiClientContextProvider, opts: ApiClientOpts); private getDefaultHeaders; call: (opts: T) => Promise>; protected executeCall(opts: T): Promise>; } declare abstract class GetApiEndpoint extends ApiEndpoint { method: string; body: () => undefined; abstract endpointUrl(opts: T): string; abstract withAuth: boolean; } declare abstract class GetApiEndpointPaginated extends GetApiEndpoint { all: (opts: T) => Promise>; call: (opts: T) => Promise>; } declare abstract class PostApiEndpoint extends ApiEndpoint { method: string; abstract body(opts: T): any; abstract endpointUrl(opts: T): string; abstract withAuth: boolean; } declare abstract class DeleteApiEndpoint extends ApiEndpoint { method: string; abstract body(opts: T): any; abstract endpointUrl(opts: T): string; abstract withAuth: boolean; } declare abstract class PutApiEndpoint extends ApiEndpoint { method: string; abstract body(opts: T): any; abstract endpointUrl(opts: T): string; abstract withAuth: boolean; } declare abstract class PatchApiEndpoint extends ApiEndpoint { method: string; abstract body(opts: T): any; abstract endpointUrl(opts: T): string; abstract withAuth: boolean; } type ListServicesResult = { /** An array of services. */ 'services': { /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** ID of the project the service belongs to. Example: "default-project" */ 'projectId': string; /** Service name Example: "Example Service" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the service Example: "This is the service description" */ 'description'?: string; /** Type of the service (combined, build or deployment) Example: "combined" */ 'serviceType': 'combined' | 'build' | 'deployment'; /** Whether Continuous Integration is disabled */ 'disabledCI': boolean; /** Whether Continuous Deployment is disabled */ 'disabledCD': boolean; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }[]; }; type ListServicesCall = ((opts: ListServicesRequest) => Promise>) & { all: (opts: ListServicesRequest) => Promise>; }; type ListServicesRequest = { parameters: ListServicesParameters; options?: ListServicesOptions; }; type ListServicesParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListServicesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of services belonging to the project */ declare class ListServicesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListServicesRequest) => string; body: () => undefined; } type ListAddonsResult = { /** An array of addons. */ 'addons': { /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Addon name. Example: "Example Addon" */ 'name': string; /** Full identifier for the addon. Example: "/example-user/default-project/example-job" */ 'appId': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the addon. Example: "This is the addon description" */ 'description'?: string; /** Details about the addon's specifications. */ 'spec': { /** The type of the addon Example: "mongodb" */ 'type': string; }; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; }[]; }; type ListAddonsCall = ((opts: ListAddonsRequest) => Promise>) & { all: (opts: ListAddonsRequest) => Promise>; }; type ListAddonsRequest = { parameters: ListAddonsParameters; options?: ListAddonsOptions; }; type ListAddonsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListAddonsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of addons belonging to the project */ declare class ListAddonsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListAddonsRequest) => string; body: () => undefined; } type PortForwardingResult = { data: PortForwardingInfo; error?: never; } | { data?: never; error: { message: string; }; }; interface NorthflankPortForwarder { on(event: 'connection-accept', listener: (tunnel: PortTunnel) => any): any; on(event: 'connection-close', listener: (tunnel: PortTunnel) => any): any; on(event: 'connection-error', listener: (tunnel: PortTunnel, data: PortForwardingInfo, error: any) => any): any; on(event: 'tunnel-open', listener: (tunnel: PortTunnel, data: PortForwardingInfo) => any): any; on(event: 'tunnel-close', listener: (tunnel: PortTunnel, data: PortForwardingInfo) => any): any; } declare class NorthflankPortForwarder extends EventEmitter { private readonly contextProvider; private readonly listServices; private readonly listAddons; private readonly agent?; private nextIpAddress?; private connections; private proxyApiClient; private hostsFileMutex; private ipAllocationMutex; constructor(contextProvider: ApiClientContextProvider, listServices: ListServicesEndpoint, listAddons: ListAddonsEndpoint, agent?: any | undefined); withProjectForwarding(parameters: { teamId?: string; projectId: string; }, func: (p: { services: PortForwardingResult[][]; addons: PortForwardingResult[][]; }) => Promise, ipOnly?: boolean): Promise; forwardProject(parameters: { teamId?: string; projectId: string; }, ipOnly?: boolean): Promise<{ services: PortForwardingResult[][]; addons: PortForwardingResult[][]; }>; withServiceForwarding(parameters: { teamId?: string; projectId: string; serviceId: string; instanceId?: string; portsFilter?: number[]; }, func: (p: PortForwardingResult[]) => Promise, ipOnly?: boolean): Promise; forwardService(parameters: { teamId?: string; projectId: string; serviceId: string; instanceId?: string; portsFilter?: number[]; }, ipOnly?: boolean): Promise; withAddonForwarding(parameters: { teamId?: string; projectId: string; addonId: string; }, func: (p: PortForwardingResult[]) => Promise, ipOnly?: boolean): Promise; forwardAddon(parameters: { teamId?: string; projectId: string; addonId: string; }, ipOnly?: boolean): Promise; private allocateIpAddress; private forwardPort; private determineSocketAddress; private consistentHostnameToPortHashing; private registerHostnames; private unregisterHostnames; private modifyHostsFile; stopProjectForwarding(opts: { projectId: string; }): Promise; stopServiceForwarding(opts: { projectId: string; serviceId: string; }): Promise; stopAddonForwarding(opts: { projectId: string; addonId: string; }): Promise; private stopForwarding; stop(): Promise; canExecuteWithHostnames: () => { error: boolean; message?: string; type?: "windows-admin" | "unix-admin"; }; private assertStartedWithNodejs; } interface ExecCommand extends EventEmitter { readonly stdOut: stream.PassThrough; readonly stdErr: stream.PassThrough; readonly stdIn: stream.PassThrough; on(event: 'auth-success', listener: () => any): any; on(event: 'command-started', listener: () => any): any; on(event: 'command-completed', listener: () => any): any; on(event: 'command-result', listener: (result: { code: number; message: string; }) => any): any; on(event: 'error', listener: (error: any) => any): any; on(event: 'std-out-data', listener: (data: any) => any): any; on(event: 'std-err-data', listener: (data: any) => any): any; waitForCommandResult: () => Promise; start: () => Promise; sendInputToCurrentCommand: (input: string) => Promise; resizeTerminal: (size: { rows?: number; columns?: number; }) => Promise; } declare const VALID_EXEC_LOCATIONS: readonly ["us", "eu", "asia"]; type ValidExecLocations = (typeof VALID_EXEC_LOCATIONS)[number]; type ExecConfig = { teamId?: string; projectId: string; entityType: 'service' | 'job' | 'addon' | 'build'; entityId: string; instanceName?: string; containerName?: string; command?: string | string[]; shell?: string; user?: string | number; group?: string | number; encoding?: string; tty?: boolean; ttyRows?: number; ttyColumns?: number; execLocationHint?: ValidExecLocations | undefined; execLocationOverride?: string | undefined; }; declare class ExecCommandStandard extends EventEmitter implements ExecCommand { private readonly baseUrl; readonly execConfig: ExecConfig; private readonly token; private readonly agent; readonly stdOut: stream.PassThrough; readonly stdErr: stream.PassThrough; readonly stdIn: stream.PassThrough; private remote; protected currentCommand: Promise | undefined; private duplex; constructor(baseUrl: string, execConfig: ExecConfig, token: string, // readonly timeout: number = 120 // Timeout in seconds agent: any, stdOut?: stream.PassThrough, stdErr?: stream.PassThrough, stdIn?: stream.PassThrough); private get execEndpoint(); waitForCommandResult: () => Promise; sendInputToCurrentCommand: (input: string) => Promise; resizeTerminal: (size: { rows?: number; columns?: number; }) => Promise; start(): Promise; private constructPayloadPacket; private stdInEndPacket; private initialAuth; private reset; } type CommandResult = { exitCode: number; status: 'Success' | 'Failure' | 'Unknown'; message?: string; }; type ExecCommandData = { command: string | string[]; instanceName?: string; containerName?: string; shell?: string; user?: string | number; group?: string | number; execLocationHint?: ValidExecLocations | undefined; execLocationOverride?: string | undefined; }; type ExecCommandDataAddon = ExecCommandData & { instanceName: string; containerName?: string; }; type ExecSessionData = Omit & { command?: string | string[]; encoding?: string; tty?: boolean; ttyRows?: number; ttyColumns?: number; }; type CommandInfo = { instanceName: string; containerName: string; }; declare class NorthflankExecCommand { private readonly contextProvider; private readonly agent?; protected sessionRegistry: Map; constructor(contextProvider: ApiClientContextProvider, agent?: any | undefined, prewarmExecLocations?: ValidExecLocations[]); protected http2Session(opts: { execLocationHint: ValidExecLocations; execLocationOverride?: never; } | { execLocationOverride: string; execLocationHint?: never; }): ClientHttp2Session; /** * Runs command on a Northflank service and waits for completion returning command result and * standard output and standard error emitted during commmand execution. */ execServiceCommand(parameters: { teamId?: string; projectId: string; serviceId: string; }, data: ExecCommandData): Promise<{ commandResult: CommandResult; stdOut: string; stdErr: string; }>; /** * Starts a session on a Northflank service. This is usually a longer-running command. The returned object allows to listen to events as well * as consume streams for standard output (stdOut) and standard error (stdErr). Input can be sent using the standard input (stdIn) * writable stream. */ execServiceSession(parameters: { teamId?: string; projectId: string; serviceId: string; }, data?: ExecSessionData, commandInitCompletedCallback?: (commandInfo: CommandInfo) => void): Promise; /** * Runs command on a Northflank job and waits for completion returning command result and * standard output and standard error emitted during commmand execution. */ execJobCommand(parameters: { teamId?: string; projectId: string; jobId: string; }, data: ExecCommandData): Promise<{ commandResult: CommandResult; stdOut: string; stdErr: string; }>; /** * Starts a session on a Northflank job. This is usually a longer-running command. The returned object allows to listen to events as well * as consume streams for standard output (stdOut) and standard error (stdErr). Input can be sent using the standard input (stdIn) * writable stream. */ execJobSession(parameters: { teamId?: string; projectId: string; jobId: string; }, data?: ExecSessionData, commandInitCompletedCallback?: (commandInfo: CommandInfo) => void): Promise; /** * Runs command on a Northflank job and waits for completion returning command result and * standard output and standard error emitted during commmand execution. */ execAddonCommand(parameters: { teamId?: string; projectId: string; addonId: string; }, data: ExecCommandDataAddon): Promise<{ commandResult: CommandResult; stdOut: string; stdErr: string; }>; /** * Starts a session on a Northflank job. This is usually a longer-running command. The returned object allows to listen to events as well * as consume streams for standard output (stdOut) and standard error (stdErr). Input can be sent using the standard input (stdIn) * writable stream. */ execAddonSession(parameters: { teamId?: string; projectId: string; addonId: string; }, data?: ExecSessionData, commandInitCompletedCallback?: (commandInfo: CommandInfo) => void): Promise; private execCommand; private shellSession; private getCommandRunner; private assertStartedWithNodejs; } declare enum CopyType { DIRECTORY_UPLOAD = "directory-upload", FILE_UPLOAD = "file-upload", DIRECTORY_DOWNLOAD = "directory-download", FILE_DOWNLOAD = "file-download" } type DownloadOptions = { localPath: string; remotePath?: string; containerName?: string; instanceName?: string; ignoreList?: string[]; execLocationHint?: ValidExecLocations; }; type UploadOptions = { localPath: string; remotePath?: string; containerName?: string; instanceName?: string; ignoreList?: string[]; execLocationHint?: ValidExecLocations; }; declare class NorthflankFileCopy { private readonly exec; private stdIgnoreList; constructor(exec: NorthflankExecCommand, stdIgnoreListOverride?: string[]); downloadServiceFiles(parameters: { teamId?: string; projectId: string; serviceId: string; }, options: DownloadOptions): Promise<{ type: CopyType; sourceDirectory: string; sourceFile?: string; targetDirectory: string; targetFile?: string; }>; downloadServiceFileStream(parameters: { teamId?: string; projectId: string; serviceId: string; }, options: { remotePath: string; instanceName?: string; containerName?: string; }): Promise<{ fileStream: Stream.PassThrough; completionPromise: Promise; }>; uploadServiceFiles(parameters: { teamId?: string; projectId: string; serviceId: string; }, options: UploadOptions): Promise<{ type: CopyType; sourceDirectory: string; sourceFile?: string; targetDirectory: string; targetFile?: string; }>; uploadServiceFileStream(parameters: { teamId?: string; projectId: string; serviceId: string; }, options: { source: string | Buffer | Stream; remotePath: string; instanceName?: string; containerName?: string; }): Promise; downloadJobFiles(parameters: { teamId?: string; projectId: string; jobId: string; }, options: DownloadOptions): Promise<{ type: CopyType; sourceDirectory: string; sourceFile?: string; targetDirectory: string; targetFile?: string; }>; downloadJobFileStream(parameters: { teamId?: string; projectId: string; jobId: string; }, options: { remotePath: string; instanceName?: string; containerName?: string; }): Promise<{ fileStream: Stream.PassThrough; completionPromise: Promise; }>; uploadJobFiles(parameters: { teamId?: string; projectId: string; jobId: string; }, options: UploadOptions): Promise<{ type: CopyType; sourceDirectory: string; sourceFile?: string; targetDirectory: string; targetFile?: string; }>; uploadJobFileStream(parameters: { teamId?: string; projectId: string; jobId: string; }, options: { source: string | Buffer | Stream; remotePath: string; instanceName?: string; containerName?: string; }): Promise; private copy; } declare enum LogType { CDN = "cdn", Mesh = "mesh", Ingress = "ingress", Runtime = "runtime" } type LogsRequestCommon = LogRequestTextFilters & { lineLimit?: number; startTime?: Date; deploymentId?: string; }; type JobLogsRangeRequestData = LogsRequestCommon & { direction?: 'forward' | 'backward'; endTime?: Date; duration?: number; types?: LogType[]; containerName?: string | 'all'; runId?: undefined | string; buildId?: never; backupId?: never; restoreId?: never; isBuild?: false; }; type AddonBackupLogsRangeRequestData = LogsRequestCommon & { direction?: never; endTime?: never; duration?: never; types?: never; containerName?: never; runId?: never; buildId?: never; backupId?: string; restoreId?: never; isBuild?: false; }; type AddonRestoresLogsRangeRequestData = LogsRequestCommon & { direction?: never; endTime?: never; duration?: never; types?: never; containerName?: never; runId?: never; buildId?: never; backupId?: string; restoreId?: string; isBuild?: false; }; type LogsRangeRequestData = JobLogsRangeRequestData & { runId?: undefined; }; type BuildLogsRangeRequestData = LogsRequestCommon & { direction?: 'forward' | 'backward'; endTime?: Date; duration?: number; types?: never; containerName?: never; runId?: never; buildId?: string; backupId?: never; restoreId?: never; isBuild?: true; }; type JobLogsTailRequestData = LogsRequestCommon & { direction?: never; endTime?: never; duration?: never; types?: LogType[]; containerName?: string | 'all'; runId?: undefined | string; buildId?: never; backupId?: never; restoreId?: never; isBuild?: false; }; type AddonBackupLogsTailRequestData = LogsRequestCommon & { direction?: never; endTime?: never; duration?: never; types?: never; containerName?: never; runId?: never; buildId?: never; backupId?: string; restoreId?: never; isBuild?: false; }; type AddonRestoresLogsTailRequestData = LogsRequestCommon & { direction?: never; endTime?: never; duration?: never; types?: never; containerName?: never; runId?: never; buildId?: never; backupId?: string; restoreId?: string; isBuild?: false; }; type LogsTailRequestData = JobLogsTailRequestData & { runId?: undefined; }; type BuildLogsTailRequestData = LogsRequestCommon & { direction?: never; endTime?: never; duration?: never; types?: never; containerName?: never; runId?: never; buildId?: string; backupId?: never; restoreId?: never; isBuild?: true; }; type LogsRequestDataTextIncl = { textIncludes?: string; textNotIncludes?: never; regexIncludes?: never; regexNotIncludes?: never; }; type LogsRequestDataTextExcl = { textIncludes?: never; textNotIncludes?: string; regexIncludes?: never; regexNotIncludes?: never; }; type LogsRequestDataRegexIncl = { textIncludes?: never; textNotIncludes?: never; regexIncludes?: string; regexNotIncludes?: never; }; type LogsRequestDataRegexExcl = { textIncludes?: never; textNotIncludes?: never; regexIncludes?: never; regexNotIncludes?: string; }; type LogRequestTextFilters = LogsRequestDataTextIncl | LogsRequestDataTextExcl | LogsRequestDataRegexIncl | LogsRequestDataRegexExcl; type LogsConfigCommon = { teamId?: string; projectId: string; entityType: 'service' | 'job' | 'addon' | 'build' | 'addonBackup' | 'addonRestore'; entityId: string; }; type LogsRangeConfig = LogsConfigCommon & { queryType: 'range'; } & (LogsRangeRequestData | BuildLogsRangeRequestData | JobLogsRangeRequestData | AddonBackupLogsRangeRequestData | AddonRestoresLogsRangeRequestData); type LogsTailConfig = LogsConfigCommon & { queryType: 'tail'; } & (LogsTailRequestData | BuildLogsTailRequestData | JobLogsTailRequestData | AddonBackupLogsTailRequestData | AddonRestoresLogsTailRequestData); type LogLine = { containerId: string; log: any; ts: Date; }; interface LogsClient extends EventEmitter { on(event: 'logs-received', listener: (logLines: LogLine[]) => any): any; on(event: 'error', listener: (error: any) => any): any; on(event: 'open', listener: () => any): any; on(event: 'close', listener: () => any): any; } declare class LogsClient extends EventEmitter { private readonly baseUrl; readonly logsConfig: LogsTailConfig; private readonly token; private readonly agent?; private remote; private logSession; constructor(baseUrl: string, logsConfig: LogsTailConfig, token: string, // readonly timeout: number = 120 // Timeout in seconds agent?: any | undefined); static getLogsEndpoint(config: LogsTailConfig | LogsRangeConfig): string; private get logsEndpoint(); stop: () => Promise; start(): Promise; private initialAuth; private reset; } type ApiCallLogRangeResponse = ApiCallResponse; type GetServiceLogsCall = (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: LogsRangeRequestData; }) => Promise; type TailServiceLogsCall = (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: LogsTailRequestData; }) => Promise; type GetServiceBuildlogsCall = (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: BuildLogsRangeRequestData; }) => Promise; type TailServiceBuildlogsCall = (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: BuildLogsTailRequestData; }) => Promise; type GetJobLogsCall = (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: JobLogsRangeRequestData; }) => Promise; type TailJobLogsCall = (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: JobLogsTailRequestData; }) => Promise; type GetJobBuildlogsCall = (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: BuildLogsRangeRequestData; }) => Promise; type TailJobBuildlogsCall = (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: BuildLogsTailRequestData; }) => Promise; type GetAddonLogsCall = (opts: { parameters: { teamId?: string; projectId: string; addonId: string; }; options?: LogsRangeRequestData; }) => Promise; type TailAddonLogsCall = (opts: { parameters: { teamId?: string; projectId: string; addonId: string; }; options?: LogsTailRequestData; }) => Promise; type GetAddonBackupLogsCall = (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; }; options?: LogsRangeRequestData; }) => Promise; type TailAddonBackupLogsCall = (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; }; options?: LogsTailRequestData; }) => Promise; type GetAddonRestoresLogsCall = (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; restoreId: string; }; options?: LogsRangeRequestData; }) => Promise; type TailAddonRestoresLogsCall = (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; restoreId: string; }; options?: LogsTailRequestData; }) => Promise; declare class NorthflankLogFetch { private readonly contextProvider; private readonly clientOpts; constructor(contextProvider: ApiClientContextProvider, clientOpts?: ApiClientOpts); /** Fetches service container logs over a specific time span applying optional filters. */ getServiceLogs: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: LogsRangeRequestData; }) => Promise; /** Fetches service build container logs over a specific time span applying optional filters. */ getServiceBuildLogs: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: BuildLogsTailRequestData; }) => Promise; /** Fetches job container logs over a specific time span applying optional filters. */ getJobLogs: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: JobLogsRangeRequestData; }) => Promise; /** Fetches job build container logs over a specific time span applying optional filters. */ getJobBuildLogs: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: BuildLogsRangeRequestData; }) => Promise; /** Fetches addon container logs over a specific time span applying optional filters. */ getAddonLogs: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; }; options?: LogsRangeRequestData; }) => Promise; /** Fetches addon backup logs */ getAddonBackupLogs: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; }; options?: Omit; }) => Promise; /** Fetches addon restore logs */ getAddonRestoresLogs: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; restoreId: string; }; options?: Omit; }) => Promise; logRange: (parameters: { teamId?: string; projectId: string; entityId: string; }, data: LogsRangeRequestData | BuildLogsRangeRequestData | JobLogsRangeRequestData | AddonBackupLogsRangeRequestData | AddonRestoresLogsRangeRequestData, entityType: LogsConfigCommon["entityType"]) => Promise; tailServiceLogs: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: LogsTailRequestData; }) => Promise; /** Starts a log tail on a service build container. */ tailServiceBuildLogs: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: BuildLogsTailRequestData; }) => Promise; /** Starts a log tail on a job container. */ tailJobLogs: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: JobLogsTailRequestData; }) => Promise; /** Starts a log tail on a job build container. */ tailJobBuildLogs: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: BuildLogsTailRequestData; }) => Promise; /** Starts a log tail on an addon container. */ tailAddonLogs: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; }; options?: LogsTailRequestData; }) => Promise; /** Starts a log tail on an addon backup. */ tailAddonBackupLogs: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; }; options?: Omit; }) => Promise; /** Starts a log tail on an addon restore. */ tailAddonRestoresLogs: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; backupId: string; restoreId: string; }; options?: Omit; }) => Promise; /** Starts a log tail. */ logTail: (parameters: { teamId?: string; projectId: string; entityId: string; }, data: LogsTailRequestData | BuildLogsTailRequestData | JobLogsTailRequestData | AddonBackupLogsTailRequestData | AddonRestoresLogsTailRequestData, entityType: LogsConfigCommon["entityType"]) => Promise; private assertStartedWithNodejs; } type ApiCallMetricsResponse = ApiCallResponse>; declare enum MetricType { Cpu = "cpu", Memory = "memory", NetworkIngress = "networkIngress", NetworkEgress = "networkEgress", TcpConnectionOpen = "tcpConnectionsOpen", PvcUsage = "diskUsage", Requests = "requests", Http4xxResponses = "http4xxResponses", Http5xxResponses = "http5xxResponses", Bandwidth = "bandwidth", BandwidthVolume = "bandwidthVolume" } type MetricUnit = 'pct' | 'vCPU' | 'mb' | 'kbps' | 'rps' | 'count'; type MetricValue = { metadata: { containerId: string; volumeId?: string; }; data: { value: string | number; ts: Date; }[]; }; type MetricsEntry = { metricInfo: { metricId: MetricType; metricUnit: MetricUnit; metricResolution?: number; }; values: MetricValue[]; }; type MetricsRequestCommon = { metricTypes?: MetricType[]; deploymentId?: string; }; type JobMetricsRangeRequestData = MetricsRequestCommon & { startTime?: Date; endTime?: Date; timestamp?: never; duration?: number; containerName?: string | 'all'; runId?: undefined | string; buildId?: never; isBuild?: false; }; type MetricsRangeRequestData = JobMetricsRangeRequestData & { runId?: undefined; }; type MetricsRangeBuildRequestData = MetricsRequestCommon & { startTime?: Date; endTime?: Date; timestamp?: never; duration?: number; containerName?: never; runId?: never; buildId?: string; isBuild?: true; }; type JobMetricsSingleRequestData = MetricsRequestCommon & { timestamp?: Date; startTime?: never; endTime?: never; duration?: never; containerName?: string | 'all'; runId?: undefined | string; buildId?: never; isBuild?: false; }; type MetricsSingleRequestData = JobMetricsSingleRequestData & { runId?: undefined; }; type MetricsSingleBuildRequestData = MetricsRequestCommon & { timestamp?: Date; startTime?: never; endTime?: never; duration?: never; containerName?: never; runId?: never; buildId?: string; isBuild?: true; }; type GetServiceMetricsCall = (opts: { parameters: { projectId: string; serviceId: string; }; options?: MetricsSingleRequestData; }) => Promise; type GetServiceMetricsRangeCall = (opts: { parameters: { projectId: string; serviceId: string; }; options?: MetricsRangeRequestData; }) => Promise; type GetServiceBuildMetricsCall = (opts: { parameters: { projectId: string; serviceId: string; }; options?: MetricsSingleBuildRequestData; }) => Promise; type GetServiceBuildMetricsRangeCall = (opts: { parameters: { projectId: string; serviceId: string; }; options?: MetricsRangeBuildRequestData; }) => Promise; type GetJobMetricsCall = (opts: { parameters: { projectId: string; jobId: string; }; options?: JobMetricsSingleRequestData; }) => Promise; type GetJobMetricsRangeCall = (opts: { parameters: { projectId: string; jobId: string; }; options?: JobMetricsRangeRequestData; }) => Promise; type GetJobBuildMetricsCall = (opts: { parameters: { projectId: string; jobId: string; }; options?: MetricsSingleBuildRequestData; }) => Promise; type GetJobBuildMetricsRangeCall = (opts: { parameters: { projectId: string; jobId: string; }; options?: MetricsRangeBuildRequestData; }) => Promise; type GetAddonMetricsCall = (opts: { parameters: { projectId: string; addonId: string; }; options?: MetricsSingleRequestData; }) => Promise; type GetAddonMetricsRangeCall = (opts: { parameters: { projectId: string; addonId: string; }; options?: MetricsRangeRequestData; }) => Promise; declare class NorthflankMetricFetch { private readonly contextProvider; constructor(contextProvider: ApiClientContextProvider); /** Fetches service container metrics over a specific time span applying optional filters. */ getServiceMetrics: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: MetricsSingleRequestData; }) => Promise; /** Fetches service build container metrics over a specific time span applying optional filters. */ getServiceBuildMetrics: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: MetricsSingleBuildRequestData; }) => Promise; /** Fetches job container metrics over a specific time span applying optional filters. */ getJobMetrics: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: JobMetricsSingleRequestData; }) => Promise; /** Fetches job build container metrics over a specific time span applying optional filters. */ getJobBuildMetrics: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: MetricsSingleBuildRequestData; }) => Promise; /** Fetches addon container metrics over a specific time span applying optional filters. */ getAddonMetrics: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; }; options?: MetricsSingleRequestData; }) => Promise; metricsSingle: (parameters: { teamId?: string; projectId: string; entityId: string; }, data: MetricsSingleRequestData | MetricsSingleBuildRequestData | JobMetricsSingleRequestData, entityType: "service" | "job" | "addon") => Promise; getServiceMetricsRange: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: MetricsRangeRequestData; }) => Promise; /** Get metrics range for a service build container. */ getServiceBuildMetricsRange: (opts: { parameters: { teamId?: string; projectId: string; serviceId: string; }; options?: MetricsRangeBuildRequestData; }) => Promise; /** Get metrics range for a job container. */ getJobMetricsRange: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: JobMetricsRangeRequestData; }) => Promise; /** Get metrics range for a job build container. */ getJobBuildMetricsRange: (opts: { parameters: { teamId?: string; projectId: string; jobId: string; }; options?: MetricsRangeBuildRequestData; }) => Promise; /** Get metrics range for an addon container. */ getAddonMetricsRange: (opts: { parameters: { teamId?: string; projectId: string; addonId: string; }; options?: MetricsRangeRequestData; }) => Promise; /** Fetches a series of metrics over a timerange. */ metricsRange: (parameters: { teamId?: string; projectId: string; entityId: string; }, data: MetricsRangeRequestData | MetricsRangeBuildRequestData | JobMetricsRangeRequestData, entityType: "service" | "job" | "addon") => Promise; private getMetrics; } type GetAddonTypesResult = { /** A list of available addon types. */ 'addonTypes': { /** The identifier for the addon type. Example: "redis" */ 'type': string; /** The name of the addon type. Example: "Redis" */ 'name': string; /** A description of the addon. Example: "Redis implements a distributed, in-memory key-value database with optional durability." */ 'description': string; /** Features supported by this addon type. */ 'features'?: { /** Whether this addon supports native (dump) backups */ 'backupsDump': boolean; /** Whether this addon supports customising the database name. */ 'customDBName': boolean; /** Whether this addon supports addon forking - creating a new addon from an existing addon backup. */ 'forkAddon': boolean; /** Whether this addon supports importing from an external backup. */ 'importDump': boolean; /** Whether this addon supports importing from an existing live database. */ 'importLive': boolean; /** Whether this addon supports replica scaling. */ 'scaleReplicas': boolean; /** Whether this addon supports connection via TLS. Example: true */ 'tls': boolean; /** Whether this addon supports external connection. Example: true */ 'externalAccess': boolean; }; /** A list of available versions of the addon type. */ 'versions': string[]; /** A list of available major versions of the addon type. */ 'major': string[]; /** Details about resource options for the addon type. */ 'resources': { /** Details about storage size options for this addon. */ 'storage': { /** Available options for storage size for this addon, in MB. */ 'options': number[]; /** The default storage value for this addon. Example: 1024 */ 'default': number; }; /** Details about replica count options for this addon. */ 'replicas': { /** Available options for replica counts for this addon. */ 'options': number[]; /** The default replica count for this addon. Example: 1 */ 'default': number; }; }; }[] | { /** The identifier for the addon type. Example: "redis" */ 'type': string; /** The name of the addon type. Example: "Redis" */ 'name': string; /** A description of the addon. Example: "Redis implements a distributed, in-memory key-value database with optional durability." */ 'description': string; /** Features supported by this addon type. */ 'features'?: { /** Whether this addon supports native (dump) backups */ 'backupsDump': boolean; /** Whether this addon supports customising the database name. */ 'customDBName': boolean; /** Whether this addon supports addon forking - creating a new addon from an existing addon backup. */ 'forkAddon': boolean; /** Whether this addon supports importing from an external backup. */ 'importDump': boolean; /** Whether this addon supports importing from an existing live database. */ 'importLive': boolean; /** Whether this addon supports replica scaling. */ 'scaleReplicas': boolean; /** Whether this addon supports connection via TLS. Example: true */ 'tls': boolean; /** Whether this addon supports external connection. Example: true */ 'externalAccess': boolean; }; 'config': { /** Allow addon user to view values provided to templating engine. */ 'showTemplateValues'?: boolean; /** Allow addon user to edit values provided to templating engine. */ 'enableTemplateValuesModification'?: boolean; /** Allow addon user to view and resolve potential errors occuring with templating engine run. */ 'enableErrorRecovery'?: boolean; /** Install CRDs provided in resource bundle. */ 'installCrds'?: boolean; /** Apply Northflank secret injection instead of using Kubernetes secrets. */ 'useNfSecretInjection'?: boolean; /** Inject Northflank-specific Kubernetes imagePullSecret to Pod resources. */ 'useNfImagePullSecret'?: boolean; }; /** If the addon deploys any k8s resources which are not namespace/project-scoped, it's a cluster scoped addon */ 'scope': 'project' | 'cluster'; }[]; }; type GetAddonTypesCall = (opts: GetAddonTypesRequest) => Promise>; type GetAddonTypesRequest = {}; /** Gets information about the available addon types */ declare class GetAddonTypesEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonTypesRequest) => string; body: () => undefined; } type ListBackupdestinationsResult = { /** List of backup destinations. */ 'backupDestinations': { /** The name of the backup destination. Example: "Example Backup Destination" */ 'name': string; 'description'?: string; /** Type of the backup destination. */ 'type': 's3'; /** A prefix path to add to the bucket objects if not writing to / */ 'prefix': string; /** Credentials used for the backup destination. */ 'credentials': { 'accessKey': string; 'secretKey': string; 'bucketName': string; 'region': string; /** S3 destination including region, fe s3.us-west-2.amazonaws.com */ 'endpoint': string; }; }[]; }; type ListBackupdestinationsCall = ((opts: ListBackupdestinationsRequest) => Promise>) & { all: (opts: ListBackupdestinationsRequest) => Promise>; }; type ListBackupdestinationsRequest = { parameters?: ListBackupdestinationsParameters; options?: ListBackupdestinationsOptions; }; type ListBackupdestinationsParameters = { /** ID of the team */ 'teamId': string; }; type ListBackupdestinationsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists the backup destinations saved to this account. Does not display secrets. */ declare class ListBackupdestinationsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListBackupdestinationsRequest) => string; body: () => undefined; } type AddBackupdestinationResult = { /** The name of the backup destination. Example: "Example Backup Destination" */ 'name': string; 'description'?: string; /** Type of the backup destination. */ 'type': 's3'; /** A prefix path to add to the bucket objects if not writing to / */ 'prefix': string; /** Credentials used for the backup destination. */ 'credentials': { 'accessKey': string; 'secretKey': string; 'bucketName': string; 'region': string; /** S3 destination including region, fe s3.us-west-2.amazonaws.com */ 'endpoint': string; }; /** Identifier for the backup destination Example: "example-backup-destination" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type AddBackupdestinationCall = (opts: AddBackupdestinationRequest) => Promise>; type AddBackupdestinationRequest = { parameters?: AddBackupdestinationParameters; data: AddBackupdestinationData; }; type AddBackupdestinationParameters = { /** ID of the team */ 'teamId': string; }; type AddBackupdestinationData = { /** The name of the backup destination. Example: "Example Backup Destination" */ 'name': string; 'description'?: string; /** Type of the backup destination. */ 'type': 's3'; /** A prefix path to add to the bucket objects if not writing to / */ 'prefix': string; /** Credentials used for the backup destination. */ 'credentials': { 'accessKey': string; 'secretKey': string; 'bucketName': string; 'region': string; /** S3 destination including region, fe s3.us-west-2.amazonaws.com */ 'endpoint': string; }; }; /** Adds a new backup destination to this account. */ declare class AddBackupdestinationEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AddBackupdestinationRequest) => string; body: (payload: AddBackupdestinationRequest) => string; } type GetBackupdestinationResult = { /** The name of the backup destination. Example: "Example Backup Destination" */ 'name': string; 'description'?: string; /** Type of the backup destination. */ 'type': 's3'; /** A prefix path to add to the bucket objects if not writing to / */ 'prefix': string; /** Credentials used for the backup destination. */ 'credentials': { 'accessKey': string; 'secretKey': string; 'bucketName': string; 'region': string; /** S3 destination including region, fe s3.us-west-2.amazonaws.com */ 'endpoint': string; }; /** Identifier for the backup destination Example: "example-backup-destination" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetBackupdestinationCall = (opts: GetBackupdestinationRequest) => Promise>; type GetBackupdestinationRequest = { parameters: GetBackupdestinationParameters; }; type GetBackupdestinationParameters = { /** ID of the backup destination */ 'backupDestinationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the backup destination */ 'backupDestinationId': string; }; /** View a backup destination, including secrets. */ declare class GetBackupdestinationEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetBackupdestinationRequest) => string; body: () => undefined; } type PatchBackupdestinationResult = any; type PatchBackupdestinationCall = (opts: PatchBackupdestinationRequest) => Promise>; type PatchBackupdestinationRequest = { parameters: PatchBackupdestinationParameters; data: PatchBackupdestinationData; }; type PatchBackupdestinationParameters = { /** ID of the backup destination */ 'backupDestinationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the backup destination */ 'backupDestinationId': string; }; type PatchBackupdestinationData = { /** The name of the backup destination. Example: "Example Backup Destination" */ 'name'?: string; 'description'?: string; /** Credentials used for the backup destination. */ 'credentials'?: { 'accessKey': string; 'secretKey': string; 'bucketName': string; 'region': string; /** S3 destination including region, fe s3.us-west-2.amazonaws.com */ 'endpoint': string; }; }; /** Updates a backup destination. */ declare class PatchBackupdestinationEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchBackupdestinationRequest) => string; body: (payload: PatchBackupdestinationRequest) => string; } type DeleteBackupdestinationResult = any; type DeleteBackupdestinationCall = (opts: DeleteBackupdestinationRequest) => Promise>; type DeleteBackupdestinationRequest = { parameters: DeleteBackupdestinationParameters; }; type DeleteBackupdestinationParameters = { /** ID of the backup destination */ 'backupDestinationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the backup destination */ 'backupDestinationId': string; }; /** Delete a backup destination. */ declare class DeleteBackupdestinationEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteBackupdestinationRequest) => string; body: () => undefined; } type ListBackupdestinationsbackupsResult = { /** The identifier for the backup. Example: "example-backup" */ 'id': string; /** The name of the backup. Example: "Example Backup" */ 'name': string; /** The current status of the backup. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; 'project'?: { /** ID of the project this backup was taken for Example: "example-project" */ 'id'?: string; /** Name of the project this backup was taken for Example: "Example Project" */ 'name'?: string; }; 'addon'?: { /** ID of the addon this backup was taken for Example: "example-addon" */ 'id'?: string; /** Name of the addon this backup was taken for Example: "Example Addon" */ 'name'?: string; }; /** Data about the backup configuration. */ 'config': { /** The version of the addon at the time of the backup. The addon will be restored to this version when the backup is restored. Example: "4.4.8" */ 'addonVersion'?: string; /** The type of the addon this backup was taken for. Example: "mongodb" */ 'addonType'?: string; /** Data about the source of the backup. */ 'source'?: { /** The type of backup. Example: "global" */ 'type'?: 'global'; }; /** The size of the backup, in bytes Example: "1234" */ 'size': string; }; /** The schedules this backup was taken for. */ 'schedules'?: { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }[]; /** The time the backup will expiry. Example: "1729232400000.0" */ 'expiredBy': number; /** The time the backup was initiated. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the backup was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt': string; }[]; type ListBackupdestinationsbackupsCall = ((opts: ListBackupdestinationsbackupsRequest) => Promise>) & { all: (opts: ListBackupdestinationsbackupsRequest) => Promise>; }; type ListBackupdestinationsbackupsRequest = { parameters: ListBackupdestinationsbackupsParameters; options?: ListBackupdestinationsbackupsOptions; }; type ListBackupdestinationsbackupsParameters = { /** ID of the backup destination */ 'backupDestinationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the backup destination */ 'backupDestinationId': string; }; type ListBackupdestinationsbackupsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists the backups associated with a backup destinations. */ declare class ListBackupdestinationsbackupsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListBackupdestinationsbackupsRequest) => string; body: () => undefined; } type ListInvoicesResult = { 'invoices'?: { /** Information about the billing period of the invoice. */ 'period': { /** Unix timestamp of the start of the billing period. Example: 1655823815 */ 'start': number; /** Unix timestamp of the end of the billing period. Example: 1655910214 */ 'end': number; }; /** Total cost of the invoice, in cents, including tax. Example: 1200 */ 'total': number; /** If `timestamp` is passed in, whether the invoice has been paid. */ 'paid'?: boolean; }; }; type ListInvoicesCall = ((opts: ListInvoicesRequest) => Promise>) & { all: (opts: ListInvoicesRequest) => Promise>; }; type ListInvoicesRequest = { parameters?: ListInvoicesParameters; options?: ListInvoicesOptions; }; type ListInvoicesParameters = { /** ID of the team */ 'teamId': string; }; type ListInvoicesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get a list of past invoices */ declare class ListInvoicesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListInvoicesRequest) => string; body: () => undefined; } type GetInvoiceDetailsResult = { /** Information about the billing period of the invoice. */ 'period': { /** Unix timestamp of the start of the billing period. Example: 1655823815 */ 'start': number; /** Unix timestamp of the end of the billing period. Example: 1655910214 */ 'end': number; }; /** If `timestamp` is passed in, whether the invoice has been paid. */ 'paid'?: boolean; 'byocUsage'?: { 'price'?: { 'total'?: number; }; }; 'paasUsage': { 'price'?: { 'total'?: number; 'cpu'?: number; 'memory'?: number; 'storage'?: number; }; 'teams'?: { 'id'?: string; 'name'?: string; 'usage'?: { 'price'?: { 'total'?: number; 'cpu'?: number; 'memory'?: number; 'storage'?: number; }; 'projects'?: { 'id'?: string; 'price'?: { 'total'?: number; 'cpu'?: number; 'memory'?: number; 'storage'?: number; }; }[]; }; }[]; }; 'lineItems'?: { 'title'?: string; 'total'?: number; }[]; 'subTotal'?: number; 'discount'?: number; /** Details about the tax on the invoice. */ 'tax': { /** Percentage of subtotal to be applied as tax. Example: 20 */ 'percent': number; /** Value of the tax on the invoice. Example: 200 */ 'value': number; }; 'total'?: number; }; type GetInvoiceDetailsCall = (opts: GetInvoiceDetailsRequest) => Promise>; type GetInvoiceDetailsRequest = { parameters?: GetInvoiceDetailsParameters; options?: GetInvoiceDetailsOptions; }; type GetInvoiceDetailsParameters = { /** ID of the team */ 'teamId': string; }; type GetInvoiceDetailsOptions = { /** Timestamp of an invoice. If passed in, this endpoint will return details about the invoice that time belongs to. */ 'timestamp'?: number; }; /** Get details about an invoice. If `timestamp` is passed in as a query parameter, this endpoint returns details about the invoice containing that timestamp. Otherwise, returns a preview invoice displaying billing data from after the most recent invoice. */ declare class GetInvoiceDetailsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetInvoiceDetailsRequest) => string; body: () => undefined; } type ListCloudProvidersResult = { /** An array of supported cloud providers */ 'providers': { /** The ID of the provider. Example: "aws" */ 'id': string; /** The name of the provider. Example: "Amazon Web Services" */ 'name': string; /** The kubernetes engine used. Example: "Elastic Kubernetes Service (EKS)" */ 'engine': string; /** An array of available kubernetes versions */ 'kubernetesVersions': string[]; /** An array of supported node disk sizes */ 'diskSizes': number[]; /** An object with feature flags to indicate (un)supported features */ 'flags': { /** Preemptible/Spot node pool support Example: true */ 'preemptible'?: boolean; /** Node pool autoscaling support Example: true */ 'autoscaling'?: boolean; }; }[]; }; type ListCloudProvidersCall = (opts: ListCloudProvidersRequest) => Promise>; type ListCloudProvidersRequest = {}; /** Lists supported cloud providers */ declare class ListCloudProvidersEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListCloudProvidersRequest) => string; body: () => undefined; } type ListCloudClustersResult = { /** An array of clusters. */ 'clusters': { /** The ID of cluster Example: "gcp-cluster-1" */ 'id': string; /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; 'entityType'?: 'org' | 'team'; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; 'status'?: { 'state'?: { /** Current state of the cluster. Example: "running" */ 'state': string; /** Time of the last state transition. */ 'transitionTime'?: string; /** The reason, given the cluster is in an error state. */ 'reason'?: string; }; }; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** GPU type associated with the node pool. Example: "h100" */ 'type': string; 'resources': { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Number of GPUs per node. Example: 1 */ 'count': number; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets ids in which the node pool should be provisioned. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3Region': string; 's3BucketName': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; 'skipInstall'?: boolean; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; /** Auto-generated dns identifier for this cluster. Example: "xxxxxxxxxx" */ 'dns'?: string; /** The time the cluster was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; /** The time the cluster was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** Indicates if provider resource deletion has been requested. */ 'deletionRequested': boolean; }[]; }; type ListCloudClustersCall = ((opts: ListCloudClustersRequest) => Promise>) & { all: (opts: ListCloudClustersRequest) => Promise>; }; type ListCloudClustersRequest = { parameters?: ListCloudClustersParameters; options?: ListCloudClustersOptions; }; type ListCloudClustersParameters = { /** ID of the team */ 'teamId': string; }; type ListCloudClustersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists clusters for the authenticated user or team. */ declare class ListCloudClustersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListCloudClustersRequest) => string; body: () => undefined; } type CreateCloudClusterResult = { /** The ID of cluster Example: "gcp-cluster-1" */ 'id': string; /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; 'entityType'?: 'org' | 'team'; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; 'status'?: { 'state'?: { /** Current state of the cluster. Example: "running" */ 'state': string; /** Time of the last state transition. */ 'transitionTime'?: string; /** The reason, given the cluster is in an error state. */ 'reason'?: string; }; }; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** GPU type associated with the node pool. Example: "h100" */ 'type': string; 'resources': { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Number of GPUs per node. Example: 1 */ 'count': number; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; /** Auto-generated dns identifier for this cluster. Example: "xxxxxxxxxx" */ 'dns'?: string; /** The time the cluster was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; /** The time the cluster was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** Indicates if provider resource deletion has been requested. */ 'deletionRequested': boolean; }; type CreateCloudClusterCall = (opts: CreateCloudClusterRequest) => Promise>; type CreateCloudClusterRequest = { parameters?: CreateCloudClusterParameters; data: CreateCloudClusterData; }; type CreateCloudClusterParameters = { /** ID of the team */ 'teamId': string; }; type CreateCloudClusterData = { /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; }; /** Creates a new cluster. */ declare class CreateCloudClusterEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateCloudClusterRequest) => string; body: (payload: CreateCloudClusterRequest) => string; } type PutCloudClusterResult = { /** The ID of cluster Example: "gcp-cluster-1" */ 'id': string; /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; 'entityType'?: 'org' | 'team'; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; 'status'?: { 'state'?: { /** Current state of the cluster. Example: "running" */ 'state': string; /** Time of the last state transition. */ 'transitionTime'?: string; /** The reason, given the cluster is in an error state. */ 'reason'?: string; }; }; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** GPU type associated with the node pool. Example: "h100" */ 'type': string; 'resources': { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Number of GPUs per node. Example: 1 */ 'count': number; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; /** Auto-generated dns identifier for this cluster. Example: "xxxxxxxxxx" */ 'dns'?: string; /** The time the cluster was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; /** The time the cluster was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** Indicates if provider resource deletion has been requested. */ 'deletionRequested': boolean; }; type PutCloudClusterCall = (opts: PutCloudClusterRequest) => Promise>; type PutCloudClusterRequest = { parameters?: PutCloudClusterParameters; data: PutCloudClusterData; }; type PutCloudClusterParameters = { /** ID of the team */ 'teamId': string; }; type PutCloudClusterData = { /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; }; /** Creates or update a cluster. */ declare class PutCloudClusterEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutCloudClusterRequest) => string; body: (payload: PutCloudClusterRequest) => string; } type GetCloudClusterResult = { /** The ID of cluster Example: "gcp-cluster-1" */ 'id': string; /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; 'entityType'?: 'org' | 'team'; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; 'status'?: { 'state'?: { /** Current state of the cluster. Example: "running" */ 'state': string; /** Time of the last state transition. */ 'transitionTime'?: string; /** The reason, given the cluster is in an error state. */ 'reason'?: string; }; }; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** GPU type associated with the node pool. Example: "h100" */ 'type': string; 'resources': { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Number of GPUs per node. Example: 1 */ 'count': number; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; /** Auto-generated dns identifier for this cluster. Example: "xxxxxxxxxx" */ 'dns'?: string; /** The time the cluster was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; /** The time the cluster was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** Indicates if provider resource deletion has been requested. */ 'deletionRequested': boolean; }; type GetCloudClusterCall = (opts: GetCloudClusterRequest) => Promise>; type GetCloudClusterRequest = { parameters: GetCloudClusterParameters; }; type GetCloudClusterParameters = { /** ID of the cluster */ 'clusterId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; }; /** Get information about the given cluster */ declare class GetCloudClusterEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetCloudClusterRequest) => string; body: () => undefined; } type PatchCloudClusterResult = { /** The ID of cluster Example: "gcp-cluster-1" */ 'id': string; /** The name of the cluster. Example: "GCP Cluster 1" */ 'name': string; 'entityType'?: 'org' | 'team'; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; 'status'?: { 'state'?: { /** Current state of the cluster. Example: "running" */ 'state': string; /** Time of the last state transition. */ 'transitionTime'?: string; /** The reason, given the cluster is in an error state. */ 'reason'?: string; }; }; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** Existing integration to use for this cluster. Example: "gcp-integration" */ 'integrationId'?: string; 'storage'?: { 'storageClasses'?: { 'id': string; 'name': string; 'description'?: string; 'type'?: 'storage-class' | 'snapshot-class'; 'kubernetesName': string; 'defaultSnapshotClass'?: string; 'options'?: { 'capabilities'?: { /** Increasing volume size after provisioning. */ 'expansion'?: boolean; /** Point in time snapshotting of volumes. */ 'snapshot'?: boolean; }; 'accessModes'?: { /** Access mode where a volume is exclusively attached to a single pod at a time. */ 'ReadWriteOnce'?: boolean; /** Access mode where a volume can be attached to multiple single pods at a time for read and write operations. */ 'ReadWriteMany'?: boolean; }; 'storageSize'?: { /** Enforces a minimum storage size per addon or volume. */ 'minValidSize'?: number; /** Enforces a maximum storage size per addon or volume. */ 'maxValidSize'?: number; /** Specific storage size options to suggest in the UI. */ 'suggestedOptions'?: number[]; }; 'platform'?: { 'supportedResources'?: 'addon' | 'volume' | 'build-cache'[]; }; }; }[]; 'snapshotClasses'?: { 'id': string; 'name': string; 'description'?: string; 'kubernetesName': string; }[]; }; /** An array of node pools for BYOC or BYOK. */ 'nodePools': { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** GPU type associated with the node pool. Example: "h100" */ 'type': string; 'resources': { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Number of GPUs per node. Example: 1 */ 'count': number; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** OCI specific data. Required when `provider` is `oci`. */ 'oci'?: { 'vcnConfiguration': { 'vcnId': string; 'subnetIdForKubernetesApi': string; 'subnetIdsForServiceLBs': string[]; }; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** CoreWeave specific data. Required when `provider` is `coreweave`. */ 'coreweave'?: { /** AZ of the cluster */ 'zone': string; /** Network settings */ 'network'?: { 'networkMode': 'create-default' | 'custom'; 'vpcId'?: string; 'customPrefixNames'?: { 'podCidrName': string; 'serviceCidrName': string; 'internalLbCidrNames': string[]; }; }; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; /** Auto-generated dns identifier for this cluster. Example: "xxxxxxxxxx" */ 'dns'?: string; /** The time the cluster was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; /** The time the cluster was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** Indicates if provider resource deletion has been requested. */ 'deletionRequested': boolean; }; type PatchCloudClusterCall = (opts: PatchCloudClusterRequest) => Promise>; type PatchCloudClusterRequest = { parameters: PatchCloudClusterParameters; data: PatchCloudClusterData; }; type PatchCloudClusterParameters = { /** ID of the cluster */ 'clusterId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; }; type PatchCloudClusterData = { /** The name of the cluster. Example: "GCP Cluster 1" */ 'name'?: string; /** The description of the cluster. Example: "This is a new cluster." */ 'description'?: string; /** Region of the cluster. Can only be updated for BYOK clusters. Example: "europe-west2" */ 'region'?: string; /** Deprecated: This field is no longer used, the version is now set by the platform. Example: "1.30" */ 'kubernetesVersion'?: string; /** An array of node pools for BYOC or BYOK. */ 'nodePools'?: { /** ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'id': string; /** Machine type to be used by the node pool. Example: "n2-standard-8" */ 'nodeType': string; /** OCI instance specific settings. Must respect ratios as determined by the selected node type. */ 'oci'?: { 'ocpu': number; 'memory': number; }; /** GCP specific settings. */ 'gcp'?: { /** Set this flag to disable public IP assignment for nodes in this node pool. */ 'enablePrivateNodes'?: boolean; }; /** Azure specific settings. */ 'azure'?: { /** When 'provider' is 'azure', at least one system node pool is required per cluster. */ 'systemPool'?: boolean; /** When 'provider' is 'azure', set this flag to use public node IPs. */ 'enablePublicNodeIp'?: boolean; /** ID of the vnet subnet to use. */ 'vnetSubnetId'?: string; }; /** AWS specific node pool settings. */ 'aws'?: { /** Specify a launch template to use for this node pool. When using a launch template, the disk size selection on the node pool level will be ignored. */ 'launchTemplate'?: { /** ID of the launch template to use. */ 'id': string; /** Version of the launch template that should be used. */ 'version': number; }; }; /** Number of nodes to the node pool should be provisioned with. Example: 3 */ 'nodeCount': number; /** Auto scaling settings to use for the node pool. Requires that the cloud provider supports this feature. */ 'autoscaling'?: { 'enabled'?: boolean; 'min'?: number; 'max'?: number; } | null; 'computeResources'?: { 'gpu'?: { /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; }; }; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** The disk type to use. */ 'diskType'?: string; /** Disk size in GB Example: 100 */ 'diskSize': number; /** Zones in which the node pool should be provisioned. */ 'availabilityZones'?: string[]; /** Subnets in which the node pool should be provisioned. Required if provider is `oci`. */ 'subnets'?: string[]; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[] | { /** ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools Example: "node-pool-1" */ 'id': string; /** ID which identifies kubernetes nodes as belonging to this pool. Example: "6aa96121-0345-43ad-bade-af36d540c222" */ 'providerId': string; 'computeResources'?: { 'gpu'?: { /** Whether this node pool consists of GPU nodes . */ 'supported'?: boolean; /** GPU type associated with the node pool. Example: "h100" */ 'type'?: string; 'resources'?: { 'memoryInfo'?: { /** Memory amount of the GPU in Gib. Example: 80 */ 'sizeInGiB'?: number; }; }; /** Multi-Instance GPU (MIG). configuration object. */ 'mig'?: { /** Whether or not to enable Multi-Instance GPU (MIG). */ 'enabled'?: boolean; /** The partitions to configure on the GPU. */ 'partitions'?: string[]; }; /** Time-slicing configuration object. */ 'timeslicing'?: { /** Whether or not to enable time-slicing on the GPU. */ 'enabled'?: boolean; /** Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. */ 'numSlices'?: number; }; /** Number of GPUs per node. Example: 1 */ 'count'?: number; }; }; /** Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required. */ 'defaultPool'?: boolean; /** Configures node pool with preemptible / spot instances if enabled. */ 'preemptible'?: boolean; /** Define basic workload scheduling restrictions for this node pool */ 'scheduling'?: { /** Allow jobs to schedule to this node pool */ 'allowJobs'?: boolean; /** Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuJobs'?: boolean; /** Allow services to schedule to this node pool */ 'allowServices'?: boolean; /** Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuServices'?: boolean; /** Allow addons to schedule to this node pool */ 'allowAddons'?: boolean; /** Allow builds to schedule to this node pool */ 'allowBuilds'?: boolean; /** Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools. */ 'onlyGpuBuilds'?: boolean; /** Allow the placement of Ceph pods */ 'allowCeph'?: boolean; }; 'platform'?: { /** Platform architecture of the underlying node type. Example: "amd64" */ 'architecture'?: 'amd64' | 'arm64'; }; /** Set of label keys and values that can be used for advanced scheduling in combination with resource tag scheduling rules. */ 'labels'?: any; }[]; 'settings'?: { 'builds'?: { 'mode'?: 'paas' | 'internal' | 'build-cluster'; /** Plan to use for builds if they are run on the cluster Example: "nf-compute-200" */ 'plan'?: string; /** Cluster to use for scheduling builds */ 'clusterId'?: string; /** Cache settings for builds */ 'caching'?: { /** Whether to allow local disk based caching for builds. */ 'allow'?: boolean; /** Storage class used by default for local disk based caching. */ 'storageClassName'?: string; }; }; 'registry'?: { 'mode'?: 'paas' | 'self-hosted'; /** Credentials to use for storing of images. Example: "my-registry-credentials" */ 'registryId'?: string; }; /** Logging settings */ 'logging'?: { 'mode'?: 'paas'; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 's3'; 's3BucketName': string; 's3AccessKey': string; 's3SecretKey': string; 's3Region': string; }; } | { 'mode': 'loki'; 'loki'?: { 'storageType': 'gcs'; 'gcsBucketName': string; 'gcpIntegrationId': string; }; }; 'networking'?: { /** Whether overlay networking is enabled for this cluster. */ 'overlayNetwork'?: boolean; /** CIDR range for the overlay network. */ 'overlayCIDR'?: string; }; 'vanityDomains'?: { 'apps'?: { 'zoneName': string; 'integrationId': string; }; 'customDomains'?: { 'zoneName': string; 'integrationId': string; }; 'loadBalancers'?: { 'zoneName': string; 'integrationId': string; }; }; 'infrastructure'?: { 'workloads'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'builds'?: { 'runtimeClass'?: 'none' | 'gvisor' | 'kata-clh' | 'kata-qemu'; }; 'installKata'?: boolean; 'installGvisor'?: boolean; 'cleanupVolumes'?: boolean; 'cleanupSnapshots'?: boolean; 'cephStorageProvider'?: { 'enabled'?: boolean; 'resources'?: { /** Configure the CPU resources per Ceph replica */ 'cpu'?: number; /** Configure the memory resources per Ceph replica */ 'memory'?: number; /** Configure the data disk size per Ceph replica */ 'storage'?: number; }; /** Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster. */ 'enableMultiReadWriteStorage'?: boolean; /** Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider. */ 'enableSingleReadWriteStorage'?: boolean; /** Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective. */ 'enableErasureCoding'?: boolean; /** Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones. */ 'enableTopologyAwareScheduling'?: boolean; }; }; /** Allows customising request modifier values. */ 'requestModifiers'?: { /** Request modifiers for services */ 'services'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for jobs */ 'jobs'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for builds */ 'builds'?: { 'cpu': number; 'memory': number; }; /** Request modifiers for addons */ 'addons'?: { 'cpu': number; 'memory': number; }; }; }; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** GCP specific data. Required when `provider` is `gcp` */ 'gcp'?: { 'networking'?: { 'network'?: string; 'subnetwork'?: string; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; /** GCP Project ID */ 'projectId'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { 'enablePublicAccessCidrs'?: boolean; 'publicAccessCidrs'?: string[]; 'subnetConfiguration'?: { /** The mode of the AWS subnet configuration */ 'mode': 'default-subnets-for-azs' | 'explicit-subnets'; /** Id of the VPC */ 'vpcId'?: string; /** List of subnets the cluster should be created for. At least 2 must be specified. */ 'subnets': string[]; }; /** If egress traffic from the cluster should come from a single static egress IP. */ 'vpcEgress'?: boolean; }; /** Azure specific data. Required when `provider` is `azure`. */ 'azure'?: { 'networking'?: { 'vnetConfiguration'?: { /** The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. */ 'mode': 'create-default' | 'custom-vnet'; /** Azure vnetId that should be used for this cluster. By default a new vnet will be created. */ 'vnetId'?: string; }; /** Optional setting to configure overlay mode on Azure. */ 'networkPluginMode'?: 'overlay'; }; 'enableAuthorizedIpRanges'?: boolean; 'authorizedIpRanges'?: string[]; }; /** BYOK specific data. Required when `provider` is `byok`. */ 'byok'?: { 'nodePoolProviderIdLabel': string; }; /** Geographic coordinates of the cluster. Optional, used for CDN geo-routing. Only applicable when `provider` is `byok`. */ 'coordinates'?: { 'latitude': number; 'longitude': number; }; }; /** Updates a cluster. */ declare class PatchCloudClusterEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchCloudClusterRequest) => string; body: (payload: PatchCloudClusterRequest) => string; } type DeleteCloudClusterResult = any | any; type DeleteCloudClusterCall = (opts: DeleteCloudClusterRequest) => Promise>; type DeleteCloudClusterRequest = { parameters: DeleteCloudClusterParameters; }; type DeleteCloudClusterParameters = { /** ID of the cluster */ 'clusterId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; }; /** Delete the given cluster. Fails if the cluster has associated projects. */ declare class DeleteCloudClusterEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteCloudClusterRequest) => string; body: () => undefined; } type ListCloudClusterNodesResult = { /** An array of nodes. */ 'nodes': { /** The id of the node. Example: "87a11ea9-3493-40d3-9f50-280c1d7c77a3" */ 'nodeId'?: string; /** The name of the node. Example: "gke-nf-example-cluster-nf-951dfaf6-a70a-7697bc0d-n771" */ 'nodeName'?: string; /** The node pool the node is a part of. Example: "nf-951dfaf6-a70a-4550-bab6-b5364d5da20c" */ 'nodePool'?: string; /** The status of the node. Example: "RUNNING" */ 'status'?: string; /** The zone the node is running in. Example: "us-central1-c" */ 'zone'?: string; /** The region the node is running in. Example: "us-central1" */ 'region'?: string; /** The type of the node. Example: "n2-standard-4" */ 'instanceType'?: string; 'createdAt'?: string; }[]; }; type ListCloudClusterNodesCall = ((opts: ListCloudClusterNodesRequest) => Promise>) & { all: (opts: ListCloudClusterNodesRequest) => Promise>; }; type ListCloudClusterNodesRequest = { parameters: ListCloudClusterNodesParameters; options?: ListCloudClusterNodesOptions; }; type ListCloudClusterNodesParameters = { /** ID of the cluster */ 'clusterId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; }; type ListCloudClusterNodesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter the node list by state of the nodes. */ 'status'?: string; }; /** Get a list of nodes for the given cluster */ declare class ListCloudClusterNodesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListCloudClusterNodesRequest) => string; body: () => undefined; } type CordonCloudClusterNodeResult = any; type CordonCloudClusterNodeCall = (opts: CordonCloudClusterNodeRequest) => Promise>; type CordonCloudClusterNodeRequest = { parameters: CordonCloudClusterNodeParameters; }; type CordonCloudClusterNodeParameters = { /** ID of the cluster */ 'clusterId': string; /** ID of the node */ 'nodeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; /** ID of the node */ 'nodeId': string; }; /** Cordon a node on the cluster to prevent new pods from scheduling on it. */ declare class CordonCloudClusterNodeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CordonCloudClusterNodeRequest) => string; body: () => undefined; } type DrainCloudClusterNodeResult = any; type DrainCloudClusterNodeCall = (opts: DrainCloudClusterNodeRequest) => Promise>; type DrainCloudClusterNodeRequest = { parameters: DrainCloudClusterNodeParameters; }; type DrainCloudClusterNodeParameters = { /** ID of the cluster */ 'clusterId': string; /** ID of the node */ 'nodeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; /** ID of the node */ 'nodeId': string; }; /** Drain a node by evicting all running pods. */ declare class DrainCloudClusterNodeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DrainCloudClusterNodeRequest) => string; body: () => undefined; } type UncordonCloudClusterNodeResult = any; type UncordonCloudClusterNodeCall = (opts: UncordonCloudClusterNodeRequest) => Promise>; type UncordonCloudClusterNodeRequest = { parameters: UncordonCloudClusterNodeParameters; }; type UncordonCloudClusterNodeParameters = { /** ID of the cluster */ 'clusterId': string; /** ID of the node */ 'nodeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the cluster */ 'clusterId': string; /** ID of the node */ 'nodeId': string; }; /** Uncordon a node on the cluster if it was previously cordoned. */ declare class UncordonCloudClusterNodeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UncordonCloudClusterNodeRequest) => string; body: () => undefined; } type ListCloudIntegrationsResult = { /** An array of integrations. */ 'integrations': { /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; /** ID of the integration Example: "example-integration" */ 'id': string; /** The time the integration was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; }[]; }; type ListCloudIntegrationsCall = ((opts: ListCloudIntegrationsRequest) => Promise>) & { all: (opts: ListCloudIntegrationsRequest) => Promise>; }; type ListCloudIntegrationsRequest = { parameters?: ListCloudIntegrationsParameters; options?: ListCloudIntegrationsOptions; }; type ListCloudIntegrationsParameters = { /** ID of the team */ 'teamId': string; }; type ListCloudIntegrationsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists integrations for the authenticated user or team. */ declare class ListCloudIntegrationsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListCloudIntegrationsRequest) => string; body: () => undefined; } type CreateCloudIntegrationResult = { /** ID of the integration Example: "example-integration" */ 'id': string; /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials': { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; /** Service account email that will be used for cross account access. */ 'serviceAccountEmail'?: string; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; /** The time the integration was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; }; type CreateCloudIntegrationCall = (opts: CreateCloudIntegrationRequest) => Promise>; type CreateCloudIntegrationRequest = { parameters?: CreateCloudIntegrationParameters; data: CreateCloudIntegrationData; }; type CreateCloudIntegrationParameters = { /** ID of the team */ 'teamId': string; }; type CreateCloudIntegrationData = { /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials': { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; }; /** Creates a new integration. */ declare class CreateCloudIntegrationEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateCloudIntegrationRequest) => string; body: (payload: CreateCloudIntegrationRequest) => string; } type PutCloudIntegrationResult = { /** ID of the integration Example: "example-integration" */ 'id': string; /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials': { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; /** Service account email that will be used for cross account access. */ 'serviceAccountEmail'?: string; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; /** The time the integration was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; }; type PutCloudIntegrationCall = (opts: PutCloudIntegrationRequest) => Promise>; type PutCloudIntegrationRequest = { parameters: PutCloudIntegrationParameters; data: PutCloudIntegrationData; }; type PutCloudIntegrationParameters = { /** ID of the provider integration */ 'integrationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the provider integration */ 'integrationId': string; }; type PutCloudIntegrationData = { /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials': { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; }; /** Creates or updates a integration. */ declare class PutCloudIntegrationEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutCloudIntegrationRequest) => string; body: (payload: PutCloudIntegrationRequest) => string; } type GetCloudIntegrationResult = { /** ID of the integration Example: "example-integration" */ 'id': string; /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials': { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; /** Service account email that will be used for cross account access. */ 'serviceAccountEmail'?: string; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; /** The time the integration was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; }; type GetCloudIntegrationCall = (opts: GetCloudIntegrationRequest) => Promise>; type GetCloudIntegrationRequest = { parameters: GetCloudIntegrationParameters; }; type GetCloudIntegrationParameters = { /** ID of the provider integration */ 'integrationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the provider integration */ 'integrationId': string; }; /** Get information about the given integration */ declare class GetCloudIntegrationEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetCloudIntegrationRequest) => string; body: () => undefined; } type PatchCloudIntegrationResult = { /** ID of the integration Example: "example-integration" */ 'id': string; /** The name of the cloud provider integration. Example: "Example Integration" */ 'name': string; /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; /** Cloud provider to be used for the selected resource Example: "gcp" */ 'provider': 'aws' | 'azure' | 'civo' | 'gcp' | 'oci' | 'cloudflare' | 'coreweave' | 'aiven' | 'backblaze' | 'akamai' | 'byok'; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials': { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; /** AWS specific data. Required when `provider` is `aws`. */ 'aws'?: { /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; }; /** GCP specific data. Required when `provider` is `gcp`. */ 'gcp'?: { /** GCP Project ID */ 'projectId': string; /** The provider authentication mode to use for this integration. Example: "accessKey" */ 'authenticationMode'?: 'accessKey' | 'crossAccountRole'; /** Service account email that will be used for cross account access. */ 'serviceAccountEmail'?: string; }; /** Cloudflare specific data. Required when `provider` is `cloudflare`. */ 'cloudflare'?: { /** The type of api key Example: "apiToken" */ 'credentialType'?: 'apiToken' | 'originCAKey' | 'globalApiKey'; }; /** The time the integration was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; }; type PatchCloudIntegrationCall = (opts: PatchCloudIntegrationRequest) => Promise>; type PatchCloudIntegrationRequest = { parameters: PatchCloudIntegrationParameters; data: PatchCloudIntegrationData; }; type PatchCloudIntegrationParameters = { /** ID of the provider integration */ 'integrationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the provider integration */ 'integrationId': string; }; type PatchCloudIntegrationData = { /** The description of the integration. Example: "This is a new cloud provider integration." */ 'description'?: string; 'features'?: 'byoc' | 'byoc-static-egress' | 'byoc-custom-launch-templates' | 'byoc-custom-vpc' | 'byoc-logs' | 'cloudfront' | 'route53' | 'registry-pull' | 'registry-push' | 'opentofu' | 'workload-identity'[]; /** BYOC restrictions configuration for controlling team access */ 'restrictions'?: { /** Enable or disable BYOC restrictions for this entity */ 'enabled': boolean; /** List of teams that have access to this BYOC cluster */ 'teams'?: { /** The ID of the team that has access to this BYOC cluster */ 'teamId': string; }[]; }; /** Cloud provider credential input, required fields dependent on which provider is chosen. */ 'credentials'?: { /** Contents of a GCP key file. */ 'keyfileJson'?: string; /** AWS access key. */ 'accessKey'?: string; /** AWS secret key. */ 'secretKey'?: string; /** AWS IAM role ARN. */ 'roleArn'?: string; /** AWS shared secret (external id). */ 'externalId'?: string; /** API key. */ 'apiKey'?: string; /** Email address for Cloudflare global API key. */ 'email'?: string; /** Directory (tenant) ID */ 'tenantId'?: string; /** Application (client) ID */ 'clientId'?: string; /** Object ID */ 'objectId'?: string; /** Secret */ 'secret'?: string; /** Azure Subscription ID */ 'subscriptionId'?: string; /** OCI Authentication Region */ 'region'?: string; /** OCI Tenancy ID */ 'tenancyId'?: string; /** User ID */ 'userId'?: string; /** Fingerprint */ 'fingerprint'?: string; /** OCI Private Key */ 'privateKey'?: string; /** Passphrase */ 'passphrase'?: string; /** OCI Compartment ID */ 'compartmentId'?: string; /** Kubeconfig */ 'kubeconfig'?: string; /** Backblaze Application Key ID */ 'applicationKeyId'?: string; /** Backblaze Application Key */ 'applicationKey'?: string; /** Akamai Host */ 'host'?: string; /** Akamai Access Token */ 'accessToken'?: string; /** Akamai Client Token */ 'clientToken'?: string; /** Akamai Client Secret */ 'clientSecret'?: string; }; }; /** Updates a integration. */ declare class PatchCloudIntegrationEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchCloudIntegrationRequest) => string; body: (payload: PatchCloudIntegrationRequest) => string; } type DeleteCloudIntegrationResult = any | any; type DeleteCloudIntegrationCall = (opts: DeleteCloudIntegrationRequest) => Promise>; type DeleteCloudIntegrationRequest = { parameters: DeleteCloudIntegrationParameters; }; type DeleteCloudIntegrationParameters = { /** ID of the provider integration */ 'integrationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the provider integration */ 'integrationId': string; }; /** Delete the given integration. Fails if the integration is associated with existing clusters. */ declare class DeleteCloudIntegrationEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteCloudIntegrationRequest) => string; body: () => undefined; } type ListCloudNodetypesResult = { /** An array of supported cloud provider node types */ 'providers': { /** The ID of the node type Example: "n2-standard-8" */ 'id': string; /** The name of the node type Example: "n2-standard-8" */ 'name': string; /** An listing the resources of this node type */ 'resources': { /** Number of vCPU of this node type Example: 8 */ 'vcpu'?: number; /** Amount of memory capacity in GB of this node type Example: 32 */ 'memory'?: number; }; /** Family of the node type Example: "N" */ 'family': string; /** Processor family of the node type Example: "intel" */ 'processorFamily': string; /** Workload this node type is optimized for Example: "general-purpose" */ 'workloadType': string; }[]; }; type ListCloudNodetypesCall = ((opts: ListCloudNodetypesRequest) => Promise>) & { all: (opts: ListCloudNodetypesRequest) => Promise>; }; type ListCloudNodetypesRequest = { options?: ListCloudNodetypesOptions; }; type ListCloudNodetypesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** If provided, only returns items belonging to this cloud provider. */ 'provider'?: string; /** If provided, only returns items available in this region. */ 'region'?: string; /** If provided, only returns items of this family. */ 'family'?: string; /** If provided, only returns items with a generation age less than or equal to the number given. */ 'maxGenerationAge'?: number; /** If true, only returns items with GPUs. If false, only returns items without GPUs. */ 'hasGpu'?: boolean; }; /** Lists supported cloud provider node types */ declare class ListCloudNodetypesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListCloudNodetypesRequest) => string; body: () => undefined; } type ListCloudRegionsResult = { /** An array of supported cloud provider regions */ 'providers': { /** The ID of the region Example: "europe-west1" */ 'id': string; /** The name of the region Example: "europe-west1" */ 'name': string; /** The availability zones belonging to this region */ 'availabilityZones': { /** The id of the availability zone Example: "europe-west1-b" */ 'id': string; /** The name of the availability zone Example: "europe-west1-b" */ 'name': string; }[]; }[]; }; type ListCloudRegionsCall = ((opts: ListCloudRegionsRequest) => Promise>) & { all: (opts: ListCloudRegionsRequest) => Promise>; }; type ListCloudRegionsRequest = { options?: ListCloudRegionsOptions; }; type ListCloudRegionsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** If provided, only returns items belonging to this cloud provider. */ 'provider'?: string; }; /** Lists supported cloud provider regions */ declare class ListCloudRegionsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListCloudRegionsRequest) => string; body: () => undefined; } type GetOrgdirectorygroupsResult = { /** An array of org directory groups. */ 'directoryGroups': { /** ID of the directory group. Example: "directory_group_1234567890ABCDEFGHIJKLMNOP" */ 'id': string; /** Display name of the directory group. */ 'name': string; /** ID of the linked group from the Identity Provider (IdP). */ 'idpId': string; 'createdAt': string; 'updatedAt': string; }[]; }; type GetOrgdirectorygroupsCall = (opts: GetOrgdirectorygroupsRequest) => Promise>; type GetOrgdirectorygroupsRequest = {}; /** Lists the Directory Sync directory groups for the authenticated org. */ declare class GetOrgdirectorygroupsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetOrgdirectorygroupsRequest) => string; body: () => undefined; } type ListOrgdirectorygroupmembersResult = { /** An array of members in the directory group. */ 'members': { /** ID (username) of the directory member. Example: "john-doe" */ 'id': string | null; /** Display name from the member profile. Example: "John Doe" */ 'name'?: string; /** Email addresses of the member. Example: ["john@example.com"] */ 'emails'?: string[]; }[]; }; type ListOrgdirectorygroupmembersCall = ((opts: ListOrgdirectorygroupmembersRequest) => Promise>) & { all: (opts: ListOrgdirectorygroupmembersRequest) => Promise>; }; type ListOrgdirectorygroupmembersRequest = { parameters: ListOrgdirectorygroupmembersParameters; options?: ListOrgdirectorygroupmembersOptions; }; type ListOrgdirectorygroupmembersParameters = { /** ID of the directory group */ 'groupId': string; }; type ListOrgdirectorygroupmembersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists the users who are members of the org via a specific Directory Sync group. */ declare class ListOrgdirectorygroupmembersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListOrgdirectorygroupmembersRequest) => string; body: () => undefined; } type GetDnsidResult = { /** The partially random string associated with the authenticated account, used for generating DNS entries. Example: "exam-1234" */ 'dns': string; }; type GetDnsidCall = (opts: GetDnsidRequest) => Promise>; type GetDnsidRequest = { parameters?: GetDnsidParameters; }; type GetDnsidParameters = { /** ID of the team */ 'teamId': string; }; /** Returns the partially random string used when generating host names for the authenticated account. */ declare class GetDnsidEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetDnsidRequest) => string; body: () => undefined; } type ListDomainsResult = { /** A list of domains registered to this account. */ 'domains': { /** The domain name. Example: "example.com" */ 'name': string; /** The status of the domain verification. Example: "verified" */ 'status': 'pending' | 'verified'; /** The hostname to add to your domain's DNS records as a TXT record to verify the domain. Example: "nfverify1608026055" */ 'hostname': string; /** The token to add as the content of the TXT record to verify the domain. Example: "e596987b52855a4a773ef580ce2985d7746b37ce8b2a443d20fa27b913d8f57" */ 'token': string; }[]; }; type ListDomainsCall = ((opts: ListDomainsRequest) => Promise>) & { all: (opts: ListDomainsRequest) => Promise>; }; type ListDomainsRequest = { parameters?: ListDomainsParameters; options?: ListDomainsOptions; }; type ListDomainsParameters = { /** ID of the team */ 'teamId': string; }; type ListDomainsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists available domains */ declare class ListDomainsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListDomainsRequest) => string; body: () => undefined; } type CreateDomainResult = { /** The domain name. Example: "example.com" */ 'name': string; /** The status of the domain verification. Example: "pending" */ 'status': 'pending' | 'verified'; /** The hostname to add to your domain's DNS records as a TXT record to verify the domain. Example: "nfverify1608026055" */ 'hostname'?: string; /** The token to add as the content of the TXT record to verify the domain. Example: "e596987b52855a4a773ef580ce2985d7746b37ce8b2a443d20fa27b913d8f57" */ 'token'?: string; /** Configuration regarding the domain redirect set up. */ 'redirect'?: { /** Domain redirect mode. Example: "default" */ 'mode': string; 'target'?: { /** Expected CNAME target of the wildcard redirect. */ 'record'?: string; }; }; /** Configuration regarding the domain certificate set up. */ 'certificates'?: { /** Domain certificate mode. Example: "default" */ 'mode': string; /** DCV CNAME record used to provision wildcard certificates. */ 'dcvRecord'?: string; 'dcvTarget'?: { /** Expected CNAME target of the dcvRecord. */ 'record'?: string; }; /** Certificate status for wildcard domains. */ 'status'?: { /** Expiry date of the current certificate. */ 'expiryDate'?: string; }; }; } | any; type CreateDomainCall = (opts: CreateDomainRequest) => Promise>; type CreateDomainRequest = { parameters?: CreateDomainParameters; data: CreateDomainData; }; type CreateDomainParameters = { /** ID of the team */ 'teamId': string; }; type CreateDomainData = { /** The domain name to register. Example: "example.com" */ 'domain': string; /** Optional configuration regarding the domain redirect set up. */ 'redirect'?: { /** Domain redirect mode to be used. Example: "default" */ 'mode'?: 'wildcard' | 'default'; /** Northflank PaaS region the wildcard redirect should be pointed at. */ 'region'?: string; /** BYOC cluster the wildcard redirect should be pointed at. */ 'cluster'?: string; }; 'options'?: { /** The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account. */ 'autoVerify'?: boolean; }; /** Optional configuration regarding the domain certificate set up. */ 'certificates'?: { /** Certificate provisioning mode to be used. Example: "default" */ 'mode'?: 'wildcard' | 'wildcard-import' | 'default'; 'certificateInput'?: { /** Certificate data - required when `mode` is set to `wildcard-import` */ 'certificateInput'?: { 'is'?: any; 'then': { /** Certificate private key. */ 'privateKey': string; /** Certificate chain. May consist of one or more certificates. */ 'certificateChain': string; }; }; }; }; }; /** Registers a new domain */ declare class CreateDomainEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateDomainRequest) => string; body: (payload: CreateDomainRequest) => string; } type GetDomainResult = { /** The domain name. Example: "example.com" */ 'name': string; /** The status of the domain verification. Example: "pending" */ 'status': 'pending' | 'verified'; /** The hostname to add to your domain's DNS records as a TXT record to verify the domain. Example: "nfverify1608026055" */ 'hostname'?: string; /** The token to add as the content of the TXT record to verify the domain. Example: "e596987b52855a4a773ef580ce2985d7746b37ce8b2a443d20fa27b913d8f57" */ 'token'?: string; /** Configuration regarding the domain redirect set up. */ 'redirect'?: { /** Domain redirect mode. Example: "default" */ 'mode': string; 'target'?: { /** Expected CNAME target of the wildcard redirect. */ 'record'?: string; }; }; /** Configuration regarding the domain certificate set up. */ 'certificates'?: { /** Domain certificate mode. Example: "default" */ 'mode': string; /** DCV CNAME record used to provision wildcard certificates. */ 'dcvRecord'?: string; 'dcvTarget'?: { /** Expected CNAME target of the dcvRecord. */ 'record'?: string; }; /** Certificate status for wildcard domains. */ 'status'?: { /** Expiry date of the current certificate. */ 'expiryDate'?: string; }; }; /** A list of subdomains added to this domain. */ 'subdomains': { /** The subdomain added, or -default for the empty subdomain. Example: "app" */ 'name': string; /** The full domain including the subdomain. Example: "app.example.com" */ 'fullName': string; }[]; }; type GetDomainCall = (opts: GetDomainRequest) => Promise>; type GetDomainRequest = { parameters: GetDomainParameters; }; type GetDomainParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; /** Gets details about domain */ declare class GetDomainEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetDomainRequest) => string; body: () => undefined; } type DeleteDomainResult = any; type DeleteDomainCall = (opts: DeleteDomainRequest) => Promise>; type DeleteDomainRequest = { parameters: DeleteDomainParameters; }; type DeleteDomainParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; /** Deletes a domain and each of its registered subdomains. */ declare class DeleteDomainEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteDomainRequest) => string; body: () => undefined; } type GetDomaincertificateResult = { /** Certificate chain. May consist of one or more certificates. */ 'certificateChain': string; /** Certificate extracted from the certificate chain. */ 'certificate': string; /** Issuer certificate extracted from the certificate chain. */ 'issuerCertificate': string; /** Certificate private key. */ 'privateKey': string; }; type GetDomaincertificateCall = (opts: GetDomaincertificateRequest) => Promise>; type GetDomaincertificateRequest = { parameters: GetDomaincertificateParameters; }; type GetDomaincertificateParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; /** Retrieve certificate data for a domain to verify its contents. */ declare class GetDomaincertificateEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetDomaincertificateRequest) => string; body: () => undefined; } type ImportDomaincertificateResult = any | any; type ImportDomaincertificateCall = (opts: ImportDomaincertificateRequest) => Promise>; type ImportDomaincertificateRequest = { parameters: ImportDomaincertificateParameters; data: ImportDomaincertificateData; }; type ImportDomaincertificateParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; type ImportDomaincertificateData = { /** Certificate to import. */ 'certificate': { /** Certificate private key. */ 'privateKey': string; /** Certificate chain. May consist of one or more certificates. */ 'certificateChain': string; }; }; /** Import a certificate for the domain */ declare class ImportDomaincertificateEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ImportDomaincertificateRequest) => string; body: (payload: ImportDomaincertificateRequest) => string; } type AddDomainSubdomainResult = { /** The record type to use for the DNS record to verify the subdomain - always CNAME for subdomains. Example: "CNAME" */ 'recordType': string; /** The subdomain. Example: "site" */ 'name': string; /** The full domain name with subdomain Example: "site.example.com" */ 'fullName': string; /** The content to set the DNS record to Example: "site.example.com.user-1234.dns.northflank.app" */ 'content': string; /** Whether the subdomain has been verified successfully and can be used. */ 'verified': boolean; } | any; type AddDomainSubdomainCall = (opts: AddDomainSubdomainRequest) => Promise>; type AddDomainSubdomainRequest = { parameters: AddDomainSubdomainParameters; data: AddDomainSubdomainData; }; type AddDomainSubdomainParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; type AddDomainSubdomainData = { /** A subdomain to be added. Example: "site" */ 'subdomain': string; /** The routing mode for the subdomain. Determines how traffic is routed. Once set, this cannot be changed. */ 'routingMode'?: 'paths' | 'geoRouting'; /** Optional CDN configuration. */ 'cdn'?: { 'northflank'?: { 'enabled': boolean; }; }; /** Optional advanced configuration for the subdomain. */ 'options'?: { /** Desired TLS mode for the subdomain. */ 'tlsMode'?: 'default' | 'passthrough'; /** Minimum TLS protocol version for the subdomain. Only applicable for non-wildcard subdomains. */ 'minTlsProtocolVersion'?: 'TLSV1_2' | 'TLSV1_3'; /** The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account. */ 'autoVerify'?: boolean; /** Alias domains which should be routable. Only configurable if the relevant feature flag is enabled for you account. */ 'aliasDomains'?: string[]; }; }; /** Adds a new subdomain to the domain. */ declare class AddDomainSubdomainEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AddDomainSubdomainRequest) => string; body: (payload: AddDomainSubdomainRequest) => string; } type PutDomainSubdomainResult = { /** The record type to use for the DNS record to verify the subdomain - always CNAME for subdomains. Example: "CNAME" */ 'recordType': string; /** The subdomain. Example: "site" */ 'name': string; /** The full domain name with subdomain Example: "site.example.com" */ 'fullName': string; /** The content to set the DNS record to Example: "site.example.com.user-1234.dns.northflank.app" */ 'content': string; /** Whether the subdomain has been verified successfully and can be used. */ 'verified': boolean; } | any; type PutDomainSubdomainCall = (opts: PutDomainSubdomainRequest) => Promise>; type PutDomainSubdomainRequest = { parameters: PutDomainSubdomainParameters; data: PutDomainSubdomainData; }; type PutDomainSubdomainParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; type PutDomainSubdomainData = { /** Subdomain prepended to the domain name Example: "site" */ 'name': string; /** Optional advanced configuration for the subdomain. */ 'options'?: { /** Desired TLS mode for the subdomain. */ 'tlsMode'?: 'default' | 'passthrough'; /** Minimum TLS protocol version for the subdomain. Only applicable for non-wildcard subdomains. */ 'minTlsProtocolVersion'?: 'TLSV1_2' | 'TLSV1_3'; /** The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account. */ 'autoVerify'?: boolean; /** Alias domains which should be routable. Only configurable if the relevant feature flag is enabled for you account. */ 'aliasDomains'?: string[]; }; 'cdn'?: { 'northflank'?: { 'enabled'?: boolean; 'options'?: { 'service'?: { 'forceTlsEnableHsts'?: boolean; /** HSTS duration. Required when `forceTlsEnableHsts` is `true`. */ 'hstsDuration'?: number; 'staleIfError'?: boolean; 'staleIfErrorTtl'?: number; 'defaultTtl'?: number; }; 'logging'?: { 'enabled'?: boolean; }; 'http3'?: { 'enabled'?: boolean; }; 'websockets'?: { 'enabled'?: boolean; }; 'compression'?: { 'enabled'?: boolean; /** Compression options. Required when `enabled` is `true`. */ 'mode'?: 'gzip' | 'brotli'; }; 'vclSnippets'?: { 'id'?: string; 'name': string; 'type': 'init' | 'recv' | 'hash' | 'hit' | 'miss' | 'pass' | 'fetch' | 'error' | 'deliver' | 'log' | 'none'; 'dynamic': '0' | '1'; 'priority': number; 'content': string; }[]; 'cacheSettings'?: { 'id'?: string; 'name': string; 'action'?: 'pass' | 'cache' | 'restart'; 'cacheCondition'?: string; 'staleTtl': number; 'ttl': number; }[]; }; }; }; }; /** Updates subdomain to the domain. */ declare class PutDomainSubdomainEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutDomainSubdomainRequest) => string; body: (payload: PutDomainSubdomainRequest) => string; } type GetSubdomainResult = { /** The record type to use for the DNS record to verify the subdomain - always CNAME for subdomains. Example: "CNAME" */ 'recordType': string; /** The subdomain. Example: "site" */ 'name': string; /** The full domain name with subdomain Example: "site.example.com" */ 'fullName': string; /** The content to set the DNS record to Example: "site.example.com.user-1234.dns.northflank.app" */ 'content': string; /** Whether the subdomain has been verified successfully and can be used. Example: true */ 'verified': boolean; 'certificate'?: { /** Whether a certificate is in the process of being generated */ 'inProgress'?: boolean; /** Expiry date of the current certificate */ 'expiryDate'?: string; /** Refresh date of the current certificate */ 'refreshDare'?: string; }; 'cdn'?: { 'northflank'?: { 'enabled'?: boolean; 'status'?: string; 'options'?: { 'service'?: { 'forceTlsEnableHsts'?: boolean; /** HSTS duration. Required when `forceTlsEnableHsts` is `true`. */ 'hstsDuration'?: number; 'staleIfError'?: boolean; 'staleIfErrorTtl'?: number; 'defaultTtl'?: number; }; 'logging'?: { 'enabled'?: boolean; }; 'http3'?: { 'enabled'?: boolean; }; 'websockets'?: { 'enabled'?: boolean; }; 'compression'?: { 'enabled'?: boolean; /** Compression options. Required when `enabled` is `true`. */ 'mode'?: 'gzip' | 'brotli'; }; 'vclSnippets'?: { 'id'?: string; 'name': string; 'type': 'init' | 'recv' | 'hash' | 'hit' | 'miss' | 'pass' | 'fetch' | 'error' | 'deliver' | 'log' | 'none'; 'dynamic': '0' | '1'; 'priority': number; 'content': string; }[]; 'cacheSettings'?: { 'id'?: string; 'name': string; 'action'?: 'pass' | 'cache' | 'restart'; 'cacheCondition'?: string; 'staleTtl': number; 'ttl': number; }[]; }; 'deployedAt'?: string; }; }; }; type GetSubdomainCall = (opts: GetSubdomainRequest) => Promise>; type GetSubdomainRequest = { parameters: GetSubdomainParameters; }; type GetSubdomainParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; /** Gets details about the given subdomain */ declare class GetSubdomainEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetSubdomainRequest) => string; body: () => undefined; } type DeleteSubdomainResult = any | any; type DeleteSubdomainCall = (opts: DeleteSubdomainRequest) => Promise>; type DeleteSubdomainRequest = { parameters: DeleteSubdomainParameters; }; type DeleteSubdomainParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; /** Removes a subdomain from a domain. */ declare class DeleteSubdomainEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteSubdomainRequest) => string; body: () => undefined; } type AssignSubdomainServiceResult = any; type AssignSubdomainServiceCall = (opts: AssignSubdomainServiceRequest) => Promise>; type AssignSubdomainServiceRequest = { parameters: AssignSubdomainServiceParameters; data: AssignSubdomainServiceData; }; type AssignSubdomainServiceParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; type AssignSubdomainServiceData = { /** The ID of the service to assign the subdomain to. Example: "example-service" */ 'serviceId': string; /** The ID of the project the service belongs to. Example: "default-project" */ 'projectId': string; /** The name of the port that will be assigned to the subdomain. Example: "p01" */ 'portName': string; }; /** Assigns a service port to the given subdomain */ declare class AssignSubdomainServiceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AssignSubdomainServiceRequest) => string; body: (payload: AssignSubdomainServiceRequest) => string; } type UnassignSubdomainResult = any; type UnassignSubdomainCall = (opts: UnassignSubdomainRequest) => Promise>; type UnassignSubdomainRequest = { parameters: UnassignSubdomainParameters; options?: UnassignSubdomainOptions; }; type UnassignSubdomainParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; type UnassignSubdomainOptions = { /** Unassign all associated subdomain paths from their respective services. */ 'unassignPaths'?: boolean; }; /** Removes a subdomain from its assigned service */ declare class UnassignSubdomainEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UnassignSubdomainRequest) => string; body: () => undefined; } type DisableSubdomainCdnResult = any; type DisableSubdomainCdnCall = (opts: DisableSubdomainCdnRequest) => Promise>; type DisableSubdomainCdnRequest = { parameters: DisableSubdomainCdnParameters; data: DisableSubdomainCdnData; }; type DisableSubdomainCdnParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; type DisableSubdomainCdnData = { /** Provider for which the CDN on the subdomain should be disabled. Example: "northflank" */ 'provider': string; }; /** Removes the CDN integration from the given subdomain */ declare class DisableSubdomainCdnEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DisableSubdomainCdnRequest) => string; body: (payload: DisableSubdomainCdnRequest) => string; } type EnableSubdomainCdnResult = any; type EnableSubdomainCdnCall = (opts: EnableSubdomainCdnRequest) => Promise>; type EnableSubdomainCdnRequest = { parameters: EnableSubdomainCdnParameters; data: EnableSubdomainCdnData; }; type EnableSubdomainCdnParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; type EnableSubdomainCdnData = { /** Provider for which a CDN on the subdomain should be enabled. Example: "northflank" */ 'provider': string; 'options'?: { 'service'?: { 'forceTlsEnableHsts'?: boolean; /** HSTS duration. Required when `forceTlsEnableHsts` is `true`. */ 'hstsDuration'?: number; 'staleIfError'?: boolean; 'staleIfErrorTtl'?: number; 'defaultTtl'?: number; }; 'logging'?: { 'enabled'?: boolean; }; 'http3'?: { 'enabled'?: boolean; }; 'websockets'?: { 'enabled'?: boolean; }; 'compression'?: { 'enabled'?: boolean; /** Compression options. Required when `enabled` is `true`. */ 'mode'?: 'gzip' | 'brotli'; }; 'vclSnippets'?: { 'id'?: string; 'name': string; 'type': 'init' | 'recv' | 'hash' | 'hit' | 'miss' | 'pass' | 'fetch' | 'error' | 'deliver' | 'log' | 'none'; 'dynamic': '0' | '1'; 'priority': number; 'content': string; }[]; 'cacheSettings'?: { 'id'?: string; 'name': string; 'action'?: 'pass' | 'cache' | 'restart'; 'cacheCondition'?: string; 'staleTtl': number; 'ttl': number; }[]; }; }; /** Enables a CDN integration on the given subdomain */ declare class EnableSubdomainCdnEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: EnableSubdomainCdnRequest) => string; body: (payload: EnableSubdomainCdnRequest) => string; } type AddSubdomainPathResult = { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** URI of the subdomain path. Interpreted according to the selected path mode Example: "/" */ 'uri': string; 'options'?: { /** In case of uri conflicts, the route with the higher priority will take precedence */ 'priority'?: number; /** Allows case insensitive matching for 'prefix' and 'exact' modes */ 'ignoreUriCase'?: boolean; /** Settings determining if a path should be rewritten. Either a uri or regex have to be specified. */ 'rewrite'?: { 'uri': string; } | { 'regex'?: { /** Regex match for the given path */ 'match': string; /** Regex rewrite for the given matched path */ 'rewrite': string; }; }; /** Customised request timeout for the given path. By default no timeout is set. */ 'timeout'?: string; /** Settings allowing addition, re-write and removal of request as well as response headers. */ 'headers'?: { 'request'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; 'response'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; }; /** Settings allowing for customization of CORS policies. */ 'corsPolicy'?: { 'enabled': boolean; 'allowOrigins'?: { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** Origin definition. Example: "https://example.com" */ 'origin'?: string; }[]; 'allowMethods'?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'TRACE' | 'CONNECT' | 'HEAD'[]; 'allowCredentials'?: boolean; 'allowHeaders'?: string[]; 'maxAge'?: string; }; /** Settings allowing for customization of retries. */ 'retries'?: { 'enabled': boolean; 'attempts': number; /** Timeout per attempt. By default uses the path level timeout. */ 'perTryTimeout'?: string; /** Configure the cases in which the retry should be triggered. */ 'retryOn'?: '5xx' | 'gateway-error' | 'reset' | 'connect-failure' | 'envoy-ratelimited' | 'retriable-4xx' | 'refused-stream' | 'retriable-status-codes' | 'retriable-headers' | 'cancelled' | 'deadline-exceeded' | 'internal' | 'resource-exhausted' | 'unavailable'[]; }; }; /** The full URL including subdomain and path URI. */ 'name'?: string; /** time of creation */ 'createdAt'?: string; } | any; type AddSubdomainPathCall = (opts: AddSubdomainPathRequest) => Promise>; type AddSubdomainPathRequest = { parameters: AddSubdomainPathParameters; data: AddSubdomainPathData; }; type AddSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; type AddSubdomainPathData = { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** URI of the subdomain path. Interpreted according to the selected path mode Example: "/" */ 'uri': string; 'options'?: { /** In case of uri conflicts, the route with the higher priority will take precedence */ 'priority'?: number; /** Allows case insensitive matching for 'prefix' and 'exact' modes */ 'ignoreUriCase'?: boolean; /** Settings determining if a path should be rewritten. Either a uri or regex have to be specified. */ 'rewrite'?: { 'uri': string; } | { 'regex'?: { /** Regex match for the given path */ 'match': string; /** Regex rewrite for the given matched path */ 'rewrite': string; }; }; /** Customised request timeout for the given path. By default no timeout is set. */ 'timeout'?: string; /** Settings allowing addition, re-write and removal of request as well as response headers. */ 'headers'?: { 'request'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; 'response'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; }; /** Settings allowing for customization of CORS policies. */ 'corsPolicy'?: { 'enabled': boolean; 'allowOrigins'?: { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** Origin definition. Example: "https://example.com" */ 'origin'?: string; }[]; 'allowMethods'?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'TRACE' | 'CONNECT' | 'HEAD'[]; 'allowCredentials'?: boolean; 'allowHeaders'?: string[]; 'maxAge'?: string; }; /** Settings allowing for customization of retries. */ 'retries'?: { 'enabled': boolean; 'attempts': number; /** Timeout per attempt. By default uses the path level timeout. */ 'perTryTimeout'?: string; /** Configure the cases in which the retry should be triggered. */ 'retryOn'?: '5xx' | 'gateway-error' | 'reset' | 'connect-failure' | 'envoy-ratelimited' | 'retriable-4xx' | 'refused-stream' | 'retriable-status-codes' | 'retriable-headers' | 'cancelled' | 'deadline-exceeded' | 'internal' | 'resource-exhausted' | 'unavailable'[]; }; }; }; /** Adds a new path to the subdomain. */ declare class AddSubdomainPathEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AddSubdomainPathRequest) => string; body: (payload: AddSubdomainPathRequest) => string; } type ListSubdomainPathResult = { /** A list of paths created for the given subdomain. */ 'paths': { /** The domain the path should be created for. Example: "site.example.com" */ 'subdomain': string; /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** URI of the subdomain path. Interpreted according to the selected path mode Example: "/" */ 'uri': string; 'options'?: { /** In case of uri conflicts, the route with the higher priority will take precedence */ 'priority'?: number; /** Allows case insensitive matching for 'prefix' and 'exact' modes */ 'ignoreUriCase'?: boolean; /** Settings determining if a path should be rewritten. Either a uri or regex have to be specified. */ 'rewrite'?: { 'uri': string; } | { 'regex'?: { /** Regex match for the given path */ 'match': string; /** Regex rewrite for the given matched path */ 'rewrite': string; }; }; /** Customised request timeout for the given path. By default no timeout is set. */ 'timeout'?: string; /** Settings allowing addition, re-write and removal of request as well as response headers. */ 'headers'?: { 'request'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; 'response'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; }; /** Settings allowing for customization of CORS policies. */ 'corsPolicy'?: { 'enabled': boolean; 'allowOrigins'?: { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** Origin definition. Example: "https://example.com" */ 'origin'?: string; }[]; 'allowMethods'?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'TRACE' | 'CONNECT' | 'HEAD'[]; 'allowCredentials'?: boolean; 'allowHeaders'?: string[]; 'maxAge'?: string; }; /** Settings allowing for customization of retries. */ 'retries'?: { 'enabled': boolean; 'attempts': number; /** Timeout per attempt. By default uses the path level timeout. */ 'perTryTimeout'?: string; /** Configure the cases in which the retry should be triggered. */ 'retryOn'?: '5xx' | 'gateway-error' | 'reset' | 'connect-failure' | 'envoy-ratelimited' | 'retriable-4xx' | 'refused-stream' | 'retriable-status-codes' | 'retriable-headers' | 'cancelled' | 'deadline-exceeded' | 'internal' | 'resource-exhausted' | 'unavailable'[]; }; }; /** The full URL including subdomain and path URI. */ 'name'?: string; /** time of creation */ 'createdAt'?: string; }[]; }; type ListSubdomainPathCall = (opts: ListSubdomainPathRequest) => Promise>; type ListSubdomainPathRequest = { parameters: ListSubdomainPathParameters; }; type ListSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; /** List paths for a given subdomain. */ declare class ListSubdomainPathEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListSubdomainPathRequest) => string; body: () => undefined; } type GetSubdomainPathResult = { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** URI of the subdomain path. Interpreted according to the selected path mode Example: "/" */ 'uri': string; 'options'?: { /** In case of uri conflicts, the route with the higher priority will take precedence */ 'priority'?: number; /** Allows case insensitive matching for 'prefix' and 'exact' modes */ 'ignoreUriCase'?: boolean; /** Settings determining if a path should be rewritten. Either a uri or regex have to be specified. */ 'rewrite'?: { 'uri': string; } | { 'regex'?: { /** Regex match for the given path */ 'match': string; /** Regex rewrite for the given matched path */ 'rewrite': string; }; }; /** Customised request timeout for the given path. By default no timeout is set. */ 'timeout'?: string; /** Settings allowing addition, re-write and removal of request as well as response headers. */ 'headers'?: { 'request'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; 'response'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; }; /** Settings allowing for customization of CORS policies. */ 'corsPolicy'?: { 'enabled': boolean; 'allowOrigins'?: { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** Origin definition. Example: "https://example.com" */ 'origin'?: string; }[]; 'allowMethods'?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'TRACE' | 'CONNECT' | 'HEAD'[]; 'allowCredentials'?: boolean; 'allowHeaders'?: string[]; 'maxAge'?: string; }; /** Settings allowing for customization of retries. */ 'retries'?: { 'enabled': boolean; 'attempts': number; /** Timeout per attempt. By default uses the path level timeout. */ 'perTryTimeout'?: string; /** Configure the cases in which the retry should be triggered. */ 'retryOn'?: '5xx' | 'gateway-error' | 'reset' | 'connect-failure' | 'envoy-ratelimited' | 'retriable-4xx' | 'refused-stream' | 'retriable-status-codes' | 'retriable-headers' | 'cancelled' | 'deadline-exceeded' | 'internal' | 'resource-exhausted' | 'unavailable'[]; }; }; /** The full URL including subdomain and path URI. */ 'name'?: string; /** time of creation */ 'createdAt'?: string; /** Data about the subdomain path assignment. */ 'assignment'?: { /** The ID of the service to assign the subdomain path to. Example: "default-project" */ 'project': string; /** The ID of the project the service belongs to. Example: "example-service" */ 'service': string; /** The name of the port that will be assigned to the subdomain path. Example: "p01" */ 'port': string; }; } | any; type GetSubdomainPathCall = (opts: GetSubdomainPathRequest) => Promise>; type GetSubdomainPathRequest = { parameters: GetSubdomainPathParameters; }; type GetSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; }; /** Get subdomain path details. */ declare class GetSubdomainPathEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetSubdomainPathRequest) => string; body: () => undefined; } type DeleteSubdomainPathResult = any; type DeleteSubdomainPathCall = (opts: DeleteSubdomainPathRequest) => Promise>; type DeleteSubdomainPathRequest = { parameters: DeleteSubdomainPathParameters; }; type DeleteSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; }; /** Delete a path. */ declare class DeleteSubdomainPathEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteSubdomainPathRequest) => string; body: () => undefined; } type UpdateSubdomainPathResult = any; type UpdateSubdomainPathCall = (opts: UpdateSubdomainPathRequest) => Promise>; type UpdateSubdomainPathRequest = { parameters: UpdateSubdomainPathParameters; data: UpdateSubdomainPathData; }; type UpdateSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; }; type UpdateSubdomainPathData = { 'options'?: { /** In case of uri conflicts, the route with the higher priority will take precedence */ 'priority'?: number; /** Allows case insensitive matching for 'prefix' and 'exact' modes */ 'ignoreUriCase'?: boolean; /** Settings determining if a path should be rewritten. Either a uri or regex have to be specified. */ 'rewrite'?: { 'uri': string; } | { 'regex'?: { /** Regex match for the given path */ 'match': string; /** Regex rewrite for the given matched path */ 'rewrite': string; }; }; /** Customised request timeout for the given path. By default no timeout is set. */ 'timeout'?: string; /** Settings allowing addition, re-write and removal of request as well as response headers. */ 'headers'?: { 'request'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; 'response'?: { 'set'?: any; 'add'?: any; 'remove'?: string[]; }; }; /** Settings allowing for customization of CORS policies. */ 'corsPolicy'?: { 'enabled': boolean; 'allowOrigins'?: { /** Mode of the path, determining how the URI will be interpreted. Example: "prefix" */ 'mode': 'prefix' | 'exact' | 'regex'; /** Origin definition. Example: "https://example.com" */ 'origin'?: string; }[]; 'allowMethods'?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'TRACE' | 'CONNECT' | 'HEAD'[]; 'allowCredentials'?: boolean; 'allowHeaders'?: string[]; 'maxAge'?: string; }; /** Settings allowing for customization of retries. */ 'retries'?: { 'enabled': boolean; 'attempts': number; /** Timeout per attempt. By default uses the path level timeout. */ 'perTryTimeout'?: string; /** Configure the cases in which the retry should be triggered. */ 'retryOn'?: '5xx' | 'gateway-error' | 'reset' | 'connect-failure' | 'envoy-ratelimited' | 'retriable-4xx' | 'refused-stream' | 'retriable-status-codes' | 'retriable-headers' | 'cancelled' | 'deadline-exceeded' | 'internal' | 'resource-exhausted' | 'unavailable'[]; }; }; }; /** Update a subdomain path. */ declare class UpdateSubdomainPathEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateSubdomainPathRequest) => string; body: (payload: UpdateSubdomainPathRequest) => string; } type AssignSubdomainPathResult = any; type AssignSubdomainPathCall = (opts: AssignSubdomainPathRequest) => Promise>; type AssignSubdomainPathRequest = { parameters: AssignSubdomainPathParameters; data: AssignSubdomainPathData; }; type AssignSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; }; type AssignSubdomainPathData = { /** Data about the subdomain path assignment. */ 'assignment': { /** The ID of the service to assign the subdomain path to. Example: "default-project" */ 'project': string; /** The ID of the project the service belongs to. Example: "example-service" */ 'service': string; /** The name of the port that will be assigned to the subdomain path. Example: "p01" */ 'port': string; }; }; /** Assign a subdomain path to a port. */ declare class AssignSubdomainPathEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AssignSubdomainPathRequest) => string; body: (payload: AssignSubdomainPathRequest) => string; } type UnassignSubdomainPathResult = any; type UnassignSubdomainPathCall = (opts: UnassignSubdomainPathRequest) => Promise>; type UnassignSubdomainPathRequest = { parameters: UnassignSubdomainPathParameters; }; type UnassignSubdomainPathParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; /** Name of the path */ 'subdomainPath': string; }; /** Unassign a subdomain path to a port. */ declare class UnassignSubdomainPathEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UnassignSubdomainPathRequest) => string; body: () => undefined; } type VerifySubdomainResult = any | any; type VerifySubdomainCall = (opts: VerifySubdomainRequest) => Promise>; type VerifySubdomainRequest = { parameters: VerifySubdomainParameters; }; type VerifySubdomainParameters = { /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; /** Name of the subdomain */ 'subdomain': string; }; /** Gets details about the given subdomain */ declare class VerifySubdomainEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: VerifySubdomainRequest) => string; body: () => undefined; } type VerifyDomainResult = any | any; type VerifyDomainCall = (opts: VerifyDomainRequest) => Promise>; type VerifyDomainRequest = { parameters: VerifyDomainParameters; }; type VerifyDomainParameters = { /** Name of the domain */ 'domain': string; } | { /** ID of the team */ 'teamId': string; /** Name of the domain */ 'domain': string; }; /** Attempts to verify the domain */ declare class VerifyDomainEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: VerifyDomainRequest) => string; body: () => undefined; } type ListEgressipsResult = { /** An array of egress IPs. */ 'egressIps': { /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; /** ID of the egress IP Example: "my-egress-ip" */ 'id': string; /** The time the egress IP was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the egress IP was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }[]; }; type ListEgressipsCall = ((opts: ListEgressipsRequest) => Promise>) & { all: (opts: ListEgressipsRequest) => Promise>; }; type ListEgressipsRequest = { parameters?: ListEgressipsParameters; options?: ListEgressipsOptions; }; type ListEgressipsParameters = { /** ID of the team */ 'teamId': string; }; type ListEgressipsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of egress IPs belonging to the team */ declare class ListEgressipsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListEgressipsRequest) => string; body: () => undefined; } type CreateEgressipResult = { /** ID of the egress IP Example: "my-egress-ip" */ 'id': string; /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; 'state'?: { /** Assigned public IP address Example: "34.105.225.71" */ 'ipAddress'?: string; /** Current status of the egress IP Example: "active" */ 'status': 'staging' | 'loading' | 'active' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the egress IP was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the egress IP was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type CreateEgressipCall = (opts: CreateEgressipRequest) => Promise>; type CreateEgressipRequest = { parameters?: CreateEgressipParameters; data: CreateEgressipData; }; type CreateEgressipParameters = { /** ID of the team */ 'teamId': string; }; type CreateEgressipData = { /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; }; /** Creates a new egress IP */ declare class CreateEgressipEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateEgressipRequest) => string; body: (payload: CreateEgressipRequest) => string; } type PutEgressipResult = { /** ID of the egress IP Example: "my-egress-ip" */ 'id': string; /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; 'state'?: { /** Assigned public IP address Example: "34.105.225.71" */ 'ipAddress'?: string; /** Current status of the egress IP Example: "active" */ 'status': 'staging' | 'loading' | 'active' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the egress IP was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the egress IP was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type PutEgressipCall = (opts: PutEgressipRequest) => Promise>; type PutEgressipRequest = { parameters?: PutEgressipParameters; data: PutEgressipData; }; type PutEgressipParameters = { /** ID of the team */ 'teamId': string; }; type PutEgressipData = { /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; }; /** Creates or updates an egress IP */ declare class PutEgressipEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutEgressipRequest) => string; body: (payload: PutEgressipRequest) => string; } type GetEgressipResult = { /** ID of the egress IP Example: "my-egress-ip" */ 'id': string; /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; 'state'?: { /** Assigned public IP address Example: "34.105.225.71" */ 'ipAddress'?: string; /** Current status of the egress IP Example: "active" */ 'status': 'staging' | 'loading' | 'active' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the egress IP was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the egress IP was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type GetEgressipCall = (opts: GetEgressipRequest) => Promise>; type GetEgressipRequest = { parameters: GetEgressipParameters; }; type GetEgressipParameters = { /** ID of the egress IP */ 'egressIpId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the egress IP */ 'egressIpId': string; }; /** Gets information about the given egress IP */ declare class GetEgressipEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetEgressipRequest) => string; body: () => undefined; } type PatchEgressipResult = { /** ID of the egress IP Example: "my-egress-ip" */ 'id': string; /** The name of the egress IP. Example: "my-egress-ip" */ 'name': string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec': { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; 'state'?: { /** Assigned public IP address Example: "34.105.225.71" */ 'ipAddress'?: string; /** Current status of the egress IP Example: "active" */ 'status': 'staging' | 'loading' | 'active' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the egress IP was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the egress IP was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type PatchEgressipCall = (opts: PatchEgressipRequest) => Promise>; type PatchEgressipRequest = { parameters: PatchEgressipParameters; data: PatchEgressipData; }; type PatchEgressipParameters = { /** ID of the egress IP */ 'egressIpId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the egress IP */ 'egressIpId': string; }; type PatchEgressipData = { /** The name of the egress IP. Example: "my-egress-ip" */ 'name'?: string; /** The description of the egress IP. Example: "This is a new egress IP." */ 'description'?: string; /** Egress IP specification */ 'spec'?: { /** Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated Example: "shared" */ 'provisioningMode': 'shared' | 'dedicated'; /** Target region name Example: "europe-west" */ 'region': string; /** Mode: include (only these projects/resources use this egress IP) or exclude (all except these use this egress IP) Example: "include" */ 'mode'?: 'include' | 'exclude'; /** Egress IP rules - array of projects the rule applies to */ 'rules'?: { /** Project internal ID */ 'id': string; /** Rule restrictions */ 'restrictions': { /** Whether restrictions scoping the rule to specific resources should be applied. */ 'enabled': boolean; /** Resources the rule should be restricted to */ 'resources': { /** Resource type */ 'type': 'service' | 'job'; /** Resource internal ID */ 'id': string; }[]; }; }[]; }; }; /** Updates an egress IP */ declare class PatchEgressipEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchEgressipRequest) => string; body: (payload: PatchEgressipRequest) => string; } type DeleteEgressipResult = any; type DeleteEgressipCall = (opts: DeleteEgressipRequest) => Promise>; type DeleteEgressipRequest = { parameters: DeleteEgressipParameters; }; type DeleteEgressipParameters = { /** ID of the egress IP */ 'egressIpId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the egress IP */ 'egressIpId': string; }; /** Deletes the given egress IP. */ declare class DeleteEgressipEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteEgressipRequest) => string; body: () => undefined; } type CreateGradualrolloutstrategyResult = { /** Identifier for the gradual rollout strategy Example: "example-identifier" */ 'id': string; /** Name of the gradual rollout strategy Example: "example-name" */ 'name': string; /** Type of the gradual rollout strategy Example: "canary" */ 'type': 'canary'; 'options'?: { 'triggers'?: { 'releaseFromTemplate'?: boolean | null; 'releaseFromReleaseFlow'?: boolean | null; 'releaseFromCD'?: boolean | null; 'releaseFromUI'?: boolean | null; 'releaseFromApi'?: boolean | null; }; 'blockDeploymentOnActiveRollout'?: boolean | null; }; 'details': { 'canaryStrategy': 'percentage' | 'header'; 'config'?: { 'canaryPercentage': number; 'stablePercentage': number; } | { 'headerName': string; 'headerValue': string; }; }; }; type CreateGradualrolloutstrategyCall = (opts: CreateGradualrolloutstrategyRequest) => Promise>; type CreateGradualrolloutstrategyRequest = { parameters?: CreateGradualrolloutstrategyParameters; data: CreateGradualrolloutstrategyData; }; type CreateGradualrolloutstrategyParameters = { /** ID of the team */ 'teamId': string; }; type CreateGradualrolloutstrategyData = { /** Display name for the gradual rollout strategy Example: "my-canary-rollout" */ 'name'?: string; /** Type of the gradual rollout strategy Example: "canary" */ 'type': 'canary'; 'options'?: { /** Conditions under which a new release will automatically initiate as a gradual rollout */ 'triggers'?: { /** Automatically trigger the rollout strategy when a release is initiated from a template Example: true */ 'releaseFromTemplate'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from a release flow Example: true */ 'releaseFromReleaseFlow'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from a CD pipeline Example: true */ 'releaseFromCD'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from the UI Example: true */ 'releaseFromUI'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated via the API Example: true */ 'releaseFromApi'?: boolean | null; }; /** When enabled, new deployments are blocked while a rollout is in progress Example: true */ 'blockDeploymentOnActiveRollout'?: boolean | null; }; /** Strategy-specific configuration details */ 'details': { /** Strategy used to split traffic between stable and canary deployments Example: "percentage" */ 'canaryStrategy': 'percentage' | 'header'; /** Configuration for the selected canary strategy */ 'config': { /** Percentage of traffic to route to the canary deployment Example: 20 */ 'canaryPercentage': number; /** Percentage of traffic to route to the stable deployment Example: 80 */ 'stablePercentage': number; } | { /** Header configuration that will route traffic to the canary deployment */ 'canaryHeader': { /** HTTP header name used to identify requests that should be routed to the target deployment Example: "x-canary" */ 'headerName': string; /** HTTP header value that routes matching requests to the target deployment Example: "true" */ 'headerValue': string; }; /** Header configuration that will route traffic to the stable deployment */ 'stableHeader': { /** HTTP header name used to identify requests that should be routed to the target deployment Example: "x-canary" */ 'headerName': string; /** HTTP header value that routes matching requests to the target deployment Example: "true" */ 'headerValue': string; }; }; }; }; /** Creates a new gradual rollout strategy. */ declare class CreateGradualrolloutstrategyEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateGradualrolloutstrategyRequest) => string; body: (payload: CreateGradualrolloutstrategyRequest) => string; } type PutGradualrolloutstrategyResult = { /** Identifier for the gradual rollout strategy Example: "example-identifier" */ 'id': string; /** Name of the gradual rollout strategy Example: "example-name" */ 'name': string; /** Type of the gradual rollout strategy Example: "canary" */ 'type': 'canary'; 'options'?: { 'triggers'?: { 'releaseFromTemplate'?: boolean | null; 'releaseFromReleaseFlow'?: boolean | null; 'releaseFromCD'?: boolean | null; 'releaseFromUI'?: boolean | null; 'releaseFromApi'?: boolean | null; }; 'blockDeploymentOnActiveRollout'?: boolean | null; }; 'details': { 'canaryStrategy': 'percentage' | 'header'; 'config'?: { 'canaryPercentage': number; 'stablePercentage': number; } | { 'headerName': string; 'headerValue': string; }; }; }; type PutGradualrolloutstrategyCall = (opts: PutGradualrolloutstrategyRequest) => Promise>; type PutGradualrolloutstrategyRequest = { parameters?: PutGradualrolloutstrategyParameters; data: PutGradualrolloutstrategyData; }; type PutGradualrolloutstrategyParameters = { /** ID of the team */ 'teamId': string; }; type PutGradualrolloutstrategyData = { /** Display name for the gradual rollout strategy Example: "my-canary-rollout" */ 'name'?: string; /** Type of the gradual rollout strategy Example: "canary" */ 'type': 'canary'; 'options'?: { /** Conditions under which a new release will automatically initiate as a gradual rollout */ 'triggers'?: { /** Automatically trigger the rollout strategy when a release is initiated from a template Example: true */ 'releaseFromTemplate'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from a release flow Example: true */ 'releaseFromReleaseFlow'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from a CD pipeline Example: true */ 'releaseFromCD'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from the UI Example: true */ 'releaseFromUI'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated via the API Example: true */ 'releaseFromApi'?: boolean | null; }; /** When enabled, new deployments are blocked while a rollout is in progress Example: true */ 'blockDeploymentOnActiveRollout'?: boolean | null; }; /** Strategy-specific configuration details */ 'details': { /** Strategy used to split traffic between stable and canary deployments Example: "percentage" */ 'canaryStrategy': 'percentage' | 'header'; /** Configuration for the selected canary strategy */ 'config': { /** Percentage of traffic to route to the canary deployment Example: 20 */ 'canaryPercentage': number; /** Percentage of traffic to route to the stable deployment Example: 80 */ 'stablePercentage': number; } | { /** Header configuration that will route traffic to the canary deployment */ 'canaryHeader': { /** HTTP header name used to identify requests that should be routed to the target deployment Example: "x-canary" */ 'headerName': string; /** HTTP header value that routes matching requests to the target deployment Example: "true" */ 'headerValue': string; }; /** Header configuration that will route traffic to the stable deployment */ 'stableHeader': { /** HTTP header name used to identify requests that should be routed to the target deployment Example: "x-canary" */ 'headerName': string; /** HTTP header value that routes matching requests to the target deployment Example: "true" */ 'headerValue': string; }; }; }; }; /** Creates or updates a gradual rollout strategy. */ declare class PutGradualrolloutstrategyEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutGradualrolloutstrategyRequest) => string; body: (payload: PutGradualrolloutstrategyRequest) => string; } type PatchGradualrolloutstrategyResult = { /** Identifier for the gradual rollout strategy Example: "example-identifier" */ 'id': string; /** Name of the gradual rollout strategy Example: "example-name" */ 'name': string; /** Type of the gradual rollout strategy Example: "canary" */ 'type': 'canary'; 'options'?: { 'triggers'?: { 'releaseFromTemplate'?: boolean | null; 'releaseFromReleaseFlow'?: boolean | null; 'releaseFromCD'?: boolean | null; 'releaseFromUI'?: boolean | null; 'releaseFromApi'?: boolean | null; }; 'blockDeploymentOnActiveRollout'?: boolean | null; }; 'details': { 'canaryStrategy': 'percentage' | 'header'; 'config'?: { 'canaryPercentage': number; 'stablePercentage': number; } | { 'headerName': string; 'headerValue': string; }; }; }; type PatchGradualrolloutstrategyCall = (opts: PatchGradualrolloutstrategyRequest) => Promise>; type PatchGradualrolloutstrategyRequest = { parameters: PatchGradualrolloutstrategyParameters; data: PatchGradualrolloutstrategyData; }; type PatchGradualrolloutstrategyParameters = { /** ID of the gradual rollout strategy */ 'gradualRolloutStrategyId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the gradual rollout strategy */ 'gradualRolloutStrategyId': string; }; type PatchGradualrolloutstrategyData = { /** Display name for the gradual rollout strategy Example: "my-canary-rollout" */ 'name'?: string; /** Type of the gradual rollout strategy Example: "canary" */ 'type': 'canary'; 'options'?: { /** Conditions under which a new release will automatically initiate as a gradual rollout */ 'triggers'?: { /** Automatically trigger the rollout strategy when a release is initiated from a template Example: true */ 'releaseFromTemplate'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from a release flow Example: true */ 'releaseFromReleaseFlow'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from a CD pipeline Example: true */ 'releaseFromCD'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated from the UI Example: true */ 'releaseFromUI'?: boolean | null; /** Automatically trigger the rollout strategy when a release is initiated via the API Example: true */ 'releaseFromApi'?: boolean | null; }; /** When enabled, new deployments are blocked while a rollout is in progress Example: true */ 'blockDeploymentOnActiveRollout'?: boolean | null; }; /** Strategy-specific configuration details */ 'details': { /** Strategy used to split traffic between stable and canary deployments Example: "percentage" */ 'canaryStrategy': 'percentage' | 'header'; /** Configuration for the selected canary strategy */ 'config': { /** Percentage of traffic to route to the canary deployment Example: 20 */ 'canaryPercentage': number; /** Percentage of traffic to route to the stable deployment Example: 80 */ 'stablePercentage': number; } | { /** Header configuration that will route traffic to the canary deployment */ 'canaryHeader': { /** HTTP header name used to identify requests that should be routed to the target deployment Example: "x-canary" */ 'headerName': string; /** HTTP header value that routes matching requests to the target deployment Example: "true" */ 'headerValue': string; }; /** Header configuration that will route traffic to the stable deployment */ 'stableHeader': { /** HTTP header name used to identify requests that should be routed to the target deployment Example: "x-canary" */ 'headerName': string; /** HTTP header value that routes matching requests to the target deployment Example: "true" */ 'headerValue': string; }; }; }; }; /** Updates a gradual rollout strategy. */ declare class PatchGradualrolloutstrategyEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchGradualrolloutstrategyRequest) => string; body: (payload: PatchGradualrolloutstrategyRequest) => string; } type DeleteGradualrolloutstrategyResult = any; type DeleteGradualrolloutstrategyCall = (opts: DeleteGradualrolloutstrategyRequest) => Promise>; type DeleteGradualrolloutstrategyRequest = { parameters: DeleteGradualrolloutstrategyParameters; }; type DeleteGradualrolloutstrategyParameters = { /** ID of the gradual rollout strategy */ 'gradualRolloutStrategyId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the gradual rollout strategy */ 'gradualRolloutStrategyId': string; }; /** Deletes a gradual rollout strategy. */ declare class DeleteGradualrolloutstrategyEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteGradualrolloutstrategyRequest) => string; body: () => undefined; } type ListLogsinksResult = { /** An array of log sinks added to this account. */ 'logSinks': { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Identifier for the Log Sink Example: "example-project" */ 'id': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted': boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects': string[]; /** Current status of the log sink */ 'status': 'paused' | 'running' | 'failing' | 'creating'; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Timestamp of when the log sink was created. Example: "2022-06-14 15:10:42.842Z" */ 'createdAt': string; /** Timestamp of when the log sink was last updated. Example: "2022-06-14 15:10:42.842Z" */ 'updatedAt': string; }[]; }; type ListLogsinksCall = ((opts: ListLogsinksRequest) => Promise>) & { all: (opts: ListLogsinksRequest) => Promise>; }; type ListLogsinksRequest = { parameters?: ListLogsinksParameters; options?: ListLogsinksOptions; }; type ListLogsinksParameters = { /** ID of the team */ 'teamId': string; }; type ListLogsinksOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of log sinks added to this account. */ declare class ListLogsinksEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListLogsinksRequest) => string; body: () => undefined; } type CreateLogsinkResult = { /** The ID of the new log sink. Example: "example-log-sink" */ 'id': string; }; type CreateLogsinkCall = (opts: CreateLogsinkRequest) => Promise>; type CreateLogsinkRequest = { parameters?: CreateLogsinkParameters; data: CreateLogsinkData; }; type CreateLogsinkParameters = { /** ID of the team */ 'teamId': string; }; type CreateLogsinkData = { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "loki" */ 'sinkType': 'loki'; /** Details about the Loki log sink. */ 'sinkData': { /** The endpoint of the Loki log sink. Example: "https://logs.example.com" */ 'endpoint': string; /** Encoding options */ 'encoding'?: { /** Codec to encode logs in Example: "json" */ 'codec': 'text' | 'json'; }; /** Object containing authentication data for the log sink. */ 'auth'?: { /** The authentication strategy. Example: "basic" */ 'strategy'?: 'basic'; /** The username for the log sink. Example: "admin" */ 'user'?: string; /** The password for the log sink. Example: "password1234" */ 'password'?: string; }; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "datadog_logs" */ 'sinkType': 'datadog_logs'; /** Details about the Datadog log sink. */ 'sinkData': { /** The Datadog API key. Example: "abcdef12345678900000000000000000" */ 'default_api_key': string; /** The Datadog region. Example: "eu" */ 'region': 'eu' | 'us' | 'us3' | 'us5'; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "papertrail" */ 'sinkType': 'papertrail'; /** Papertrail Sink Schema. */ 'sinkData': { /** The authentication strategy. Example: "port" */ 'authenticationStrategy': 'port'; /** The host for the Papertrail log destination. Example: "logs1.papertrailapp.com:" */ 'host': string; /** The port for the Papertrail log destination. Example: 8000 */ 'port': number; } | { /** The authentication strategy. Example: "token" */ 'authenticationStrategy': 'token'; /** The uri for the Papertrail log destination. Example: "https://logs.collector.solarwinds.com/v1/log" */ 'uri': string; /** The HTTP Token for the Papertrail log destination. Example: "123abcdefghijklmnopqrstuvwxy" */ 'token': string; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "aws_s3" */ 'sinkType': 'aws_s3'; /** Details about the AWS S3 log sink. */ 'sinkData': { /** Endpoint for the AWS S3 or compatible API bucket. Example: "my.bucket.com" */ 'endpoint': string; /** Region of the S3 bucket. Example: "eu-west-2" */ 'region': 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'eu-central-1' | 'eu-south-1' | 'eu-north-1' | 'us-west-1' | 'us-west-2' | 'us-east-1' | 'us-east2'; /** Authentication object. */ 'auth'?: { /** Access key id for the bucket. Example: "PMSACIHNUIASDBWQDS" */ 'accessKeyId': string; /** Secret access key for the bucket. Example: "HA1PLMNOEAEYUHAJQMSDUJQS" */ 'secretAccessKey': string; }; /** Name of the S3 Bucket. Example: "northflank-logs" */ 'bucket': string; /** Log file compression method. Example: "gzip" */ 'compression': 'gzip' | 'none'; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "http" */ 'sinkType': 'http'; /** Details about the HTTP log sink. */ 'sinkData': { /** Uri to send logs to. Example: "my.log-collector.com" */ 'uri': string; /** Encoding options */ 'encoding': { /** Codec to encode logs in Example: "json" */ 'codec': 'text' | 'json'; }; 'batch'?: { /** The max number of events in a batch before sending Example: "10" */ 'maxEvents'?: number; /** The max size of a batch in bytes before sending Example: "1e+7" */ 'maxBytes'?: number; }; /** Auth information. */ 'auth': { /** No authentication strategy Example: "none" */ 'strategy': 'none'; } | { /** Basic HTTP authentication strategy. Example: "basic" */ 'strategy': 'basic'; /** Username for basic http authentication. Example: "my-user" */ 'user'?: string; /** Password for basic http authentication. Example: "secret-password" */ 'password': string; } | { /** Bearer token authentication strategy. Example: "bearer" */ 'strategy': 'bearer'; /** Token for bearer token authentication. Example: "my-token" */ 'token'?: string; }; 'framing'?: { 'method'?: 'none' | 'newline' | 'length'; }; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "logdna" */ 'sinkType': 'logdna'; /** Details about the LogDNA log sink. */ 'sinkData': { /** Ingestion Key Example: "b1dd3feb585asd1a3e9edpo9kmn5e590hg9" */ 'api_key': string; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "betterStack" */ 'sinkType': 'betterStack'; /** Details about the Better Stack log sink. */ 'sinkData': { /** Better Stack Source Token Example: "vhnqrLygVQ5GnSQUTZamKvAq" */ 'token': string; /** Better stack ingestion host Example: "abc123.eu-nbg-2.betterstackdata.com" */ 'uri': string; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "honeycomb" */ 'sinkType': 'honeycomb'; /** Details about the Honeycomb log sink. */ 'sinkData': { /** Honeycomb API Key Example: "b1dd3feb585asd1a3e9" */ 'api_key': string; /** Name of the dataset Example: "staging-logs" */ 'dataset': string; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "logzio" */ 'sinkType': 'logzio'; /** Details about the Logz.io log sink. */ 'sinkData': { /** Your Logzio region code Example: "eu" */ 'region': 'eu' | 'uk' | 'us' | 'ca' | 'au' | 'nl' | 'wa'; /** The Log Shipping Token of the account you want to ship to Example: "sNFijNFgNFoNFrMsNFbNFObNFcgNFqoa" */ 'token': string; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "solarWinds" */ 'sinkType': 'solarWinds'; /** Details about the Solar Winds log sink. */ 'sinkData': { /** Solar Winds API Key Example: "Tr8BIEmYx1fuM3_XRMwU3xXEFnD20p9NFkRIu1COrDqMCM4g86qWZgVdgs1Y7mzWtFMI0Zc" */ 'api_key': string; 'encoding'?: { /** Codec to encode logs in Example: "json" */ 'codec': 'text' | 'json'; }; /** Solar Winds endpoint type */ 'endpointType': 'unitary' | 'bulk'; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "axiom" */ 'sinkType': 'axiom'; /** Details about the Axiom log sink. */ 'sinkData': { /** Name of the data Example: "staging" */ 'dataset': string; /** Axiom API/Personal token Example: "b1dd3feb585asd1a3e9edpo9kmn5e590hg9" */ 'token': string; /** Using a personal token Example: "api" */ 'tokenType': 'personal' | 'api'; /** The ID of the organisation, required if using a personal token */ 'orgId'?: string; /** The Axiom url to use. Only change if self hosting axiom. */ 'url'?: string; }; } | { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. Example: "newRelic" */ 'sinkType': 'newRelic'; /** Details about the New Relic log sink. */ 'sinkData': { /** New Relic Account ID Example: "b1dd3feb585asd1a3e9" */ 'accountId': string; /** New Relic License Key Example: "b1dd3feb585asd1a3e9" */ 'licenseKey': string; 'region': 'eu' | 'us'; }; }; /** Creates a new log sink. */ declare class CreateLogsinkEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateLogsinkRequest) => string; body: (payload: CreateLogsinkRequest) => string; } type GetLogsinkResult = { /** Name of the log sink. Example: "example-log-sink" */ 'name': string; /** Identifier for the Log Sink Example: "example-project" */ 'id': string; /** Description of the log sink. Example: "This is an example log sink." */ 'description'?: string; /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted': boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects': string[]; /** Current status of the log sink */ 'status': 'paused' | 'running' | 'failing' | 'creating'; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** The type of the log sink. */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Timestamp of when the log sink was created. Example: "2022-06-14 15:10:42.842Z" */ 'createdAt': string; /** Timestamp of when the log sink was last updated. Example: "2022-06-14 15:10:42.842Z" */ 'updatedAt': string; /** Data about the log sink. */ 'sinkData'?: { /** The endpoint of the Loki log sink. Example: "https://logs.example.com" */ 'endpoint': string; /** Encoding options */ 'encoding'?: { /** Codec to encode logs in Example: "json" */ 'codec': 'text' | 'json'; }; /** Object containing authentication data for the log sink. */ 'auth'?: { /** The authentication strategy. Example: "basic" */ 'strategy'?: 'basic'; /** The username for the log sink. Example: "admin" */ 'user'?: string; /** The password for the log sink. Example: "password1234" */ 'password'?: string; }; } | { /** The Datadog API key. Example: "abcdef12345678900000000000000000" */ 'default_api_key': string; /** The Datadog region. Example: "eu" */ 'region': 'eu' | 'us' | 'us3' | 'us5'; } | any | { /** Endpoint for the AWS S3 or compatible API bucket. Example: "my.bucket.com" */ 'endpoint': string; /** Region of the S3 bucket. Example: "eu-west-2" */ 'region': 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'eu-central-1' | 'eu-south-1' | 'eu-north-1' | 'us-west-1' | 'us-west-2' | 'us-east-1' | 'us-east2'; /** Authentication object. */ 'auth'?: { /** Access key id for the bucket. Example: "PMSACIHNUIASDBWQDS" */ 'accessKeyId': string; /** Secret access key for the bucket. Example: "HA1PLMNOEAEYUHAJQMSDUJQS" */ 'secretAccessKey': string; }; /** Name of the S3 Bucket. Example: "northflank-logs" */ 'bucket': string; /** Log file compression method. Example: "gzip" */ 'compression': 'gzip' | 'none'; } | { /** Uri to send logs to. Example: "my.log-collector.com" */ 'uri': string; /** Encoding options */ 'encoding': { /** Codec to encode logs in Example: "json" */ 'codec': 'text' | 'json'; }; 'batch'?: { /** The max number of events in a batch before sending Example: "10" */ 'maxEvents'?: number; /** The max size of a batch in bytes before sending Example: "1e+7" */ 'maxBytes'?: number; }; /** Auth information. */ 'auth': { /** No authentication strategy Example: "none" */ 'strategy': 'none'; } | { /** Basic HTTP authentication strategy. Example: "basic" */ 'strategy': 'basic'; /** Username for basic http authentication. Example: "my-user" */ 'user'?: string; /** Password for basic http authentication. Example: "secret-password" */ 'password': string; } | { /** Bearer token authentication strategy. Example: "bearer" */ 'strategy': 'bearer'; /** Token for bearer token authentication. Example: "my-token" */ 'token'?: string; }; 'framing'?: { 'method'?: 'none' | 'newline' | 'length'; }; } | { /** Ingestion Key Example: "b1dd3feb585asd1a3e9edpo9kmn5e590hg9" */ 'api_key': string; } | { /** Better Stack Source Token Example: "vhnqrLygVQ5GnSQUTZamKvAq" */ 'token': string; /** Better stack ingestion host Example: "abc123.eu-nbg-2.betterstackdata.com" */ 'uri': string; } | { /** Honeycomb API Key Example: "b1dd3feb585asd1a3e9" */ 'api_key': string; /** Name of the dataset Example: "staging-logs" */ 'dataset': string; } | { /** Your Logzio region code Example: "eu" */ 'region': 'eu' | 'uk' | 'us' | 'ca' | 'au' | 'nl' | 'wa'; /** The Log Shipping Token of the account you want to ship to Example: "sNFijNFgNFoNFrMsNFbNFObNFcgNFqoa" */ 'token': string; } | { /** Solar Winds API Key Example: "Tr8BIEmYx1fuM3_XRMwU3xXEFnD20p9NFkRIu1COrDqMCM4g86qWZgVdgs1Y7mzWtFMI0Zc" */ 'api_key': string; 'encoding'?: { /** Codec to encode logs in Example: "json" */ 'codec': 'text' | 'json'; }; /** Solar Winds endpoint type */ 'endpointType': 'unitary' | 'bulk'; } | { /** Name of the data Example: "staging" */ 'dataset': string; /** Axiom API/Personal token Example: "b1dd3feb585asd1a3e9edpo9kmn5e590hg9" */ 'token': string; /** Using a personal token Example: "api" */ 'tokenType': 'personal' | 'api'; /** The ID of the organisation, required if using a personal token */ 'orgId'?: string; /** The Axiom url to use. Only change if self hosting axiom. */ 'url'?: string; } | { /** New Relic Account ID Example: "b1dd3feb585asd1a3e9" */ 'accountId': string; /** New Relic License Key Example: "b1dd3feb585asd1a3e9" */ 'licenseKey': string; 'region': 'eu' | 'us'; }; }; type GetLogsinkCall = (opts: GetLogsinkRequest) => Promise>; type GetLogsinkRequest = { parameters: GetLogsinkParameters; }; type GetLogsinkParameters = { /** ID of the log sink */ 'logSinkId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the log sink */ 'logSinkId': string; }; /** Gets details about a given log sink. */ declare class GetLogsinkEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetLogsinkRequest) => string; body: () => undefined; } type DeleteLogsinkResult = any; type DeleteLogsinkCall = (opts: DeleteLogsinkRequest) => Promise>; type DeleteLogsinkRequest = { parameters: DeleteLogsinkParameters; }; type DeleteLogsinkParameters = { /** ID of the log sink */ 'logSinkId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the log sink */ 'logSinkId': string; }; /** Deletes a log sink. */ declare class DeleteLogsinkEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteLogsinkRequest) => string; body: () => undefined; } type PauseLogsinkResult = any; type PauseLogsinkCall = (opts: PauseLogsinkRequest) => Promise>; type PauseLogsinkRequest = { parameters: PauseLogsinkParameters; }; type PauseLogsinkParameters = { /** ID of the log sink */ 'logSinkId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the log sink */ 'logSinkId': string; }; /** Pauses a given log sink. */ declare class PauseLogsinkEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PauseLogsinkRequest) => string; body: () => undefined; } type ResumeLogsinkResult = any; type ResumeLogsinkCall = (opts: ResumeLogsinkRequest) => Promise>; type ResumeLogsinkRequest = { parameters: ResumeLogsinkParameters; }; type ResumeLogsinkParameters = { /** ID of the log sink */ 'logSinkId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the log sink */ 'logSinkId': string; }; /** Resumes a paused log sink. */ declare class ResumeLogsinkEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResumeLogsinkRequest) => string; body: () => undefined; } type UpdateLogsinkResult = any; type UpdateLogsinkCall = (opts: UpdateLogsinkRequest) => Promise>; type UpdateLogsinkRequest = { parameters: UpdateLogsinkParameters; data: UpdateLogsinkData; }; type UpdateLogsinkParameters = { /** ID of the log sink */ 'logSinkId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the log sink */ 'logSinkId': string; }; type UpdateLogsinkData = { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Loki log sink. */ 'sinkData': { /** The endpoint of the Loki log sink. Example: "https://logs.example.com" */ 'endpoint'?: string; /** Object containing authentication data for the log sink. */ 'auth'?: { /** The authentication method. Example: "basic" */ 'strategy'?: 'basic'; /** The username for the log sink. Example: "admin" */ 'user'?: string; /** The password for the log sink. Example: "password1234" */ 'password'?: string; }; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Datadog log sink. */ 'sinkData': { /** The Datadog API key. Example: "abcdef12345678900000000000000000" */ 'default_api_key'?: string; /** The Datadog region. Example: "eu" */ 'region'?: 'eu' | 'us' | 'us3' | 'us5'; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Papertrail Sink Schema. */ 'sinkData': { /** The authentication strategy. Example: "port" */ 'authenticationStrategy'?: 'port'; /** The host for the Papertrail log destination. Example: "logs1.papertrailapp.com:" */ 'host'?: string; /** The port for the Papertrail log destination. Example: 8000 */ 'port'?: number; } | { /** The authentication strategy. Example: "token" */ 'authenticationStrategy'?: 'token'; /** The uri for the Papertrail log destination. Example: "https://logs.collector.solarwinds.com/v1/log" */ 'uri'?: string; /** The HTTP Token for the Papertrail log destination. Example: "123abcdefghijklmnopqrstuvwxy" */ 'token'?: string; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the HTTP log sink. */ 'sinkData': { /** Uri to send logs to. Example: "my.log-collector.com" */ 'uri': string; /** Encoding options */ 'encoding': { /** Codec to encode logs in Example: "json" */ 'codec'?: 'text' | 'json'; }; 'batch'?: { /** The max number of events in a batch before sending Example: "10" */ 'maxEvents'?: number; /** The max size of a batch in bytes before sending Example: "1e+7" */ 'maxBytes'?: number; }; /** Auth information. */ 'auth': { /** No authentication strategy Example: "none" */ 'strategy'?: 'none'; } | { /** Basic HTTP authentication strategy. Example: "basic" */ 'strategy'?: 'basic'; /** Username for basic http authentication. Example: "my-user" */ 'user'?: string; /** Password for basic http authentication. Example: "secret-password" */ 'password'?: string; } | { /** Bearer token authentication strategy. Example: "bearer" */ 'strategy'?: 'bearer'; /** Token for bearer token authentication. Example: "my-token" */ 'token'?: string; }; 'framing'?: { 'method'?: 'none' | 'newline' | 'length'; }; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the AWS S3 log sink. */ 'sinkData': { /** Endpoint for the AWS S3 or compatible API bucket. Example: "my.bucket.com" */ 'endpoint'?: string; /** Region of the S3 bucket. Example: "eu-west-2" */ 'region'?: 'eu-west-1' | 'eu-west-2' | 'eu-west-3' | 'eu-central-1' | 'eu-south-1' | 'eu-north-1' | 'us-west-1' | 'us-west-2' | 'us-east-1' | 'us-east2'; /** Authentication object. */ 'auth'?: { /** Access key id for the bucket. Example: "PMSACIHNUIASDBWQDS" */ 'accessKeyId'?: string; /** Secret access key for the bucket. Example: "HA1PLMNOEAEYUHAJQMSDUJQS" */ 'secretAccessKey'?: string; }; /** Name of the S3 Bucket. Example: "northflank-logs" */ 'bucket'?: string; /** Log file compression method. Example: "gzip" */ 'compression'?: 'gzip' | 'none'; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Better Stack log sink. */ 'sinkData': { /** Better Stack Source Token Example: "vhnqrLygVQ5GnSQUTZamKvAq" */ 'token'?: string; /** Better stack ingestion host Example: "abc123.eu-nbg-2.betterstackdata.com" */ 'uri'?: string; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the LogDNA log sink. */ 'sinkData': { /** Ingestion Key Example: "b1dd3feb585asd1a3e9edpo9kmn5e590hg9" */ 'api_key'?: string; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Logz.io log sink. */ 'sinkData': { /** Your Logzio region code Example: "eu" */ 'region'?: 'eu' | 'uk' | 'us' | 'ca' | 'au' | 'nl' | 'wa'; /** The Log Shipping Token of the account you want to ship to Example: "sNFijNFgNFoNFrMsNFbNFObNFcgNFqoa" */ 'token'?: string; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Solar Winds log sink. */ 'sinkData': { /** Solar Winds API Key Example: "Tr8BIEmYx1fuM3_XRMwU3xXEFnD20p9NFkRIu1COrDqMCM4g86qWZgVdgs1Y7mzWtFMI0Zc" */ 'api_key'?: string; 'encoding'?: { /** Codec to encode logs in Example: "json" */ 'codec'?: 'text' | 'json'; }; /** Solar Winds endpoint type */ 'endpointType'?: 'unitary' | 'bulk'; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Honeycomb log sink. */ 'sinkData': { /** Honeycomb API Key Example: "b1dd3feb585asd1a3e9" */ 'api_key'?: string; /** Name of the dataset Example: "staging-logs" */ 'dataset'?: string; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the Axiom log sink. */ 'sinkData': { /** Name of the data Example: "staging" */ 'dataset': string; /** Axiom API/Personal token Example: "b1dd3feb585asd1a3e9edpo9kmn5e590hg9" */ 'token'?: string; /** Using a personal token Example: "api" */ 'tokenType'?: 'personal' | 'api'; /** The ID of the organisation, required if using a personal token */ 'orgId'?: string; /** The Axiom url to use. Only change if self hosting axiom. */ 'url'?: string; }; } | { /** If `true`, only logs from the projects in `projects` will be sent to the log sink. Example: true */ 'restricted'?: boolean; /** If `restricted` is `true`, only logs from these projects will be sent to the log sink. */ 'projects'?: string[]; 'options'?: { /** If `true`, we will do additional parsing on your JSON formatted log lines and your extract custom labels Example: true */ 'useCustomLabels'?: boolean; /** Forward CDN logs from your workloads Example: true */ 'forwardCdnLogs'?: boolean; /** Forward ingress logs from your workloads Example: true */ 'forwardIngressLogs'?: boolean; /** Forward mesh logs from your workloads Example: true */ 'forwardMeshLogs'?: boolean; }; /** If `true`, and the log sink is currently paused, the log sink will be resumed after updating. */ 'resumeLogSink'?: boolean; /** The type of log sink to target Example: "http" */ 'sinkType': 'loki' | 'datadog_logs' | 'papertrail' | 'http' | 'aws_s3' | 'logdna' | 'coralogix' | 'betterStack' | 'honeycomb' | 'logzio' | 'solarWinds' | 'axiom' | 'newRelic'; /** Details about the New Relic log sink. */ 'sinkData': { /** New Relic Account ID Example: "b1dd3feb585asd1a3e9" */ 'accountId'?: string; /** New Relic License Key Example: "b1dd3feb585asd1a3e9" */ 'licenseKey'?: string; 'region'?: 'eu' | 'us'; }; }; /** Updates the settings for a log sink. */ declare class UpdateLogsinkEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateLogsinkRequest) => string; body: (payload: UpdateLogsinkRequest) => string; } type ListNotificationsResult = { /** An array of notification integrations on the account. */ 'notificationIntegrations': { /** The name of the notification integration. Example: "Example Notification" */ 'name': string; /** The ID of the notification integration. Example: "example-notification" */ 'id': string; /** The provider to send webhooks to. `RAW_WEBHOOK` allows you to send webhooks to a url of your choice, or you can choose a specific provider. Example: "RAW_WEBHOOK" */ 'type': 'RAW_WEBHOOK' | 'SLACK' | 'DISCORD' | 'TEAMS' | 'TEAMS_WORKFLOWS'; /** The URL where webhooks will be sent. Example: "https://example.com/webhooks" */ 'webhook': string; /** Information on the current webhook status. */ 'status'?: { /** Is the webhook currently disabled? */ 'disabled'?: boolean; /** Why the webhook was disabled. */ 'reason'?: boolean; }; /** Creation date Example: "2023-09-12T16:39:44.166Z\"" */ 'createdAt': string; /** Last update date Example: "2023-09-12T16:39:44.166Z\"" */ 'updatedAt': string; }[]; }; type ListNotificationsCall = ((opts: ListNotificationsRequest) => Promise>) & { all: (opts: ListNotificationsRequest) => Promise>; }; type ListNotificationsRequest = { parameters?: ListNotificationsParameters; options?: ListNotificationsOptions; }; type ListNotificationsParameters = { /** ID of the team */ 'teamId': string; }; type ListNotificationsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists notification integrations for the authenticated user or team. */ declare class ListNotificationsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListNotificationsRequest) => string; body: () => undefined; } type CreateNotificationResult = { /** The name of the notification integration. Example: "Example Notification" */ 'name': string; /** The ID of the notification integration. Example: "example-notification" */ 'id': string; /** The provider to send webhooks to. `RAW_WEBHOOK` allows you to send webhooks to a url of your choice, or you can choose a specific provider. Example: "RAW_WEBHOOK" */ 'type': 'RAW_WEBHOOK' | 'SLACK' | 'DISCORD' | 'TEAMS' | 'TEAMS_WORKFLOWS'; /** The URL where webhooks will be sent. Example: "https://example.com/webhooks" */ 'webhook': string; /** Creation date Example: "2023-09-12T16:39:44.166Z\"" */ 'createdAt': string; /** Last update date Example: "2023-09-12T16:39:44.166Z\"" */ 'updatedAt': string; 'status'?: { /** Is the webhook currently disabled? */ 'disabled'?: boolean; /** Why the webhook was disabled. */ 'reason'?: boolean; /** The timestamp of the first failed webhook request. */ 'timeOfFirstFailedRequest'?: string; /** The number of failed webhook requests. */ 'numberOfFailedRequests'?: number; }; /** Should notifications be sent only for specific projects? Example: true */ 'restricted': boolean; /** An array of projects that notifications will be sent for. */ 'projects': string[]; /** Which events should notifications be sent for? */ 'events': { 'trigger:service:autoscaling:event'?: boolean; 'trigger:service:deployment:status-update'?: boolean; 'trigger:project:tailscale-regen-failure'?: boolean; 'trigger:addon-backup:start'?: boolean; 'trigger:addon-backup:success'?: boolean; 'trigger:addon-backup:failure'?: boolean; 'trigger:addon-backup:abort'?: boolean; 'trigger:build:start'?: boolean; 'trigger:build:success'?: boolean; 'trigger:build:failure'?: boolean; 'trigger:build:abort'?: boolean; 'trigger:job-run:start'?: boolean; 'trigger:job-run:success'?: boolean; 'trigger:job-run:failure'?: boolean; 'trigger:job-run:abort'?: boolean; 'trigger:job-run:terminate'?: boolean; 'trigger:release-flow-template-run:start'?: boolean; 'trigger:release-flow-template-run:update'?: boolean; 'trigger:release-flow-template-run:success'?: boolean; 'trigger:release-flow-template-run:failure'?: boolean; 'trigger:release-flow-template-run:aborted'?: boolean; 'trigger:template-run:queued'?: boolean; 'trigger:template-run:start'?: boolean; 'trigger:template-run:update'?: boolean; 'trigger:template-run:success'?: boolean; 'trigger:template-run:failure'?: boolean; 'trigger:resource:certificate-success'?: boolean; 'trigger:resource:certificate-final-failure'?: boolean; 'trigger:cdn:action-success'?: boolean; 'trigger:cdn:action-failure'?: boolean; 'trigger:cdn:action-delay'?: boolean; 'trigger:log-sink:paused'?: boolean; 'trigger:billing:billing-alert-exceeded'?: boolean; 'trigger:billing:invoice-payment-action-required'?: boolean; 'trigger:billing:invoice-payment-failed'?: boolean; 'trigger:billing:invoice-paid'?: boolean; 'trigger:billing:invoice-carried-over'?: boolean; 'trigger:infrastructure:service:container-crash'?: boolean; 'trigger:infrastructure:service:container-eviction'?: boolean; 'trigger:infrastructure:build:container-eviction'?: boolean; 'trigger:infrastructure:addon:container-crash'?: boolean; 'trigger:infrastructure:addon:container-eviction'?: boolean; 'trigger:infrastructure:job:container-crash'?: boolean; 'trigger:infrastructure:job:container-eviction'?: boolean; 'trigger:infrastructure:build:container-cpuSpike90'?: boolean; 'trigger:infrastructure:build:container-cpuSustained90'?: boolean; 'trigger:infrastructure:service:container-cpuSpike90'?: boolean; 'trigger:infrastructure:service:container-cpuSustained90'?: boolean; 'trigger:infrastructure:job:container-cpuSpike90'?: boolean; 'trigger:infrastructure:job:container-cpuSustained90'?: boolean; 'trigger:infrastructure:addon:container-cpuSpike90'?: boolean; 'trigger:infrastructure:addon:container-cpuSustained90'?: boolean; 'trigger:infrastructure:build:container-memorySpike90'?: boolean; 'trigger:infrastructure:build:container-memorySustained90'?: boolean; 'trigger:infrastructure:service:container-memorySpike90'?: boolean; 'trigger:infrastructure:service:container-memorySustained90'?: boolean; 'trigger:infrastructure:job:container-memorySpike90'?: boolean; 'trigger:infrastructure:job:container-memorySustained90'?: boolean; 'trigger:infrastructure:addon-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:addon-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:byoc:cluster:error'?: boolean; 'trigger:infrastructure:byoc:node-pool:error'?: boolean; 'trigger:infrastructure:byoc:scheduling:error'?: boolean; 'trigger:infrastructure:byoc:volume:error'?: boolean; 'trigger:infrastructure:byoc:volume:attach'?: boolean; }; }; type CreateNotificationCall = (opts: CreateNotificationRequest) => Promise>; type CreateNotificationRequest = { parameters: CreateNotificationParameters; data: CreateNotificationData; }; type CreateNotificationParameters = { /** ID of the notification integration */ 'notificationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the notification integration */ 'notificationId': string; }; type CreateNotificationData = { /** The name of the notification integration. Example: "Example Notification" */ 'name': string; /** The provider to send webhooks to. `RAW_WEBHOOK` allows you to send webhooks to a url of your choice, or you can choose a specific provider. Example: "RAW_WEBHOOK" */ 'type': 'RAW_WEBHOOK' | 'DISCORD' | 'TEAMS' | 'TEAMS_WORKFLOWS'; /** The URL where webhooks will be sent. Example: "https://example.com/webhooks" */ 'webhook': string; /** An optional secret that will be sent in the webhook header for verification. Supports `RAW_WEBHOOK` only. */ 'secret'?: string; /** Should notifications be sent only for specific projects? Example: true */ 'restricted'?: boolean; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** An array of projects that notifications will be sent for. */ 'projects'?: string[]; /** Which events should notifications be sent for? */ 'events': { 'trigger:service:autoscaling:event'?: boolean; 'trigger:service:deployment:status-update'?: boolean; 'trigger:project:tailscale-regen-failure'?: boolean; 'trigger:addon-backup:start'?: boolean; 'trigger:addon-backup:success'?: boolean; 'trigger:addon-backup:failure'?: boolean; 'trigger:addon-backup:abort'?: boolean; 'trigger:build:start'?: boolean; 'trigger:build:success'?: boolean; 'trigger:build:failure'?: boolean; 'trigger:build:abort'?: boolean; 'trigger:job-run:start'?: boolean; 'trigger:job-run:success'?: boolean; 'trigger:job-run:failure'?: boolean; 'trigger:job-run:abort'?: boolean; 'trigger:job-run:terminate'?: boolean; 'trigger:release-flow-template-run:start'?: boolean; 'trigger:release-flow-template-run:update'?: boolean; 'trigger:release-flow-template-run:success'?: boolean; 'trigger:release-flow-template-run:failure'?: boolean; 'trigger:release-flow-template-run:aborted'?: boolean; 'trigger:template-run:queued'?: boolean; 'trigger:template-run:start'?: boolean; 'trigger:template-run:update'?: boolean; 'trigger:template-run:success'?: boolean; 'trigger:template-run:failure'?: boolean; 'trigger:resource:certificate-success'?: boolean; 'trigger:resource:certificate-final-failure'?: boolean; 'trigger:cdn:action-success'?: boolean; 'trigger:cdn:action-failure'?: boolean; 'trigger:cdn:action-delay'?: boolean; 'trigger:log-sink:paused'?: boolean; 'trigger:billing:billing-alert-exceeded'?: boolean; 'trigger:billing:invoice-payment-action-required'?: boolean; 'trigger:billing:invoice-payment-failed'?: boolean; 'trigger:billing:invoice-paid'?: boolean; 'trigger:billing:invoice-carried-over'?: boolean; 'trigger:infrastructure:service:container-crash'?: boolean; 'trigger:infrastructure:service:container-eviction'?: boolean; 'trigger:infrastructure:build:container-eviction'?: boolean; 'trigger:infrastructure:addon:container-crash'?: boolean; 'trigger:infrastructure:addon:container-eviction'?: boolean; 'trigger:infrastructure:job:container-crash'?: boolean; 'trigger:infrastructure:job:container-eviction'?: boolean; 'trigger:infrastructure:build:container-cpuSpike90'?: boolean; 'trigger:infrastructure:build:container-cpuSustained90'?: boolean; 'trigger:infrastructure:service:container-cpuSpike90'?: boolean; 'trigger:infrastructure:service:container-cpuSustained90'?: boolean; 'trigger:infrastructure:job:container-cpuSpike90'?: boolean; 'trigger:infrastructure:job:container-cpuSustained90'?: boolean; 'trigger:infrastructure:addon:container-cpuSpike90'?: boolean; 'trigger:infrastructure:addon:container-cpuSustained90'?: boolean; 'trigger:infrastructure:build:container-memorySpike90'?: boolean; 'trigger:infrastructure:build:container-memorySustained90'?: boolean; 'trigger:infrastructure:service:container-memorySpike90'?: boolean; 'trigger:infrastructure:service:container-memorySustained90'?: boolean; 'trigger:infrastructure:job:container-memorySpike90'?: boolean; 'trigger:infrastructure:job:container-memorySustained90'?: boolean; 'trigger:infrastructure:addon-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:addon-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:byoc:cluster:error'?: boolean; 'trigger:infrastructure:byoc:node-pool:error'?: boolean; 'trigger:infrastructure:byoc:scheduling:error'?: boolean; 'trigger:infrastructure:byoc:volume:error'?: boolean; 'trigger:infrastructure:byoc:volume:attach'?: boolean; }; }; /** Create a new notification integration. */ declare class CreateNotificationEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateNotificationRequest) => string; body: (payload: CreateNotificationRequest) => string; } type GetNotificationResult = { /** The name of the notification integration. Example: "Example Notification" */ 'name': string; /** The ID of the notification integration. Example: "example-notification" */ 'id': string; /** The provider to send webhooks to. `RAW_WEBHOOK` allows you to send webhooks to a url of your choice, or you can choose a specific provider. Example: "RAW_WEBHOOK" */ 'type': 'RAW_WEBHOOK' | 'SLACK' | 'DISCORD' | 'TEAMS' | 'TEAMS_WORKFLOWS'; /** The URL where webhooks will be sent. Example: "https://example.com/webhooks" */ 'webhook': string; /** Creation date Example: "2023-09-12T16:39:44.166Z\"" */ 'createdAt': string; /** Last update date Example: "2023-09-12T16:39:44.166Z\"" */ 'updatedAt': string; 'status'?: { /** Is the webhook currently disabled? */ 'disabled'?: boolean; /** Why the webhook was disabled. */ 'reason'?: boolean; /** The timestamp of the first failed webhook request. */ 'timeOfFirstFailedRequest'?: string; /** The number of failed webhook requests. */ 'numberOfFailedRequests'?: number; }; /** Should notifications be sent only for specific projects? Example: true */ 'restricted': boolean; /** An array of projects that notifications will be sent for. */ 'projects': string[]; /** Which events should notifications be sent for? */ 'events': { 'trigger:service:autoscaling:event'?: boolean; 'trigger:service:deployment:status-update'?: boolean; 'trigger:project:tailscale-regen-failure'?: boolean; 'trigger:addon-backup:start'?: boolean; 'trigger:addon-backup:success'?: boolean; 'trigger:addon-backup:failure'?: boolean; 'trigger:addon-backup:abort'?: boolean; 'trigger:build:start'?: boolean; 'trigger:build:success'?: boolean; 'trigger:build:failure'?: boolean; 'trigger:build:abort'?: boolean; 'trigger:job-run:start'?: boolean; 'trigger:job-run:success'?: boolean; 'trigger:job-run:failure'?: boolean; 'trigger:job-run:abort'?: boolean; 'trigger:job-run:terminate'?: boolean; 'trigger:release-flow-template-run:start'?: boolean; 'trigger:release-flow-template-run:update'?: boolean; 'trigger:release-flow-template-run:success'?: boolean; 'trigger:release-flow-template-run:failure'?: boolean; 'trigger:release-flow-template-run:aborted'?: boolean; 'trigger:template-run:queued'?: boolean; 'trigger:template-run:start'?: boolean; 'trigger:template-run:update'?: boolean; 'trigger:template-run:success'?: boolean; 'trigger:template-run:failure'?: boolean; 'trigger:resource:certificate-success'?: boolean; 'trigger:resource:certificate-final-failure'?: boolean; 'trigger:cdn:action-success'?: boolean; 'trigger:cdn:action-failure'?: boolean; 'trigger:cdn:action-delay'?: boolean; 'trigger:log-sink:paused'?: boolean; 'trigger:billing:billing-alert-exceeded'?: boolean; 'trigger:billing:invoice-payment-action-required'?: boolean; 'trigger:billing:invoice-payment-failed'?: boolean; 'trigger:billing:invoice-paid'?: boolean; 'trigger:billing:invoice-carried-over'?: boolean; 'trigger:infrastructure:service:container-crash'?: boolean; 'trigger:infrastructure:service:container-eviction'?: boolean; 'trigger:infrastructure:build:container-eviction'?: boolean; 'trigger:infrastructure:addon:container-crash'?: boolean; 'trigger:infrastructure:addon:container-eviction'?: boolean; 'trigger:infrastructure:job:container-crash'?: boolean; 'trigger:infrastructure:job:container-eviction'?: boolean; 'trigger:infrastructure:build:container-cpuSpike90'?: boolean; 'trigger:infrastructure:build:container-cpuSustained90'?: boolean; 'trigger:infrastructure:service:container-cpuSpike90'?: boolean; 'trigger:infrastructure:service:container-cpuSustained90'?: boolean; 'trigger:infrastructure:job:container-cpuSpike90'?: boolean; 'trigger:infrastructure:job:container-cpuSustained90'?: boolean; 'trigger:infrastructure:addon:container-cpuSpike90'?: boolean; 'trigger:infrastructure:addon:container-cpuSustained90'?: boolean; 'trigger:infrastructure:build:container-memorySpike90'?: boolean; 'trigger:infrastructure:build:container-memorySustained90'?: boolean; 'trigger:infrastructure:service:container-memorySpike90'?: boolean; 'trigger:infrastructure:service:container-memorySustained90'?: boolean; 'trigger:infrastructure:job:container-memorySpike90'?: boolean; 'trigger:infrastructure:job:container-memorySustained90'?: boolean; 'trigger:infrastructure:addon-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:addon-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:byoc:cluster:error'?: boolean; 'trigger:infrastructure:byoc:node-pool:error'?: boolean; 'trigger:infrastructure:byoc:scheduling:error'?: boolean; 'trigger:infrastructure:byoc:volume:error'?: boolean; 'trigger:infrastructure:byoc:volume:attach'?: boolean; }; }; type GetNotificationCall = (opts: GetNotificationRequest) => Promise>; type GetNotificationRequest = { parameters: GetNotificationParameters; }; type GetNotificationParameters = { /** ID of the notification integration */ 'notificationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the notification integration */ 'notificationId': string; }; /** Get details about a notification integration. */ declare class GetNotificationEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetNotificationRequest) => string; body: () => undefined; } type UpdateNotificationResult = any; type UpdateNotificationCall = (opts: UpdateNotificationRequest) => Promise>; type UpdateNotificationRequest = { parameters: UpdateNotificationParameters; data: UpdateNotificationData; }; type UpdateNotificationParameters = { /** ID of the notification integration */ 'notificationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the notification integration */ 'notificationId': string; }; type UpdateNotificationData = { /** The name of the notification integration. Example: "Example Notification" */ 'name'?: string; /** The URL where webhooks will be sent. Example: "https://example.com/webhooks" */ 'webhook'?: string; /** An optional secret that will be sent in the webhook header for verification. Supports `RAW_WEBHOOK` only. */ 'secret'?: string; /** Should notifications be sent only for specific projects? Example: true */ 'restricted'?: boolean; /** An array of projects that notifications will be sent for. */ 'projects'?: string[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** Which events should notifications be sent for? */ 'events'?: { 'trigger:service:autoscaling:event'?: boolean; 'trigger:service:deployment:status-update'?: boolean; 'trigger:project:tailscale-regen-failure'?: boolean; 'trigger:addon-backup:start'?: boolean; 'trigger:addon-backup:success'?: boolean; 'trigger:addon-backup:failure'?: boolean; 'trigger:addon-backup:abort'?: boolean; 'trigger:build:start'?: boolean; 'trigger:build:success'?: boolean; 'trigger:build:failure'?: boolean; 'trigger:build:abort'?: boolean; 'trigger:job-run:start'?: boolean; 'trigger:job-run:success'?: boolean; 'trigger:job-run:failure'?: boolean; 'trigger:job-run:abort'?: boolean; 'trigger:job-run:terminate'?: boolean; 'trigger:release-flow-template-run:start'?: boolean; 'trigger:release-flow-template-run:update'?: boolean; 'trigger:release-flow-template-run:success'?: boolean; 'trigger:release-flow-template-run:failure'?: boolean; 'trigger:release-flow-template-run:aborted'?: boolean; 'trigger:template-run:queued'?: boolean; 'trigger:template-run:start'?: boolean; 'trigger:template-run:update'?: boolean; 'trigger:template-run:success'?: boolean; 'trigger:template-run:failure'?: boolean; 'trigger:resource:certificate-success'?: boolean; 'trigger:resource:certificate-final-failure'?: boolean; 'trigger:cdn:action-success'?: boolean; 'trigger:cdn:action-failure'?: boolean; 'trigger:cdn:action-delay'?: boolean; 'trigger:log-sink:paused'?: boolean; 'trigger:billing:billing-alert-exceeded'?: boolean; 'trigger:billing:invoice-payment-action-required'?: boolean; 'trigger:billing:invoice-payment-failed'?: boolean; 'trigger:billing:invoice-paid'?: boolean; 'trigger:billing:invoice-carried-over'?: boolean; 'trigger:infrastructure:service:container-crash'?: boolean; 'trigger:infrastructure:service:container-eviction'?: boolean; 'trigger:infrastructure:build:container-eviction'?: boolean; 'trigger:infrastructure:addon:container-crash'?: boolean; 'trigger:infrastructure:addon:container-eviction'?: boolean; 'trigger:infrastructure:job:container-crash'?: boolean; 'trigger:infrastructure:job:container-eviction'?: boolean; 'trigger:infrastructure:build:container-cpuSpike90'?: boolean; 'trigger:infrastructure:build:container-cpuSustained90'?: boolean; 'trigger:infrastructure:service:container-cpuSpike90'?: boolean; 'trigger:infrastructure:service:container-cpuSustained90'?: boolean; 'trigger:infrastructure:job:container-cpuSpike90'?: boolean; 'trigger:infrastructure:job:container-cpuSustained90'?: boolean; 'trigger:infrastructure:addon:container-cpuSpike90'?: boolean; 'trigger:infrastructure:addon:container-cpuSustained90'?: boolean; 'trigger:infrastructure:build:container-memorySpike90'?: boolean; 'trigger:infrastructure:build:container-memorySustained90'?: boolean; 'trigger:infrastructure:service:container-memorySpike90'?: boolean; 'trigger:infrastructure:service:container-memorySustained90'?: boolean; 'trigger:infrastructure:job:container-memorySpike90'?: boolean; 'trigger:infrastructure:job:container-memorySustained90'?: boolean; 'trigger:infrastructure:addon-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:addon-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-75-exceeded'?: boolean; 'trigger:infrastructure:platform-volume:usage-90-exceeded'?: boolean; 'trigger:infrastructure:byoc:cluster:error'?: boolean; 'trigger:infrastructure:byoc:node-pool:error'?: boolean; 'trigger:infrastructure:byoc:scheduling:error'?: boolean; 'trigger:infrastructure:byoc:volume:error'?: boolean; 'trigger:infrastructure:byoc:volume:attach'?: boolean; }; }; /** Updates a notification integration */ declare class UpdateNotificationEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateNotificationRequest) => string; body: (payload: UpdateNotificationRequest) => string; } type DeleteNotificationResult = any; type DeleteNotificationCall = (opts: DeleteNotificationRequest) => Promise>; type DeleteNotificationRequest = { parameters: DeleteNotificationParameters; }; type DeleteNotificationParameters = { /** ID of the notification integration */ 'notificationId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the notification integration */ 'notificationId': string; }; /** Deletes a notification integration */ declare class DeleteNotificationEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteNotificationRequest) => string; body: () => undefined; } type ListRegistrycredentialsResult = { /** An array of registry credential information. */ 'credentials': { /** ID of the docker credentials Example: "example-credentials" */ 'id': string; /** The name of the docker credentials. Example: "Example Docker Credentials" */ 'name': string; /** The provider of the docker registry. */ 'provider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** The URL of the docker registry. */ 'registryUrl'?: string; 'aws'?: { /** The region of the docker registry. */ 'region'?: string; }; 'gcp'?: { /** The project ID of the GCP docker registry. */ 'projectId'?: string; }; 'azure'?: { /** The resource group of the Azure docker registry. */ 'resourceGroup'?: string; }; /** Integration to use for this registry. */ 'integrationId'?: string; 'credentials'?: { 'scope': { /** Whether the credentials can pull images. */ 'pull'?: boolean; /** Whether the credentials can push images. */ 'push'?: boolean; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }[]; }; type ListRegistrycredentialsCall = ((opts: ListRegistrycredentialsRequest) => Promise>) & { all: (opts: ListRegistrycredentialsRequest) => Promise>; }; type ListRegistrycredentialsRequest = { parameters?: ListRegistrycredentialsParameters; options?: ListRegistrycredentialsOptions; }; type ListRegistrycredentialsParameters = { /** ID of the team */ 'teamId': string; }; type ListRegistrycredentialsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists the container registry credentials saved to this account. Does not display secrets. */ declare class ListRegistrycredentialsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListRegistrycredentialsRequest) => string; body: () => undefined; } type AddRegistrycredentialsResult = { /** ID of the docker credentials Example: "example-credentials" */ 'id': string; /** The name of the docker credentials. Example: "Example Docker Credentials" */ 'name': string; /** The provider of the docker registry. */ 'provider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** The URL of the docker registry. */ 'registryUrl'?: string; 'aws'?: { /** The region of the docker registry. */ 'region'?: string; }; 'gcp'?: { /** The project ID of the GCP docker registry. */ 'projectId'?: string; }; 'azure'?: { /** The resource group of the Azure docker registry. */ 'resourceGroup'?: string; }; /** Integration to use for this registry. */ 'integrationId'?: string; 'credentials'?: { /** Username for the docker registry. Required when `integrationId` is provided. */ 'username'?: string; /** Password for the docker registry. Required when `integrationId` is provided. */ 'password'?: string; 'scope': { /** Whether the credentials can pull images. */ 'pull'?: boolean; /** Whether the credentials can push images. */ 'push'?: boolean; }; }; 'restrictions'?: { /** Whether access to this credential is restricted. */ 'restricted': boolean; /** List of projects that have access to this credential. */ 'projects'?: string[]; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; type AddRegistrycredentialsCall = (opts: AddRegistrycredentialsRequest) => Promise>; type AddRegistrycredentialsRequest = { parameters?: AddRegistrycredentialsParameters; data: AddRegistrycredentialsData; }; type AddRegistrycredentialsParameters = { /** ID of the team */ 'teamId': string; }; type AddRegistrycredentialsData = { /** The name of the docker credentials. Example: "Example Docker Credentials" */ 'name': string; /** The provider of the docker registry. */ 'provider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** The URL of the docker registry. */ 'registryUrl'?: string; 'aws'?: { /** The region of the docker registry. */ 'region'?: string; }; 'gcp'?: { /** The project ID of the GCP docker registry. */ 'projectId'?: string; }; 'azure'?: { /** The resource group of the Azure docker registry. */ 'resourceGroup'?: string; }; /** Integration to use for this registry. */ 'integrationId'?: string; 'credentials'?: { /** Username for the docker registry. Required when `integrationId` is provided. */ 'username'?: string; /** Password for the docker registry. Required when `integrationId` is provided. */ 'password'?: string; 'scope': { /** Whether the credentials can pull images. */ 'pull'?: boolean; /** Whether the credentials can push images. */ 'push'?: boolean; }; }; 'restrictions'?: { /** Whether access to this credential is restricted. */ 'restricted': boolean; /** List of projects that have access to this credential. */ 'projects'?: string[]; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; /** Adds a new set of container registry credentials to this account. */ declare class AddRegistrycredentialsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AddRegistrycredentialsRequest) => string; body: (payload: AddRegistrycredentialsRequest) => string; } type GetRegistrycredentialsResult = { /** ID of the docker credentials Example: "example-credentials" */ 'id': string; /** The name of the docker credentials. Example: "Example Docker Credentials" */ 'name': string; /** The provider of the docker registry. */ 'provider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** The URL of the docker registry. */ 'registryUrl'?: string; 'aws'?: { /** The region of the docker registry. */ 'region'?: string; }; 'gcp'?: { /** The project ID of the GCP docker registry. */ 'projectId'?: string; }; 'azure'?: { /** The resource group of the Azure docker registry. */ 'resourceGroup'?: string; }; /** Integration to use for this registry. */ 'integrationId'?: string; 'credentials'?: { /** Username for the docker registry. Required when `integrationId` is provided. */ 'username'?: string; /** Password for the docker registry. Required when `integrationId` is provided. */ 'password'?: string; 'scope': { /** Whether the credentials can pull images. */ 'pull'?: boolean; /** Whether the credentials can push images. */ 'push'?: boolean; }; }; 'restrictions'?: { /** Whether access to this credential is restricted. */ 'restricted': boolean; /** List of projects that have access to this credential. */ 'projects'?: string[]; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; type GetRegistrycredentialsCall = (opts: GetRegistrycredentialsRequest) => Promise>; type GetRegistrycredentialsRequest = { parameters: GetRegistrycredentialsParameters; }; type GetRegistrycredentialsParameters = { /** ID of the registry credential */ 'credentialId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the registry credential */ 'credentialId': string; }; /** Views a set of registry credential data. */ declare class GetRegistrycredentialsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetRegistrycredentialsRequest) => string; body: () => undefined; } type UpdateRegistrycredentialsResult = any; type UpdateRegistrycredentialsCall = (opts: UpdateRegistrycredentialsRequest) => Promise>; type UpdateRegistrycredentialsRequest = { parameters: UpdateRegistrycredentialsParameters; data: UpdateRegistrycredentialsData; }; type UpdateRegistrycredentialsParameters = { /** ID of the registry credential */ 'credentialId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the registry credential */ 'credentialId': string; }; type UpdateRegistrycredentialsData = { 'credentials'?: { /** Username for the docker registry. Required when `integrationId` is provided. */ 'username'?: string; /** Password for the docker registry. Required when `integrationId` is provided. */ 'password'?: string; 'scope': { /** Whether the credentials can pull images. */ 'pull'?: boolean; /** Whether the credentials can push images. */ 'push'?: boolean; }; }; 'restrictions'?: { /** Whether access to this credential is restricted. */ 'restricted': boolean; /** List of projects that have access to this credential. */ 'projects'?: string[]; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; /** Updates a set of registry credential data. */ declare class UpdateRegistrycredentialsEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateRegistrycredentialsRequest) => string; body: (payload: UpdateRegistrycredentialsRequest) => string; } type DeleteRegistrycredentialsResult = any; type DeleteRegistrycredentialsCall = (opts: DeleteRegistrycredentialsRequest) => Promise>; type DeleteRegistrycredentialsRequest = { parameters: DeleteRegistrycredentialsParameters; }; type DeleteRegistrycredentialsParameters = { /** ID of the registry credential */ 'credentialId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the registry credential */ 'credentialId': string; }; /** Deletes a set of registry credential data. */ declare class DeleteRegistrycredentialsEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteRegistrycredentialsRequest) => string; body: () => undefined; } type ListSshidentitiesResult = { 'identities'?: { /** ID of the ssh identity Example: "example-identity" */ 'id': string; 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }[]; }; type ListSshidentitiesCall = ((opts: ListSshidentitiesRequest) => Promise>) & { all: (opts: ListSshidentitiesRequest) => Promise>; }; type ListSshidentitiesRequest = { parameters?: ListSshidentitiesParameters; options?: ListSshidentitiesOptions; }; type ListSshidentitiesParameters = { /** ID of the team */ 'teamId': string; }; type ListSshidentitiesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists the SSH identities saved to this account. Does not display SSH public keys. */ declare class ListSshidentitiesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListSshidentitiesRequest) => string; body: () => undefined; } type AddSshidentitiesResult = { /** ID of the ssh identity Example: "example-identity" */ 'id': string; 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; type AddSshidentitiesCall = (opts: AddSshidentitiesRequest) => Promise>; type AddSshidentitiesRequest = { parameters?: AddSshidentitiesParameters; data: AddSshidentitiesData; }; type AddSshidentitiesParameters = { /** ID of the team */ 'teamId': string; }; type AddSshidentitiesData = { 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; /** Adds a new SSH identity to this account. */ declare class AddSshidentitiesEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AddSshidentitiesRequest) => string; body: (payload: AddSshidentitiesRequest) => string; } type GetSshidentitiesResult = { /** ID of the ssh identity Example: "example-identity" */ 'id': string; 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; type GetSshidentitiesCall = (opts: GetSshidentitiesRequest) => Promise>; type GetSshidentitiesRequest = { parameters: GetSshidentitiesParameters; }; type GetSshidentitiesParameters = { /** ID of the SSH identity */ 'identityId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the SSH identity */ 'identityId': string; }; /** Views SSH identity data including public keys. */ declare class GetSshidentitiesEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetSshidentitiesRequest) => string; body: () => undefined; } type PutSshidentitiesResult = { /** ID of the ssh identity Example: "example-identity" */ 'id': string; 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; type PutSshidentitiesCall = (opts: PutSshidentitiesRequest) => Promise>; type PutSshidentitiesRequest = { parameters: PutSshidentitiesParameters; data: PutSshidentitiesData; }; type PutSshidentitiesParameters = { /** ID of the SSH identity */ 'identityId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the SSH identity */ 'identityId': string; }; type PutSshidentitiesData = { 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; /** Creates or updates SSH identity data. */ declare class PutSshidentitiesEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutSshidentitiesRequest) => string; body: (payload: PutSshidentitiesRequest) => string; } type UpdateSshidentitiesResult = { /** ID of the ssh identity Example: "example-identity" */ 'id': string; 'name': string; 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; /** Configuration of restrictions. */ 'restrictions'?: { /** Configuration of project restriction settings. */ 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; /** Configuration of tag restriction settings. */ 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; type UpdateSshidentitiesCall = (opts: UpdateSshidentitiesRequest) => Promise>; type UpdateSshidentitiesRequest = { parameters: UpdateSshidentitiesParameters; data: UpdateSshidentitiesData; }; type UpdateSshidentitiesParameters = { /** ID of the SSH identity */ 'identityId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the SSH identity */ 'identityId': string; }; type UpdateSshidentitiesData = { 'description'?: string; /** A list of SSH public keys. Example: [{"key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."}] */ 'sshPublicKeys'?: { /** The SSH public key. Example: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..." */ 'key': string; }[]; 'restrictions'?: { 'projects'?: { /** Whether restriction by project should be enabled. */ 'enabled'?: boolean; /** An array of previously defined projects. */ 'items'?: string[]; }; 'tags'?: { /** Whether restriction by tag should be enabled. */ 'enabled'?: boolean; /** An array of previously defined tags to help identify and group the resource. */ 'items'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'matchCondition'?: 'and' | 'or'; }; }; /** time of update */ 'updatedAt'?: string; /** time of creation */ 'createdAt'?: string; }; /** Updates SSH identity data. */ declare class UpdateSshidentitiesEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateSshidentitiesRequest) => string; body: (payload: UpdateSshidentitiesRequest) => string; } type DeleteSshidentitiesResult = any; type DeleteSshidentitiesCall = (opts: DeleteSshidentitiesRequest) => Promise>; type DeleteSshidentitiesRequest = { parameters: DeleteSshidentitiesParameters; }; type DeleteSshidentitiesParameters = { /** ID of the SSH identity */ 'identityId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the SSH identity */ 'identityId': string; }; /** Deletes an SSH identity. */ declare class DeleteSshidentitiesEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteSshidentitiesRequest) => string; body: () => undefined; } type ListVcsResult = { /** The version control accounts linked to this Northflank account. */ 'vcsAccountLinks': { /** The type of version control provider the account is linked to. Example: "self-hosted" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** The email of the account linked with this provider. Example: "email@example.com" */ 'email': string; /** The username of the account linked with this provider. Example: "vcs-user" */ 'login': string; /** The name of the version control provider. Only returned for self-hosted links. Example: "Self-hosted VCS" */ 'name'?: string; /** The url of the version control provider. Only returned for self-hosted links. Example: "https://git.example.com" */ 'vcsUrl'?: string; /** The type of the self-hosted vcs provider. Only returned for self-hosted links. Example: "gitlab-ee" */ 'vcsType'?: 'gitlab-ee'; /** The ID of the self-hosted vcs provider. Only returned for self-hosted links. Example: "example-team/self-hosted-vcs" */ 'internalId'?: string; /** The name of the team the self-hosted vcs belongs to. Only returned for self-hosted links. Example: "Example Team" */ 'entityName'?: string; }[]; }; type ListVcsCall = (opts: ListVcsRequest) => Promise>; type ListVcsRequest = { parameters?: ListVcsParameters; }; type ListVcsParameters = { /** ID of the team */ 'teamId': string; }; /** Lists linked version control providers */ declare class ListVcsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListVcsRequest) => string; body: () => undefined; } type CreateCustomvcsTokenResult = { /** VCS provider the token belongs to. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** Installation ID of the GitHub installation the token belongs to (GitHub only) Example: 1234567 */ 'installationId'?: number; /** Installation token (GitHub only). Example: "ghs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" */ 'installationToken'?: string; /** OAuth token. Example: "ghu_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" */ 'token': string; }; type CreateCustomvcsTokenCall = (opts: CreateCustomvcsTokenRequest) => Promise>; type CreateCustomvcsTokenRequest = { parameters: CreateCustomvcsTokenParameters; options?: CreateCustomvcsTokenOptions; }; type CreateCustomvcsTokenParameters = { /** ID of the custom VCS */ 'customVCSId': string; /** ID of the version control link */ 'vcsLinkId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the custom VCS */ 'customVCSId': string; /** ID of the version control link */ 'vcsLinkId': string; }; type CreateCustomvcsTokenOptions = { 'force_refresh'?: boolean; }; /** Generate a token for a specific VCS link. */ declare class CreateCustomvcsTokenEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateCustomvcsTokenRequest) => string; body: () => undefined; } type ListReposResult = { /** A list of accessible repositories. */ 'repos'?: { /** Version control provider of the repository. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If `vcsService` is `self-hosted`, the ID of the self-hosted provider. */ 'selfHostedVcsId'?: string; /** The ID of the repository from the version control provider. This is always returned from the Northflank API as a string for consistency across providers. This value is the numerical ID of a GitHub repository, the numerical ID of a GitLab project, or the UUID of a Bitbucket repository. Example: "123456789" */ 'id': string; /** The name of the repository. Example: "gatsby-with-northflank" */ 'name': string; /** The full name of the repository. Example: "northflank/gatsby-with-northflank" */ 'full_name': string; /** The url of the repository. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'url': string; /** Details about the repository owner. */ 'owner': { /** The login of the repository owner. Example: "northflank" */ 'login': string; }; /** The login of the linked version control account that can access this repository. Example: "example-user" */ 'accountLogin': string; }[]; }; type ListReposCall = ((opts: ListReposRequest) => Promise>) & { all: (opts: ListReposRequest) => Promise>; }; type ListReposRequest = { parameters?: ListReposParameters; options?: ListReposOptions; }; type ListReposParameters = { /** ID of the team */ 'teamId': string; }; type ListReposOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** If provided, only returns repositories belonging to this version control provider. */ 'vcs_service'?: string; /** If provided, only returns repositories belonging to this self-hosted version control provider. */ 'self_hosted_vcs_id'?: string; /** If provided, only returns repositories that can be accessed by the linked version control account with this name. */ 'account_login'?: string; /** If provided, only returns repositories belong to that VCS link. */ 'vcs_link_id'?: string; }; /** Gets a list of repositories accessible to this account */ declare class ListReposEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListReposRequest) => string; body: () => undefined; } type ListBranchesResult = { /** A list of branches for this repository. */ 'branches'?: { /** Name of the branch. Example: "main" */ 'name': string; 'id': string; /** Details about the most recent commit on the branch. */ 'commit': { /** SHA identifier of the commit. Example: "f8aca180e989be62cba71db629d2ede05f2d10c4" */ 'sha': string; /** Details about the commit author. */ 'author': { /** The login of the commit author. Example: "northflank" */ 'login': string; }; /** Commit message of the commit. Example: "Initial commit" */ 'message'?: string; /** Timestamp of the commit. Example: "2021-09-17T14:04:39.000Z" */ 'date'?: string; }; }[]; }; type ListBranchesCall = ((opts: ListBranchesRequest) => Promise>) & { all: (opts: ListBranchesRequest) => Promise>; }; type ListBranchesRequest = { parameters: ListBranchesParameters; options?: ListBranchesOptions; }; type ListBranchesParameters = { /** Version control provider of the repository */ 'vcsService': string; /** Name of the owner of the repository */ 'repositoryOwner': string; /** Name of the repository */ 'repositoryName': string; } | { /** ID of the team */ 'teamId': string; /** Version control provider of the repository */ 'vcsService': string; /** Name of the owner of the repository */ 'repositoryOwner': string; /** Name of the repository */ 'repositoryName': string; }; type ListBranchesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** If provided, uses the given VCS link to access the repository's data. */ 'vcs_link_id'?: string; }; /** Gets a list of branches for the repo */ declare class ListBranchesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListBranchesRequest) => string; body: () => undefined; } type ListLoadbalancersResult = { /** An array of load balancers. */ 'loadBalancers': { /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; /** ID of the load balancer Example: "my-load-balancer" */ 'id': string; /** The time the load balancer was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the load balancer was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }[]; }; type ListLoadbalancersCall = ((opts: ListLoadbalancersRequest) => Promise>) & { all: (opts: ListLoadbalancersRequest) => Promise>; }; type ListLoadbalancersRequest = { parameters?: ListLoadbalancersParameters; options?: ListLoadbalancersOptions; }; type ListLoadbalancersParameters = { /** ID of the team */ 'teamId': string; }; type ListLoadbalancersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of load balancers belonging to the team */ declare class ListLoadbalancersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListLoadbalancersRequest) => string; body: () => undefined; } type CreateLoadbalancerResult = { /** ID of the load balancer Example: "my-load-balancer" */ 'id': string; /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; 'state'?: { /** Public IP addresses (endpoints) of the load balancer Example: ["203.0.113.1"] */ 'endpoints'?: string[]; /** Current status of the load balancer Example: "provisioned" */ 'status': 'pending' | 'provisioning' | 'provisioned' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the load balancer was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the load balancer was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type CreateLoadbalancerCall = (opts: CreateLoadbalancerRequest) => Promise>; type CreateLoadbalancerRequest = { parameters?: CreateLoadbalancerParameters; data: CreateLoadbalancerData; }; type CreateLoadbalancerParameters = { /** ID of the team */ 'teamId': string; }; type CreateLoadbalancerData = { /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; }; /** Creates a new load balancer */ declare class CreateLoadbalancerEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateLoadbalancerRequest) => string; body: (payload: CreateLoadbalancerRequest) => string; } type PutLoadbalancerResult = { /** ID of the load balancer Example: "my-load-balancer" */ 'id': string; /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; 'state'?: { /** Public IP addresses (endpoints) of the load balancer Example: ["203.0.113.1"] */ 'endpoints'?: string[]; /** Current status of the load balancer Example: "provisioned" */ 'status': 'pending' | 'provisioning' | 'provisioned' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the load balancer was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the load balancer was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type PutLoadbalancerCall = (opts: PutLoadbalancerRequest) => Promise>; type PutLoadbalancerRequest = { parameters?: PutLoadbalancerParameters; data: PutLoadbalancerData; }; type PutLoadbalancerParameters = { /** ID of the team */ 'teamId': string; }; type PutLoadbalancerData = { /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; }; /** Creates or updates a load balancer */ declare class PutLoadbalancerEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutLoadbalancerRequest) => string; body: (payload: PutLoadbalancerRequest) => string; } type GetLoadbalancerResult = { /** ID of the load balancer Example: "my-load-balancer" */ 'id': string; /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; 'state'?: { /** Public IP addresses (endpoints) of the load balancer Example: ["203.0.113.1"] */ 'endpoints'?: string[]; /** Current status of the load balancer Example: "provisioned" */ 'status': 'pending' | 'provisioning' | 'provisioned' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the load balancer was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the load balancer was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type GetLoadbalancerCall = (opts: GetLoadbalancerRequest) => Promise>; type GetLoadbalancerRequest = { parameters: GetLoadbalancerParameters; }; type GetLoadbalancerParameters = { /** ID of the load balancer */ 'loadBalancerId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the load balancer */ 'loadBalancerId': string; }; /** Gets information about the given load balancer */ declare class GetLoadbalancerEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetLoadbalancerRequest) => string; body: () => undefined; } type PatchLoadbalancerResult = { /** ID of the load balancer Example: "my-load-balancer" */ 'id': string; /** The name of the load balancer. Example: "my-load-balancer" */ 'name': string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec': { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; 'state'?: { /** Public IP addresses (endpoints) of the load balancer Example: ["203.0.113.1"] */ 'endpoints'?: string[]; /** Current status of the load balancer Example: "provisioned" */ 'status': 'pending' | 'provisioning' | 'provisioned' | 'error' | 'deleting' | 'deleted'; /** Time of the last status transition */ 'lastTransitionTime': string; }; /** The time the load balancer was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the load balancer was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt': string; }; type PatchLoadbalancerCall = (opts: PatchLoadbalancerRequest) => Promise>; type PatchLoadbalancerRequest = { parameters: PatchLoadbalancerParameters; data: PatchLoadbalancerData; }; type PatchLoadbalancerParameters = { /** ID of the load balancer */ 'loadBalancerId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the load balancer */ 'loadBalancerId': string; }; type PatchLoadbalancerData = { /** The name of the load balancer. Example: "my-load-balancer" */ 'name'?: string; /** The description of the load balancer. Example: "This is a new load balancer." */ 'description'?: string; /** Load balancer specification */ 'spec'?: { /** Protocol type for the load balancer Example: "tcp" */ 'type': 'tcp' | 'udp'; 'target': { /** Target type for the load balancer Example: "region" */ 'type': 'region' | 'cluster'; /** Id of the loadbalancer target */ 'targetId'?: string; }; /** Port configurations for the load balancer */ 'ports': { /** Unique port identifier Example: "port-80" */ 'id': string; /** Port number or range (single port, multiple comma-separated, or range with dash) */ 'port': string; /** Backend services or addons for this port */ 'backends': { /** Backend reference in format {projectId}/{nfObjectId} Example: "my-project/my-service" */ 'id': string; /** Backend type (service or addon) Example: "service" */ 'type': 'service' | 'addon'; /** Backend port number Example: 3000 */ 'port': number; /** Traffic weight for this backend Example: 1 */ 'weight'?: number; }[]; }[]; }; }; /** Updates a load balancer */ declare class PatchLoadbalancerEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchLoadbalancerRequest) => string; body: (payload: PatchLoadbalancerRequest) => string; } type DeleteLoadbalancerResult = any; type DeleteLoadbalancerCall = (opts: DeleteLoadbalancerRequest) => Promise>; type DeleteLoadbalancerRequest = { parameters: DeleteLoadbalancerParameters; }; type DeleteLoadbalancerParameters = { /** ID of the load balancer */ 'loadBalancerId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the load balancer */ 'loadBalancerId': string; }; /** Deletes the given load balancer. */ declare class DeleteLoadbalancerEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteLoadbalancerRequest) => string; body: () => undefined; } type ListOrgmembersResult = { /** An array of org members. */ 'members': { /** ID (username) of the org member. For users who are not finalized this ID may change on finalisation. Example: "john-doe" */ 'id': string; /** Display name from the member profile. Example: "John Doe" */ 'name'?: string; /** Email addresses of the member. */ 'emails'?: { 'address'?: string; 'verified'?: boolean; }[]; /** The time the member joined the org. Example: "2021-01-20T11:19:53.175Z" */ 'joinedAt'?: string; /** Whether the account has been fully set up by the user. */ 'finalized': boolean; }[]; }; type ListOrgmembersCall = ((opts: ListOrgmembersRequest) => Promise>) & { all: (opts: ListOrgmembersRequest) => Promise>; }; type ListOrgmembersRequest = { options?: ListOrgmembersOptions; }; type ListOrgmembersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of members belonging to the authenticated org. */ declare class ListOrgmembersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListOrgmembersRequest) => string; body: () => undefined; } type ListOrgrolesResult = { /** An array of org roles. */ 'roles': { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions': { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; }[]; }; type ListOrgrolesCall = ((opts: ListOrgrolesRequest) => Promise>) & { all: (opts: ListOrgrolesRequest) => Promise>; }; type ListOrgrolesRequest = { options?: ListOrgrolesOptions; }; type ListOrgrolesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of platform roles for the authenticated org. */ declare class ListOrgrolesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListOrgrolesRequest) => string; body: () => undefined; } type CreateOrgroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions': { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; /** Org-level permissions. */ 'orgScope': string[]; }; }; type CreateOrgroleCall = (opts: CreateOrgroleRequest) => Promise>; type CreateOrgroleRequest = { data: CreateOrgroleData; }; type CreateOrgroleData = { /** The name of the role. Example: "Developer" */ 'name': string; /** A description of the role. Example: "Role for developers." */ 'description'?: string; /** Permissions granted by this role. */ 'permissions'?: { /** Team-level RBAC permission strings. */ 'teamScope'?: string[]; /** Project-level RBAC permission strings. */ 'projectScope'?: string[]; /** Org-level RBAC permission strings. */ 'orgScope'?: string[]; }; /** Access restrictions for this role. */ 'restrictions'?: { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; }; /** Creates a new platform role for the authenticated org. */ declare class CreateOrgroleEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateOrgroleRequest) => string; body: (payload: CreateOrgroleRequest) => string; } type PutOrgroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions': { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; /** Org-level permissions. */ 'orgScope': string[]; }; }; type PutOrgroleCall = (opts: PutOrgroleRequest) => Promise>; type PutOrgroleRequest = { data: PutOrgroleData; }; type PutOrgroleData = { /** The name of the role. Example: "Developer" */ 'name': string; /** A description of the role. Example: "Role for developers." */ 'description'?: string; /** Permissions granted by this role. */ 'permissions'?: { /** Team-level RBAC permission strings. */ 'teamScope'?: string[]; /** Project-level RBAC permission strings. */ 'projectScope'?: string[]; /** Org-level RBAC permission strings. */ 'orgScope'?: string[]; }; /** Access restrictions for this role. */ 'restrictions'?: { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; }; /** Creates role or updates all user-editable fields on a platform role for the authenticated org. */ declare class PutOrgroleEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutOrgroleRequest) => string; body: (payload: PutOrgroleRequest) => string; } type GetOrgroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions': { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; /** Org-level permissions. */ 'orgScope': string[]; }; }; type GetOrgroleCall = (opts: GetOrgroleRequest) => Promise>; type GetOrgroleRequest = { parameters: GetOrgroleParameters; }; type GetOrgroleParameters = { /** ID of the org role */ 'roleId': string; }; /** Gets details about a specific org platform role. */ declare class GetOrgroleEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetOrgroleRequest) => string; body: () => undefined; } type PatchOrgroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions': { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; /** Org-level permissions. */ 'orgScope': string[]; }; }; type PatchOrgroleCall = (opts: PatchOrgroleRequest) => Promise>; type PatchOrgroleRequest = { parameters: PatchOrgroleParameters; data: PatchOrgroleData; }; type PatchOrgroleParameters = { /** ID of the org role */ 'roleId': string; }; type PatchOrgroleData = { /** A description of the role. Example: "Role for developers." */ 'description'?: string; /** Permissions granted by this role. */ 'permissions'?: { /** Team-level RBAC permission strings. */ 'teamScope'?: string[]; /** Project-level RBAC permission strings. */ 'projectScope'?: string[]; /** Org-level RBAC permission strings. */ 'orgScope'?: string[]; }; /** Access restrictions for this role. */ 'restrictions'?: { 'enabled': boolean; 'teams'?: { 'teamId': string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }[]; }; /** An array of linked directory groups. Users belonging to any of these linked directory groups will automatically be a member of this role. */ 'directoryGroups'?: string[]; }; /** Partially updates a platform role for the authenticated org. */ declare class PatchOrgroleEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchOrgroleRequest) => string; body: (payload: PatchOrgroleRequest) => string; } type DeleteOrgroleResult = any; type DeleteOrgroleCall = (opts: DeleteOrgroleRequest) => Promise>; type DeleteOrgroleRequest = { parameters: DeleteOrgroleParameters; }; type DeleteOrgroleParameters = { /** ID of the org role */ 'roleId': string; }; /** Deletes a platform role from the authenticated org. */ declare class DeleteOrgroleEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteOrgroleRequest) => string; body: () => undefined; } type ListOrgrolemembersResult = { /** An array of members in the org role. */ 'members': { /** ID (username) of the org member. For users who are not finalized this ID may change on finalisation. Example: "john-doe" */ 'id': string; /** Display name from the member profile. Example: "John Doe" */ 'name'?: string; /** Email addresses of the member. */ 'emails'?: { 'address'?: string; 'verified'?: boolean; }[]; /** The time the member joined the org. Example: "2021-01-20T11:19:53.175Z" */ 'joinedAt'?: string; /** Whether the account has been fully set up by the user. */ 'finalized': boolean; /** How the member was added to the role. `explicit` means manually added; `implicit` means provisioned via Directory Sync. Example: "explicit" */ 'type': 'explicit' | 'implicit'; }[]; }; type ListOrgrolemembersCall = ((opts: ListOrgrolemembersRequest) => Promise>) & { all: (opts: ListOrgrolemembersRequest) => Promise>; }; type ListOrgrolemembersRequest = { parameters: ListOrgrolemembersParameters; options?: ListOrgrolemembersOptions; }; type ListOrgrolemembersParameters = { /** ID of the org role */ 'roleId': string; }; type ListOrgrolemembersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter members by how they were added, directly or implicitly via directory group membership. */ 'type'?: string; /** Filter members by user ID. Specify the parameter multiple times to filter by multiple user IDs. */ 'userIds'?: undefined; }; /** Gets a list of members assigned to a platform role in the authenticated org. */ declare class ListOrgrolemembersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListOrgrolemembersRequest) => string; body: () => undefined; } type CreateOrgrolememberResult = any; type CreateOrgrolememberCall = (opts: CreateOrgrolememberRequest) => Promise>; type CreateOrgrolememberRequest = { parameters: CreateOrgrolememberParameters; data: CreateOrgrolememberData; }; type CreateOrgrolememberParameters = { /** ID of the org role */ 'roleId': string; }; type CreateOrgrolememberData = { /** ID of the user to add to this role. Example: "john-doe" */ 'userId': string; }; /** Adds a user to a platform role in the authenticated org. */ declare class CreateOrgrolememberEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateOrgrolememberRequest) => string; body: (payload: CreateOrgrolememberRequest) => string; } type DeleteOrgrolememberResult = any; type DeleteOrgrolememberCall = (opts: DeleteOrgrolememberRequest) => Promise>; type DeleteOrgrolememberRequest = { parameters: DeleteOrgrolememberParameters; }; type DeleteOrgrolememberParameters = { /** ID of the org role */ 'roleId': string; /** ID of the org member. */ 'memberId': string; }; /** Removes a user from a platform role in the authenticated org. */ declare class DeleteOrgrolememberEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteOrgrolememberRequest) => string; body: () => undefined; } type ListPlansResult = { /** An array of available plans */ 'plans': { /** The ID of the plan. Example: "nf-compute-20" */ 'id': string; /** The name of the plan. Example: "nf-compute-20" */ 'name': string; /** The currency code of the currency used by this plan. Example: "usd" */ 'currency': string; /** The approximate monthly (30 days) cost of the plan. Example: 4.4 */ 'amountPerMonth': number; /** The hourly cost of the plan. Example: 0.0061 */ 'amountPerHour': number; /** The CPU resource of the plan, in vCPUs. Example: 0.2 */ 'cpuResource': number; /** The memory resource of the plan, in megabytes Example: 512 */ 'ramResource': number; }[]; }; type ListPlansCall = (opts: ListPlansRequest) => Promise>; type ListPlansRequest = {}; /** Lists available billing plans */ declare class ListPlansEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListPlansRequest) => string; body: () => undefined; } type ListProjectsResult = { /** An array of projects. */ 'projects': { /** Identifier for the project. Example: "default-project" */ 'id': string; /** The name of the project. Example: "Default Project" */ 'name': string; /** A short description of the project. Example: "The project description" */ 'description'?: string; }[]; }; type ListProjectsCall = ((opts: ListProjectsRequest) => Promise>) & { all: (opts: ListProjectsRequest) => Promise>; }; type ListProjectsRequest = { parameters?: ListProjectsParameters; options?: ListProjectsOptions; }; type ListProjectsParameters = { /** ID of the team */ 'teamId': string; }; type ListProjectsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists projects for the authenticated user or team. */ declare class ListProjectsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListProjectsRequest) => string; body: () => undefined; } type CreateProjectResult = { /** Identifier for the project Example: "example-project" */ 'id': string; /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The region the project will be hosted in. Example: "europe-west" */ 'region'?: string; /** The BYOC cluster this project will be hosted in. Example: "gcp-cluster-1" */ 'clusterId'?: string; /** Registry configuration for the project. Can be PaaS or Self-Hosted */ 'customRegistry'?: { 'enabled'?: boolean; 'configuration'?: { 'credentialId': string; 'provider'?: 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; }; }; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; /** time of creation Example: "2000-01-01T12:00:00.000Z" */ 'createdAt'?: string; /** time of update Example: "2000-01-01T12:00:00.000Z" */ 'updatedAt'?: string; }; type CreateProjectCall = (opts: CreateProjectRequest) => Promise>; type CreateProjectRequest = { parameters?: CreateProjectParameters; data: CreateProjectData; }; type CreateProjectParameters = { /** ID of the team */ 'teamId': string; }; type CreateProjectData = { /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The region the project will be hosted in. Example: "europe-west" */ 'region'?: string; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; } | { /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The BYOC cluster this project will be hosted in. Example: "gcp-cluster-1" */ 'clusterId'?: string; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; }; /** Creates a new project. */ declare class CreateProjectEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateProjectRequest) => string; body: (payload: CreateProjectRequest) => string; } type PutProjectResult = { /** Identifier for the project Example: "example-project" */ 'id': string; /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The region the project will be hosted in. Example: "europe-west" */ 'region'?: string; /** The BYOC cluster this project will be hosted in. Example: "gcp-cluster-1" */ 'clusterId'?: string; /** Registry configuration for the project. Can be PaaS or Self-Hosted */ 'customRegistry'?: { 'enabled'?: boolean; 'configuration'?: { 'credentialId': string; 'provider'?: 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; }; }; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; /** time of creation Example: "2000-01-01T12:00:00.000Z" */ 'createdAt'?: string; /** time of update Example: "2000-01-01T12:00:00.000Z" */ 'updatedAt'?: string; }; type PutProjectCall = (opts: PutProjectRequest) => Promise>; type PutProjectRequest = { parameters?: PutProjectParameters; data: PutProjectData; }; type PutProjectParameters = { /** ID of the team */ 'teamId': string; }; type PutProjectData = { /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The region the project will be hosted in. Example: "europe-west" */ 'region'?: string; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; } | { /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The BYOC cluster this project will be hosted in. Example: "gcp-cluster-1" */ 'clusterId'?: string; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; }; /** Creates or updates a project. */ declare class PutProjectEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutProjectRequest) => string; body: (payload: PutProjectRequest) => string; } type PatchProjectResult = { /** Identifier for the project Example: "example-project" */ 'id': string; /** The name of the project. Example: "New Project" */ 'name': string; /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; /** The region the project will be hosted in. Example: "europe-west" */ 'region'?: string; /** The BYOC cluster this project will be hosted in. Example: "gcp-cluster-1" */ 'clusterId'?: string; /** Registry configuration for the project. Can be PaaS or Self-Hosted */ 'customRegistry'?: { 'enabled'?: boolean; 'configuration'?: { 'credentialId': string; 'provider'?: 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; }; }; /** Advanced project networking settings. */ 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; /** Defines this project's Tailscale sidecar settings */ 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; /** Relevant Tailscale secrets */ 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId': string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret': string; }; }; /** Defines the project host alias overrides to apply to /etc/hosts in resource containers */ 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled': boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; /** time of creation Example: "2000-01-01T12:00:00.000Z" */ 'createdAt'?: string; /** time of update Example: "2000-01-01T12:00:00.000Z" */ 'updatedAt'?: string; }; type PatchProjectCall = (opts: PatchProjectRequest) => Promise>; type PatchProjectRequest = { parameters: PatchProjectParameters; data: PatchProjectData; }; type PatchProjectParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PatchProjectData = { /** The description of the project. Example: "This is a new project." */ 'description'?: string; /** The color of the project in the Northflank App. Example: "#EF233C" */ 'color'?: string; 'networking'?: { /** Projects from which ingress request should be permitted. */ 'allowedIngressProjects'?: string[]; 'tailscale'?: { /** Whether or not to inject a Tailscale sidecar for this project's resources */ 'enabled'?: boolean; /** Tailscale tags to apply to generated auth keys, must match with the tags applied when creating the OAuth Client. */ 'authKeyTags'?: string[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled'?: boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; 'options'?: { /** Apply the Tailscale configuration to addons. */ 'applyToAddons'?: boolean; /** Apply the Tailscale configuration to addon jobs (backups, restores). */ 'applyToAddonJobs'?: boolean; /** Automatically restart applicable services when the auth key is regenerated */ 'autoRedeployOnRegeneration'?: boolean; }; 'tailscaleOptions'?: { /** Accept advertised routes from the Tailscale network */ 'acceptRoutes'?: boolean; }; 'secrets'?: { /** Tailscale OAuth client ID (required for generating auth keys for Tailscale) */ 'clientId'?: string; /** Tailscale OAuth client secret (required for generating auth keys for Tailscale) */ 'clientSecret'?: string; }; }; 'hostAliases'?: { /** Enable support for adding /etc/hosts overrides for a container */ 'enabled'?: boolean; /** Entries to add to /etc/hosts */ 'hostEntries'?: { 'ipAddress': string; 'hostnames': string[]; }[]; 'restrictions'?: { /** Whether or not to restrict the settings to resources with specific tags */ 'enabled'?: boolean; /** The tags which determine the resources the settings should be applied to */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }; }; }; /** Updates a project. */ declare class PatchProjectEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchProjectRequest) => string; body: (payload: PatchProjectRequest) => string; } type GetProjectResult = { /** Identifier for the project. Example: "default-project" */ 'id': string; /** The name of the project. Example: "Default Project" */ 'name': string; /** A short description of the project. Example: "The project description" */ 'description'?: string; 'deployment': { /** The region where the project's services, jobs and addons are deployed in. Example: "europe-west" */ 'region': string; }; /** The time the project was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** An array of services belonging to the project. */ 'services': { /** Identifier for the service. Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** The name of the service. Example: "Example Service" */ 'name': string; /** A short description of the service. Example: "This is the service description" */ 'description'?: string; /** Type of the service (combined, build or deployment) Example: "combined" */ 'serviceType': 'combined' | 'build' | 'deployment'; }[]; 'customRegistry'?: { /** Whether the project has a custom registry. */ 'enabled': boolean; /** The configuration of the custom registry. */ 'configuration'?: { 'credentialId'?: string; 'provider'?: 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; }; }; /** An array of jobs belonging to the project. */ 'jobs': { /** Identifier for the job. Example: "example-job" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-job" */ 'appId': string; /** The name of the job. Example: "Example Job" */ 'name': string; /** A short description of the job. Example: "This is the job description" */ 'description'?: string; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'manual' | 'cron'; }[]; /** An array of addons belonging to the project. */ 'addons': { /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A short description of the addon. Example: "This is the addon description" */ 'description'?: string; /** Details about the addon's specifications. */ 'spec': { /** The type of the addon Example: "mongodb" */ 'type': string; }; }[]; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; }; type GetProjectCall = (opts: GetProjectRequest) => Promise>; type GetProjectRequest = { parameters: GetProjectParameters; }; type GetProjectParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; /** Get information about the given project */ declare class GetProjectEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetProjectRequest) => string; body: () => undefined; } type DeleteProjectResult = any | any; type DeleteProjectCall = (opts: DeleteProjectRequest) => Promise>; type DeleteProjectRequest = { parameters: DeleteProjectParameters; options?: DeleteProjectOptions; }; type DeleteProjectParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type DeleteProjectOptions = { /** If true, resources belonging to this project will be deleted. Otherwise, an error will be returned if the project is not empty. */ 'delete_child_objects'?: boolean; }; /** Delete the given project. Fails if the project isn't empty. */ declare class DeleteProjectEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteProjectRequest) => string; body: () => undefined; } type CreateAddonResult = { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version. Example: "latest" */ 'version': string; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The type of storage. Only configurable if the relevant feature flag is enabled for you account Example: "nvme" */ 'storageClass'?: string; /** The size of the addon storage, in megabytes. Example: 6144 */ 'storage': number; /** The number of addon replicas to run. Example: 1 */ 'replicas': number; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'required' | 'disabled'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; }; /** Fork source backup for the addon */ 'source'?: { /** ID of the project of the source addon. Only required if not the same as target addon Example: "existing-project" */ 'projectId'?: string; /** ID of the addon to fork. Example: "existing-addon" */ 'addonId': string; /** ID of a backup belonging to that addon to use for the fork. Example: "existing-backup" */ 'backupId': string; } | { /** Uid of the backup Example: "6d542e24-5d9f-4ecf-80a5-e80724b9133e" */ 'backupUid': string; }; /** Enables access to the addon via TLS (if supported by the addon type). */ 'tlsEnabled'?: boolean; /** Enables external access to the addon via TLS (if supported by the addon type). */ 'externalAccessEnabled'?: boolean; /** An array of IP address policies. */ 'ipPolicies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; 'typeSpecificSettings'?: { /** Redis only: Key eviction policy at memory pressure. */ 'redisMaxMemoryPolicy'?: 'noeviction' | 'allkeys-lru' | 'allkeys-lfu' | 'volatile-lru' | 'volatile-lfu' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'volatile-lrm' | 'allkeys-lrm'; /** Redis only: Deploy Redis with Sentinel high availability. Default: false */ 'redisSentinelEnabled'?: boolean; /** PostgreSQL only: Configure wal_level setting. */ 'postgresqlWalLevel'?: 'replica' | 'logical'; /** PostgreSQL only: Enable Supabase mode. */ 'postgresqlSupabaseMode'?: boolean; /** PostgreSQL only: Run connection pooler in front of postgres instance. */ 'postgresqlConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of connection pooler replicas in case connection pooler is enabled. */ 'postgresqlConnectionPoolerReplicas'?: number; /** PostgreSQL only: Run connection pooler in front of read-only postgres instance. */ 'postgresqlReadConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled. */ 'postgresqlReadConnectionPoolerReplicas'?: number; /** PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads. */ 'postgresqlImportMode'?: boolean; /** MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers. */ 'mysqlHaModeEnabled'?: boolean; /** MysqlHA only: Number of connection router replicas in case connection router is enabled. */ 'mysqlRouterReplicas'?: number; }; 'customCredentials'?: { /** Custom database name. Not supported for all addon types. */ 'dbName'?: string; }; 'backupSchedules'?: { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }[]; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; } | { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues'?: any; /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type CreateAddonCall = (opts: CreateAddonRequest) => Promise>; type CreateAddonRequest = { parameters: CreateAddonParameters; data: CreateAddonData; }; type CreateAddonParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateAddonData = { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; /** ID of parent project Example: "example-project" */ 'projectId'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version. Example: "latest" */ 'version': string; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The type of storage. Only configurable if the relevant feature flag is enabled for you account Example: "nvme" */ 'storageClass'?: string; /** The size of the addon storage, in megabytes. Example: 6144 */ 'storage': number; /** The number of addon replicas to run. Example: 1 */ 'replicas': number; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'required' | 'disabled'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; }; /** Fork source backup for the addon */ 'source'?: { /** ID of the project of the source addon. Only required if not the same as target addon Example: "existing-project" */ 'projectId'?: string; /** ID of the addon to fork. Example: "existing-addon" */ 'addonId': string; /** ID of a backup belonging to that addon to use for the fork. Example: "existing-backup" */ 'backupId': string; } | { /** Uid of the backup Example: "6d542e24-5d9f-4ecf-80a5-e80724b9133e" */ 'backupUid': string; }; /** Enables access to the addon via TLS (if supported by the addon type). */ 'tlsEnabled'?: boolean; /** Enables external access to the addon via TLS (if supported by the addon type). */ 'externalAccessEnabled'?: boolean; /** An array of IP address policies. */ 'ipPolicies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; 'typeSpecificSettings'?: { /** Redis only: Key eviction policy at memory pressure. */ 'redisMaxMemoryPolicy'?: 'noeviction' | 'allkeys-lru' | 'allkeys-lfu' | 'volatile-lru' | 'volatile-lfu' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'volatile-lrm' | 'allkeys-lrm'; /** Redis only: Deploy Redis with Sentinel high availability. Default: false */ 'redisSentinelEnabled'?: boolean; /** PostgreSQL only: Configure wal_level setting. */ 'postgresqlWalLevel'?: 'replica' | 'logical'; /** PostgreSQL only: Enable Supabase mode. */ 'postgresqlSupabaseMode'?: boolean; /** PostgreSQL only: Run connection pooler in front of postgres instance. */ 'postgresqlConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of connection pooler replicas in case connection pooler is enabled. */ 'postgresqlConnectionPoolerReplicas'?: number; /** PostgreSQL only: Run connection pooler in front of read-only postgres instance. */ 'postgresqlReadConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled. */ 'postgresqlReadConnectionPoolerReplicas'?: number; /** PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads. */ 'postgresqlImportMode'?: boolean; /** MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers. */ 'mysqlHaModeEnabled'?: boolean; /** MysqlHA only: Number of connection router replicas in case connection router is enabled. */ 'mysqlRouterReplicas'?: number; }; 'customCredentials'?: { /** Custom database name. Not supported for all addon types. */ 'dbName'?: string; }; 'backupSchedules'?: { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }[]; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; } | { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; /** ID of parent project Example: "example-project" */ 'projectId'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues'?: any; }; /** Creates a new addon */ declare class CreateAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateAddonRequest) => string; body: (payload: CreateAddonRequest) => string; } type PutAddonResult = { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version. Example: "latest" */ 'version': string; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The type of storage. Only configurable if the relevant feature flag is enabled for you account Example: "nvme" */ 'storageClass'?: string; /** The size of the addon storage, in megabytes. Example: 6144 */ 'storage': number; /** The number of addon replicas to run. Example: 1 */ 'replicas': number; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'required' | 'disabled'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; }; /** Fork source backup for the addon */ 'source'?: { /** ID of the project of the source addon. Only required if not the same as target addon Example: "existing-project" */ 'projectId'?: string; /** ID of the addon to fork. Example: "existing-addon" */ 'addonId': string; /** ID of a backup belonging to that addon to use for the fork. Example: "existing-backup" */ 'backupId': string; } | { /** Uid of the backup Example: "6d542e24-5d9f-4ecf-80a5-e80724b9133e" */ 'backupUid': string; }; /** Enables access to the addon via TLS (if supported by the addon type). */ 'tlsEnabled'?: boolean; /** Enables external access to the addon via TLS (if supported by the addon type). */ 'externalAccessEnabled'?: boolean; /** An array of IP address policies. */ 'ipPolicies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; 'typeSpecificSettings'?: { /** Redis only: Key eviction policy at memory pressure. */ 'redisMaxMemoryPolicy'?: 'noeviction' | 'allkeys-lru' | 'allkeys-lfu' | 'volatile-lru' | 'volatile-lfu' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'volatile-lrm' | 'allkeys-lrm'; /** Redis only: Deploy Redis with Sentinel high availability. Default: false */ 'redisSentinelEnabled'?: boolean; /** PostgreSQL only: Configure wal_level setting. */ 'postgresqlWalLevel'?: 'replica' | 'logical'; /** PostgreSQL only: Enable Supabase mode. */ 'postgresqlSupabaseMode'?: boolean; /** PostgreSQL only: Run connection pooler in front of postgres instance. */ 'postgresqlConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of connection pooler replicas in case connection pooler is enabled. */ 'postgresqlConnectionPoolerReplicas'?: number; /** PostgreSQL only: Run connection pooler in front of read-only postgres instance. */ 'postgresqlReadConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled. */ 'postgresqlReadConnectionPoolerReplicas'?: number; /** PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads. */ 'postgresqlImportMode'?: boolean; /** MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers. */ 'mysqlHaModeEnabled'?: boolean; /** MysqlHA only: Number of connection router replicas in case connection router is enabled. */ 'mysqlRouterReplicas'?: number; }; 'customCredentials'?: { /** Custom database name. Not supported for all addon types. */ 'dbName'?: string; }; 'backupSchedules'?: { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }[]; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; } | { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues'?: any; /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PutAddonCall = (opts: PutAddonRequest) => Promise>; type PutAddonRequest = { parameters: PutAddonParameters; data: PutAddonData; }; type PutAddonParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutAddonData = { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; /** ID of parent project Example: "example-project" */ 'projectId'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version. Example: "latest" */ 'version': string; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The type of storage. Only configurable if the relevant feature flag is enabled for you account Example: "nvme" */ 'storageClass'?: string; /** The size of the addon storage, in megabytes. Example: 6144 */ 'storage': number; /** The number of addon replicas to run. Example: 1 */ 'replicas': number; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'required' | 'disabled'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; }; /** Fork source backup for the addon */ 'source'?: { /** ID of the project of the source addon. Only required if not the same as target addon Example: "existing-project" */ 'projectId'?: string; /** ID of the addon to fork. Example: "existing-addon" */ 'addonId': string; /** ID of a backup belonging to that addon to use for the fork. Example: "existing-backup" */ 'backupId': string; } | { /** Uid of the backup Example: "6d542e24-5d9f-4ecf-80a5-e80724b9133e" */ 'backupUid': string; }; /** Enables access to the addon via TLS (if supported by the addon type). */ 'tlsEnabled'?: boolean; /** Enables external access to the addon via TLS (if supported by the addon type). */ 'externalAccessEnabled'?: boolean; /** An array of IP address policies. */ 'ipPolicies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; 'typeSpecificSettings'?: { /** Redis only: Key eviction policy at memory pressure. */ 'redisMaxMemoryPolicy'?: 'noeviction' | 'allkeys-lru' | 'allkeys-lfu' | 'volatile-lru' | 'volatile-lfu' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'volatile-lrm' | 'allkeys-lrm'; /** Redis only: Deploy Redis with Sentinel high availability. Default: false */ 'redisSentinelEnabled'?: boolean; /** PostgreSQL only: Configure wal_level setting. */ 'postgresqlWalLevel'?: 'replica' | 'logical'; /** PostgreSQL only: Enable Supabase mode. */ 'postgresqlSupabaseMode'?: boolean; /** PostgreSQL only: Run connection pooler in front of postgres instance. */ 'postgresqlConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled. */ 'postgresqlConnectionPoolerReplicas'?: number; /** PostgreSQL only: Run connection pooler in front of read-only postgres instance. */ 'postgresqlReadConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled. */ 'postgresqlReadConnectionPoolerReplicas'?: number; /** PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads. */ 'postgresqlImportMode'?: boolean; /** MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers. */ 'mysqlHaModeEnabled'?: boolean; /** MysqlHA only: Number of connection router replicas in case connection router is enabled. */ 'mysqlRouterReplicas'?: number; }; 'customCredentials'?: { /** Custom database name. Not supported for all addon types. */ 'dbName'?: string; }; 'backupSchedules'?: { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }[]; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; } | { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; /** ID of parent project Example: "example-project" */ 'projectId'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues'?: any; }; /** Creates or updates an addon */ declare class PutAddonEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutAddonRequest) => string; body: (payload: PutAddonRequest) => string; } type GetAddonResult = { /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Addon name. Example: "Example Addon" */ 'name': string; /** Full identifier for the addon. Example: "/example-user/default-project/example-addon" */ 'appId': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the addon. Example: "This is the addon description" */ 'description'?: string; /** The time the addon was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Details about the addon's specifications. */ 'spec': { /** The type of the addon Example: "mongodb" */ 'type': string; /** Details about the addon configuration. */ 'config': { /** The version of the addon running. Example: "4.2.14" */ 'versionTag': string; /** The support status of the current addon version. Example: "active" */ 'lifecycleStatus': 'active' | 'deprecated' | 'discontinued'; /** Details about the addon deployment. */ 'deployment': { /** The number of replicas running for this addon. Example: 1 */ 'replicas': number; /** The type of storage used by the addon. Example: "nvme" */ 'storageClass': string; /** The size of the addon storage, in MB. Example: 6144 */ 'storageSize': number; /** The deployment plan used by the addon. Example: "nf-compute-20" */ 'planId': string; /** The region where the addon is deployed. Example: "europe-west" */ 'region': string; }; /** Details about the addon networking settings. */ 'networking': { /** Whether this addon is provisioned with a TLS certificate. Example: true */ 'tlsEnabled': boolean; /** Whether this addon is publicly accessible via the internet. Example: true */ 'externalAccessEnabled': boolean; /** An array of IP policy rules. */ 'ipPolicies'?: { /** An IP address used by this rule. Example: "127.0.0.1" */ 'address': string; /** The action for this rule. Example: "ALLOW" */ 'action': 'DENY' | 'ALLOW'; }[]; }; } | { /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues': string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; }; type GetAddonCall = (opts: GetAddonRequest) => Promise>; type GetAddonRequest = { parameters: GetAddonParameters; }; type GetAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Gets information about the given addon */ declare class GetAddonEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonRequest) => string; body: () => undefined; } type PatchAddonResult = { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version. Example: "latest" */ 'version': string; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The type of storage. Only configurable if the relevant feature flag is enabled for you account Example: "nvme" */ 'storageClass'?: string; /** The size of the addon storage, in megabytes. Example: 6144 */ 'storage': number; /** The number of addon replicas to run. Example: 1 */ 'replicas': number; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'required' | 'disabled'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; }; /** Fork source backup for the addon */ 'source'?: { /** ID of the project of the source addon. Only required if not the same as target addon Example: "existing-project" */ 'projectId'?: string; /** ID of the addon to fork. Example: "existing-addon" */ 'addonId': string; /** ID of a backup belonging to that addon to use for the fork. Example: "existing-backup" */ 'backupId': string; } | { /** Uid of the backup Example: "6d542e24-5d9f-4ecf-80a5-e80724b9133e" */ 'backupUid': string; }; /** Enables access to the addon via TLS (if supported by the addon type). */ 'tlsEnabled'?: boolean; /** Enables external access to the addon via TLS (if supported by the addon type). */ 'externalAccessEnabled'?: boolean; /** An array of IP address policies. */ 'ipPolicies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; 'typeSpecificSettings'?: { /** Redis only: Key eviction policy at memory pressure. */ 'redisMaxMemoryPolicy'?: 'noeviction' | 'allkeys-lru' | 'allkeys-lfu' | 'volatile-lru' | 'volatile-lfu' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'volatile-lrm' | 'allkeys-lrm'; /** Redis only: Deploy Redis with Sentinel high availability. Default: false */ 'redisSentinelEnabled'?: boolean; /** PostgreSQL only: Configure wal_level setting. */ 'postgresqlWalLevel'?: 'replica' | 'logical'; /** PostgreSQL only: Enable Supabase mode. */ 'postgresqlSupabaseMode'?: boolean; /** PostgreSQL only: Run connection pooler in front of postgres instance. */ 'postgresqlConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of connection pooler replicas in case connection pooler is enabled. */ 'postgresqlConnectionPoolerReplicas'?: number; /** PostgreSQL only: Run connection pooler in front of read-only postgres instance. */ 'postgresqlReadConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled. */ 'postgresqlReadConnectionPoolerReplicas'?: number; /** PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads. */ 'postgresqlImportMode'?: boolean; /** MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers. */ 'mysqlHaModeEnabled'?: boolean; /** MysqlHA only: Number of connection router replicas in case connection router is enabled. */ 'mysqlRouterReplicas'?: number; }; 'customCredentials'?: { /** Custom database name. Not supported for all addon types. */ 'dbName'?: string; }; 'backupSchedules'?: { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }[]; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; } | { /** The name of the addon. Example: "Example Addon" */ 'name': string; /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint. Example: "postgresql" */ 'type': string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues'?: any; /** Identifier for the addon. Example: "example-addon" */ 'id': string; /** Full identifier used for deployment Example: "/example-user/default-project/example-addon" */ 'appId': string; /** The current state of the addon. Example: "running" */ 'status': 'preDeployment' | 'triggerAllocation' | 'allocating' | 'postDeployment' | 'running' | 'paused' | 'scaling' | 'upgrading' | 'resetting' | 'backup' | 'restore' | 'failed' | 'error' | 'errorAllocating' | 'deleting' | 'deleted'; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PatchAddonCall = (opts: PatchAddonRequest) => Promise>; type PatchAddonRequest = { parameters: PatchAddonParameters; data: PatchAddonData; }; type PatchAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type PatchAddonData = { /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version. Example: "latest" */ 'version'?: string; 'billing'?: { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The type of storage. Only configurable if the relevant feature flag is enabled for you account Example: "nvme" */ 'storageClass'?: string; /** The size of the addon storage, in megabytes. Example: 6144 */ 'storage'?: number; /** The number of addon replicas to run. Example: 1 */ 'replicas'?: number; }; /** Enables access to the addon via TLS (if supported by the addon type). */ 'tlsEnabled'?: boolean; /** Enables external access to the addon via TLS (if supported by the addon type). */ 'externalAccessEnabled'?: boolean; /** An array of IP address policies. */ 'ipPolicies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; 'typeSpecificSettings'?: { /** Redis only: Key eviction policy at memory pressure. */ 'redisMaxMemoryPolicy'?: 'noeviction' | 'allkeys-lru' | 'allkeys-lfu' | 'volatile-lru' | 'volatile-lfu' | 'allkeys-random' | 'volatile-random' | 'volatile-ttl' | 'volatile-lrm' | 'allkeys-lrm'; /** Redis only: Deploy Redis with Sentinel high availability. Default: false */ 'redisSentinelEnabled'?: boolean; /** PostgreSQL only: Configure wal_level setting. */ 'postgresqlWalLevel'?: 'replica' | 'logical'; /** PostgreSQL only: Enable Supabase mode. */ 'postgresqlSupabaseMode'?: boolean; /** PostgreSQL only: Run connection pooler in front of postgres instance. */ 'postgresqlConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled. */ 'postgresqlConnectionPoolerReplicas'?: number; /** PostgreSQL only: Run connection pooler in front of read-only postgres instance. */ 'postgresqlReadConnectionPoolerEnabled'?: boolean; /** PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled. */ 'postgresqlReadConnectionPoolerReplicas'?: number; /** PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads. */ 'postgresqlImportMode'?: boolean; /** MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers. */ 'mysqlHaModeEnabled'?: boolean; /** MysqlHA only: Number of connection router replicas in case connection router is enabled. */ 'mysqlRouterReplicas'?: number; }; 'backupSchedules'?: { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }[]; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; } | { /** A description of the addon. Example: "An addon description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The template values to be passed to the templating engine. Example: "{\"replicas\": 2}" */ 'templateValues'?: any; }; /** Updates an addon */ declare class PatchAddonEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchAddonRequest) => string; body: (payload: PatchAddonRequest) => string; } type DeleteAddonResult = any; type DeleteAddonCall = (opts: DeleteAddonRequest) => Promise>; type DeleteAddonRequest = { parameters: DeleteAddonParameters; }; type DeleteAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Deletes the given addon. */ declare class DeleteAddonEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteAddonRequest) => string; body: () => undefined; } type GetAddonBackupschedulesResult = { 'schedules'?: { /** ID of the schedule. Example: "62cc20b90956ab62a58e8474" */ 'id': string; /** The type of backup being performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'backupCompressionType'?: 'gz' | 'zstd'; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** Custom backup destination in which the dump back up should be stored. Example: "example-backup-destination" */ 'customDestinationId'?: string; /** Information about the scheduling for the backup schedule. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; /** The timestamp the backup schedule was created. Example: "2022-07-11T13:08:09.626Z" */ 'createdAt': string; /** The timestamp the backup schedule was last updated. Example: "2022-07-11T13:08:09.626Z" */ 'updatedAt': string; }[]; }; type GetAddonBackupschedulesCall = ((opts: GetAddonBackupschedulesRequest) => Promise>) & { all: (opts: GetAddonBackupschedulesRequest) => Promise>; }; type GetAddonBackupschedulesRequest = { parameters: GetAddonBackupschedulesParameters; options?: GetAddonBackupschedulesOptions; }; type GetAddonBackupschedulesParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type GetAddonBackupschedulesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets details about an addon's backup schedules */ declare class GetAddonBackupschedulesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonBackupschedulesRequest) => string; body: () => undefined; } type CreateAddonBackupscheduleResult = { /** ID of the schedule. Example: "62cc20b90956ab62a58e8474" */ 'id': string; }; type CreateAddonBackupscheduleCall = (opts: CreateAddonBackupscheduleRequest) => Promise>; type CreateAddonBackupscheduleRequest = { parameters: CreateAddonBackupscheduleParameters; data: CreateAddonBackupscheduleData; }; type CreateAddonBackupscheduleParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type CreateAddonBackupscheduleData = { /** Schedule for the backup. */ 'scheduling': { /** The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. Example: "weekly" */ 'interval': 'hourly' | 'daily' | 'weekly'; /** An array of minutes when the backup should be performed. */ 'minute': number[]; /** An array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. */ 'hour'?: number[]; /** An array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. */ 'day'?: number[]; }; /** The type of the backup to be performed. Example: "snapshot" */ 'backupType': 'dump' | 'snapshot'; 'customDestinationId'?: string; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** The time the backup is retained for, in days. Example: 7 */ 'retentionTime': number; }; /** Create a new backup schedule for an addon. */ declare class CreateAddonBackupscheduleEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateAddonBackupscheduleRequest) => string; body: (payload: CreateAddonBackupscheduleRequest) => string; } type DeleteAddonBackupscheduleResult = any; type DeleteAddonBackupscheduleCall = (opts: DeleteAddonBackupscheduleRequest) => Promise>; type DeleteAddonBackupscheduleRequest = { parameters: DeleteAddonBackupscheduleParameters; }; type DeleteAddonBackupscheduleParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup schedule */ 'scheduleId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup schedule */ 'scheduleId': string; }; /** Deletes a backup schedule for an addon. */ declare class DeleteAddonBackupscheduleEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteAddonBackupscheduleRequest) => string; body: () => undefined; } type GetAddonBackupsResult = { /** A list of backups for the given addon. */ 'backups': { /** The identifier for the backup. Example: "example-backup" */ 'id': string; /** The name of the backup. Example: "Example Backup" */ 'name': string; /** The current status of the backup. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the backup was initiated. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the backup was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt': string; /** Data about the backup configuration. */ 'config': { /** Data about the source of the backup. */ 'source'?: { /** The type of backup. Example: "snapshot" */ 'type'?: 'fileUpload' | 'liveInstance' | 'snapshot' | 'externalDump' | 'sameAddon'; }; /** The size of the backup, in bytes Example: "1234" */ 'size': string; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** List of destinations for which a backup should be created of this backup. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; /** The version of the addon at the time of the backup. If the backup type is `snapshot`, the addon will be restored to this version when the backup is restored. Example: "4.4.8" */ 'addonVersion'?: string; }; /** Custom backup destination in which the dump back up should be stored. Example: "example-backup-destination" */ 'customDestinationId'?: string; }[]; }; type GetAddonBackupsCall = ((opts: GetAddonBackupsRequest) => Promise>) & { all: (opts: GetAddonBackupsRequest) => Promise>; }; type GetAddonBackupsRequest = { parameters: GetAddonBackupsParameters; options?: GetAddonBackupsOptions; }; type GetAddonBackupsParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type GetAddonBackupsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Returns a list of backups for the given addon. */ declare class GetAddonBackupsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonBackupsRequest) => string; body: () => undefined; } type BackupAddonResult = { /** The identifier for the backup. Example: "example-backup" */ 'id': string; /** The name of the backup. Example: "Example Backup" */ 'name': string; /** The current status of the backup. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the backup was initiated. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the backup was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt'?: string; /** Data about the backup configuration. */ 'config': { /** Data about the source of the backup. */ 'source'?: { /** The type of backup. Example: "snapshot" */ 'type'?: 'fileUpload' | 'liveInstance' | 'snapshot' | 'externalDump' | 'sameAddon'; }; /** The size of the backup, in bytes Example: "1234" */ 'size': string; /** The version of the addon at the time of the backup. If the backup type is `snapshot`, the addon will be restored to this version when the backup is restored. Example: "4.4.8" */ 'addonVersion'?: string; }; /** Details about the most recent restore of this backup. */ 'lastRestore'?: { /** The time the backup was initiated. Example: "2021-01-20T11:19:54.494Z" */ 'restoreTimestamp': string; /** The current status of the restore. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the restore was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt'?: string; }; }; type BackupAddonCall = (opts: BackupAddonRequest) => Promise>; type BackupAddonRequest = { parameters: BackupAddonParameters; data: BackupAddonData; }; type BackupAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type BackupAddonData = { /** The name of the backup. If not provided, a default name will be generated containing the current date. Example: "Example Backup" */ 'name'?: string; /** The type of backup to perform. Defaults to `snapshot`. Example: "snapshot" */ 'backupType'?: 'dump' | 'snapshot'; /** The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** Custom destination to store the backup in. Only applicable for dump backups. If not specified, backup is stored in Northflank-managed destination. */ 'customDestinationId'?: string; /** List of destinations for which a backup should additionally be created. Only applicable for snapshot backups. */ 'additionalDestinations'?: { /** Additional custom back up destination that should be used to store the snapshot. Example: "example-backup-destination" */ 'destinationId': string; /** Retention time of the additional back up in days. */ 'retentionTime'?: number; /** The type of backup destination to use Example: "custom" */ 'type': 'custom'; }[]; }; /** Initiates a backup for the given addon */ declare class BackupAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: BackupAddonRequest) => string; body: (payload: BackupAddonRequest) => string; } type GetAddonBackupResult = { /** The identifier for the backup. Example: "example-backup" */ 'id': string; /** The name of the backup. Example: "Example Backup" */ 'name': string; /** The current status of the backup. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the backup was initiated. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the backup was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt'?: string; /** Data about the backup configuration. */ 'config': { /** Data about the source of the backup. */ 'source'?: { /** The type of backup. Example: "snapshot" */ 'type'?: 'fileUpload' | 'liveInstance' | 'snapshot' | 'externalDump' | 'sameAddon'; }; /** The size of the backup, in bytes Example: "1234" */ 'size': string; /** The version of the addon at the time of the backup. If the backup type is `snapshot`, the addon will be restored to this version when the backup is restored. Example: "4.4.8" */ 'addonVersion'?: string; }; /** Details about the most recent restore of this backup. */ 'lastRestore'?: { /** The time the backup was initiated. Example: "2021-01-20T11:19:54.494Z" */ 'restoreTimestamp': string; /** The current status of the restore. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the restore was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt'?: string; }; }; type GetAddonBackupCall = (opts: GetAddonBackupRequest) => Promise>; type GetAddonBackupRequest = { parameters: GetAddonBackupParameters; }; type GetAddonBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; /** Gets details about a given backup. */ declare class GetAddonBackupEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonBackupRequest) => string; body: () => undefined; } type DeleteBackupResult = any; type DeleteBackupCall = (opts: DeleteBackupRequest) => Promise>; type DeleteBackupRequest = { parameters: DeleteBackupParameters; }; type DeleteBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; /** Deletes a given backup */ declare class DeleteBackupEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteBackupRequest) => string; body: () => undefined; } type AbortAddonBackupResult = any; type AbortAddonBackupCall = (opts: AbortAddonBackupRequest) => Promise>; type AbortAddonBackupRequest = { parameters: AbortAddonBackupParameters; }; type AbortAddonBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; /** Aborts the in progress backup. */ declare class AbortAddonBackupEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortAddonBackupRequest) => string; body: () => undefined; } type AbortAddonRestoreResult = any; type AbortAddonRestoreCall = (opts: AbortAddonRestoreRequest) => Promise>; type AbortAddonRestoreRequest = { parameters: AbortAddonRestoreParameters; options?: AbortAddonRestoreOptions; data: AbortAddonRestoreData; }; type AbortAddonRestoreParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; type AbortAddonRestoreOptions = { /** Specify the source projectId when referring to a global backup. */ 'sourceProjectId'?: string; /** Specify the source addonId when referring to a global backup. */ 'sourceAddonId'?: string; }; type AbortAddonRestoreData = { /** ID of the restore to abort. Example: "66845073ce75649ad18635f0" */ 'restoreId': string; }; /** Aborts an in-progress backup restore. */ declare class AbortAddonRestoreEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortAddonRestoreRequest) => string; body: (payload: AbortAddonRestoreRequest) => string; } type GetAddonBackupDownloadResult = { /** The url to download the backup from. Example: "https://storage.googleapis.com/..." */ 'downloadLink': string; }; type GetAddonBackupDownloadCall = (opts: GetAddonBackupDownloadRequest) => Promise>; type GetAddonBackupDownloadRequest = { parameters: GetAddonBackupDownloadParameters; }; type GetAddonBackupDownloadParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; /** Generates a temporary download link for downloading the given backup. */ declare class GetAddonBackupDownloadEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonBackupDownloadRequest) => string; body: () => undefined; } type RestoreAddonBackupResult = { /** The ID of the initiated restore. Example: "1611305397038" */ 'restoreId': string; }; type RestoreAddonBackupCall = (opts: RestoreAddonBackupRequest) => Promise>; type RestoreAddonBackupRequest = { parameters: RestoreAddonBackupParameters; options?: RestoreAddonBackupOptions; }; type RestoreAddonBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; type RestoreAddonBackupOptions = { /** Specify the source projectId when referring to a global backup. */ 'sourceProjectId'?: string; /** Specify the source addonId when referring to a global backup. */ 'sourceAddonId'?: string; }; /** Restores the given addon to the given backup state. */ declare class RestoreAddonBackupEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RestoreAddonBackupRequest) => string; body: () => undefined; } type GetAddonBackupRestoresResult = { /** A list of restores for the given backup. */ 'restores'?: { /** The identifier for the backup. Example: "668596c647fed81696a8a82c" */ 'id': string; /** The current status of the backup. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the backup was initiated. Example: "2021-01-20T11:19:54.494Z" */ 'restoreTimestamp': string; /** The time the restore was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt'?: string; }[]; }; type GetAddonBackupRestoresCall = ((opts: GetAddonBackupRestoresRequest) => Promise>) & { all: (opts: GetAddonBackupRestoresRequest) => Promise>; }; type GetAddonBackupRestoresRequest = { parameters: GetAddonBackupRestoresParameters; options?: GetAddonBackupRestoresOptions; }; type GetAddonBackupRestoresParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; type GetAddonBackupRestoresOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Specify the source projectId when referring to a global backup. */ 'sourceProjectId'?: string; /** Specify the source addonId when referring to a global backup. */ 'sourceAddonId'?: string; }; /** Gets a list of restores for the given backup. */ declare class GetAddonBackupRestoresEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonBackupRestoresRequest) => string; body: () => undefined; } type RetainAddonBackupResult = any; type RetainAddonBackupCall = (opts: RetainAddonBackupRequest) => Promise>; type RetainAddonBackupRequest = { parameters: RetainAddonBackupParameters; }; type RetainAddonBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; /** ID of the backup */ 'backupId': string; }; /** Flags a temporary backup generated by a backup schedule to be retained indefinitely rather than being deleted after the expiry date. */ declare class RetainAddonBackupEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RetainAddonBackupRequest) => string; body: () => undefined; } type GetAddonContainersResult = { 'containers'?: { /** The name of the container. Example: "example-service-78b4d4459d-sbtn8" */ 'name': string; /** The timestamp the container was created. Example: 1611241087 */ 'createdAt': number; /** The current status of the container. Example: "TASK_RUNNING" */ 'status': 'TASK_RUNNING' | 'TASK_STARTING' | 'TASK_STAGING' | 'TASK_KILLING' | 'TASK_KILLED' | 'TASK_FAILED' | 'TASK_FINISHED'; /** BYOC only: the name of the node the container was scheduled to */ 'nodeName'?: string; /** BYOC only: the user facing ID of the node pool that the container was scheduled to */ 'nodePoolUserId'?: string; /** BYOC only: the provider facing ID of the node pool that the container was scheduled to */ 'nodePoolProviderId'?: string; /** BYOC only: the host address of the node the container was scheduled to */ 'host'?: string; /** BYOC only: the IP addresses mapping to the container */ 'ipAddresses'?: string[]; /** The timestamp the container was last updated. Example: 1611241087 */ 'updatedAt': number; }[]; }; type GetAddonContainersCall = ((opts: GetAddonContainersRequest) => Promise>) & { all: (opts: GetAddonContainersRequest) => Promise>; }; type GetAddonContainersRequest = { parameters: GetAddonContainersParameters; options?: GetAddonContainersOptions; }; type GetAddonContainersParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type GetAddonContainersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of containers for the given addon. */ declare class GetAddonContainersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonContainersRequest) => string; body: () => undefined; } type GetAddonCredentialsResult = { /** An object containing secrets for connecting to the addon. Secrets are dependent on the addon type. Example: {"username":"1720747439245d49","password":"f1ba286ee2465e80b0fd4af31276f3e33a"} */ 'secrets': any; /** An object containing data such as connection strings. Dependent on the addon type. Example: {} */ 'envs': any; }; type GetAddonCredentialsCall = (opts: GetAddonCredentialsRequest) => Promise>; type GetAddonCredentialsRequest = { parameters: GetAddonCredentialsParameters; }; type GetAddonCredentialsParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Returns the credentials for connecting to the given addon. */ declare class GetAddonCredentialsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonCredentialsRequest) => string; body: () => undefined; } type ImportAddonBackupResult = any; type ImportAddonBackupCall = (opts: ImportAddonBackupRequest) => Promise>; type ImportAddonBackupRequest = { parameters: ImportAddonBackupParameters; data: ImportAddonBackupData; }; type ImportAddonBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type ImportAddonBackupData = { /** The name of the backup. If not provided, a default name will be generated containing the current date. Example: "Example Backup" */ 'name'?: string; /** A database connection string. Example: "mongodb://mongodb0.example.com:27017" */ 'connectionString': string; /** Detect and import all databases. If false, attempts to import only the database specified in the connection string */ 'importAllDatabases'?: boolean; /** The compression algorithm for storing the imported file. Defaults to `gz`. Example: "gz" */ 'compressionType'?: 'gz' | 'zstd'; /** Custom destination to store the imported backup in. If not specified, backup is stored in Northflank-managed destination. */ 'customDestinationId'?: string; } | { /** The name of the backup. If not provided, a default name will be generated containing the current date. Example: "Example Backup" */ 'name'?: string; /** A url pointing to an existing backup stored as a GNU zip (.gz) file. Example: "https://example.com/backup.db.gz" */ 'importUrl': string; /** Custom destination to store the imported backup in. If not specified, backup is stored in Northflank-managed destination. */ 'customDestinationId'?: string; }; /** Imports a database from an external archive or existing live database. */ declare class ImportAddonBackupEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ImportAddonBackupRequest) => string; body: (payload: ImportAddonBackupRequest) => string; } type UpdateAddonNetworksettingsResult = any; type UpdateAddonNetworksettingsCall = (opts: UpdateAddonNetworksettingsRequest) => Promise>; type UpdateAddonNetworksettingsRequest = { parameters: UpdateAddonNetworksettingsParameters; data: UpdateAddonNetworksettingsData; }; type UpdateAddonNetworksettingsParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type UpdateAddonNetworksettingsData = { /** If `true`, a TLS certificate will be provisioned for the addon. Example: true */ 'tlsEnabled'?: boolean; /** If `true`, the addon will be given a public URL and will be accessible from the internet. `tlsEnabled` must be `true` to set this as `true`. Example: true */ 'externalAccessEnabled'?: boolean; }; /** Updates the network settings for the addon. */ declare class UpdateAddonNetworksettingsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateAddonNetworksettingsRequest) => string; body: (payload: UpdateAddonNetworksettingsRequest) => string; } type PauseAddonResult = any; type PauseAddonCall = (opts: PauseAddonRequest) => Promise>; type PauseAddonRequest = { parameters: PauseAddonParameters; }; type PauseAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Pause the given addon. */ declare class PauseAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PauseAddonRequest) => string; body: () => undefined; } type ResetAddonResult = any; type ResetAddonCall = (opts: ResetAddonRequest) => Promise>; type ResetAddonRequest = { parameters: ResetAddonParameters; }; type ResetAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Reset the given addon. */ declare class ResetAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResetAddonRequest) => string; body: () => undefined; } type RestartAddonResult = any; type RestartAddonCall = (opts: RestartAddonRequest) => Promise>; type RestartAddonRequest = { parameters: RestartAddonParameters; }; type RestartAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Restart the given addon. */ declare class RestartAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RestartAddonRequest) => string; body: () => undefined; } type GetAddonRestoresResult = { /** A list of restores for the given addon. */ 'restores': { /** The identifier for the backup. Example: "668596c647fed81696a8a82c" */ 'id': string; /** The current status of the backup. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; /** The time the backup was initiated. Example: "2021-01-20T11:19:54.494Z" */ 'restoreTimestamp': string; /** The time the restore was completed. Example: "2021-01-20T11:19:54.494Z" */ 'completedAt'?: string; /** The identifier for the backup. Example: "example-backup" */ 'backupId': string; }[]; }; type GetAddonRestoresCall = ((opts: GetAddonRestoresRequest) => Promise>) & { all: (opts: GetAddonRestoresRequest) => Promise>; }; type GetAddonRestoresRequest = { parameters: GetAddonRestoresParameters; options?: GetAddonRestoresOptions; }; type GetAddonRestoresParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type GetAddonRestoresOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Returns a list of restores for the given addon. */ declare class GetAddonRestoresEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonRestoresRequest) => string; body: () => undefined; } type ResumeAddonResult = any; type ResumeAddonCall = (opts: ResumeAddonRequest) => Promise>; type ResumeAddonRequest = { parameters: ResumeAddonParameters; }; type ResumeAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Resume the given addon if it is paused. */ declare class ResumeAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResumeAddonRequest) => string; body: () => undefined; } type ScaleAddonResult = any; type ScaleAddonCall = (opts: ScaleAddonRequest) => Promise>; type ScaleAddonRequest = { parameters: ScaleAddonParameters; data: ScaleAddonData; }; type ScaleAddonParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type ScaleAddonData = { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The size of the addon storage, in megabytes. Example: 1024 */ 'storage'?: number; /** The number of addon replicas to run. Example: 1 */ 'replicas'?: number; }; /** Modifies the allocated resources for the given addon. */ declare class ScaleAddonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ScaleAddonRequest) => string; body: (payload: ScaleAddonRequest) => string; } type UpdateAddonSecurityResult = any; type UpdateAddonSecurityCall = (opts: UpdateAddonSecurityRequest) => Promise>; type UpdateAddonSecurityRequest = { parameters: UpdateAddonSecurityParameters; data: UpdateAddonSecurityData; }; type UpdateAddonSecurityParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type UpdateAddonSecurityData = { /** An array of IP policy rules. */ 'ipPolicies': { /** An IP address used by this rule. Example: "127.0.0.1" */ 'address': string; /** The action for this rule. Example: "ALLOW" */ 'action'?: 'ALLOW' | 'DENY'; }[]; }; /** Updates the security rules for the addon. */ declare class UpdateAddonSecurityEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateAddonSecurityRequest) => string; body: (payload: UpdateAddonSecurityRequest) => string; } type GetAddonVersionResult = { /** The version of the addon running. Example: "4.2.14" */ 'version': string; /** Available versions that the addon can be upgraded to. */ 'upgradeTo': { /** The version of the addon to upgrade to. Example: "4.2.15" */ 'version': string; /** Whether the version is a major or minor version. Example: "minor" */ 'type': 'major' | 'minor' | 'patch'; }[]; /** The support status of the current addon version. Example: "deprecated" */ 'lifecycleStatus': 'active' | 'deprecated' | 'discontinued'; /** The date that the current addon version will be discontinued. Example: "01.08.2021" */ 'discontinuedBy'?: string; /** Data about the upgrade history of this addon. */ 'upgradeHistory': { /** The unique identifier of the addon upgrade. Example: "611d0da52cd838bbdeec4792" */ 'upgradeId': string; /** Details about the upgrade status. */ 'status': { /** The status of the addon upgrade. Example: "completed" */ 'status': 'scheduled' | 'in-progress' | 'completed' | 'aborting' | 'aborted' | 'failed' | 'not-supported'; }; /** The time the upgrade was initiated. Example: "2021-08-18 13:39:49.475Z" */ 'createdAt': string; /** Whether the version updated to is a major or minor version. Example: "minor" */ 'upgradeType': 'major' | 'minor' | 'patch'; /** The version upgraded from. Example: "4.2.14" */ 'previousVersion': string; /** The version upgraded to. Example: "4.2.15" */ 'newVersion': string; /** The time the upgrade was completed. Example: "2021-08-18T13:40:51.685Z" */ 'completedAt'?: string; }[]; }; type GetAddonVersionCall = (opts: GetAddonVersionRequest) => Promise>; type GetAddonVersionRequest = { parameters: GetAddonVersionParameters; }; type GetAddonVersionParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; /** Gets details about the current addon version including available upgrades and upgrade history. */ declare class GetAddonVersionEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetAddonVersionRequest) => string; body: () => undefined; } type UpdateAddonVersionResult = any; type UpdateAddonVersionCall = (opts: UpdateAddonVersionRequest) => Promise>; type UpdateAddonVersionRequest = { parameters: UpdateAddonVersionParameters; data: UpdateAddonVersionData; }; type UpdateAddonVersionParameters = { /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the addon */ 'addonId': string; }; type UpdateAddonVersionData = { /** The version to upgrade the addon to. Example: "4.2.15" */ 'version': string; }; /** Upgrades the addon to a new version. */ declare class UpdateAddonVersionEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateAddonVersionRequest) => string; body: (payload: UpdateAddonVersionRequest) => string; } type ListExternaladdonsResult = { 'data': { /** List of external addons */ 'externalAddons': { 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'environmentId'?: string; 'spec'?: { 'resourceType': 's3' | 'rds'; 'provider'?: { 'aws'?: { 'region': string; /** Integration to use for this job. */ 'integrationId': string; }; 'google'?: { 'project': string; 'region'?: string; 'zone'?: string; /** Integration to use for this job. */ 'integrationId': string; }; 'cloudflare'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'aiven'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'backblaze'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'azure'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'akamai'?: { /** Integration to use for this job. */ 'integrationId': string; }; }; 'config': any; 'outputs'?: any; }; 'name': string; }[]; /** Pagination information */ 'pagination': { /** Current page number */ 'page': number; /** Items per page */ 'perPage': number; /** Total number of items */ 'total': number; }; }; }; type ListExternaladdonsCall = ((opts: ListExternaladdonsRequest) => Promise>) & { all: (opts: ListExternaladdonsRequest) => Promise>; }; type ListExternaladdonsRequest = { parameters: ListExternaladdonsParameters; options?: ListExternaladdonsOptions; }; type ListExternaladdonsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListExternaladdonsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter by resource type (s3, rds) */ 'resourceType'?: string; /** Filter by status (creating, active, error, deleting, deleted) */ 'status'?: string; }; /** Gets a list of external addons belonging to the project */ declare class ListExternaladdonsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListExternaladdonsRequest) => string; body: () => undefined; } type CreateExternaladdonResult = { 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'environmentId'?: string; 'spec'?: { 'resourceType': 's3' | 'rds'; 'provider'?: { 'aws'?: { 'region': string; /** Integration to use for this job. */ 'integrationId': string; }; 'google'?: { 'project': string; 'region'?: string; 'zone'?: string; /** Integration to use for this job. */ 'integrationId': string; }; 'cloudflare'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'aiven'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'backblaze'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'azure'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'akamai'?: { /** Integration to use for this job. */ 'integrationId': string; }; }; 'config': any; 'outputs'?: any; }; 'name': string; }; type CreateExternaladdonCall = (opts: CreateExternaladdonRequest) => Promise>; type CreateExternaladdonRequest = { parameters: CreateExternaladdonParameters; data: CreateExternaladdonData; }; type CreateExternaladdonParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateExternaladdonData = { 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'environmentId'?: string; 'spec'?: { 'resourceType': 's3' | 'rds'; 'provider'?: { 'aws'?: { 'region': string; /** Integration to use for this job. */ 'integrationId': string; }; 'google'?: { 'project': string; 'region'?: string; 'zone'?: string; /** Integration to use for this job. */ 'integrationId': string; }; 'cloudflare'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'aiven'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'backblaze'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'azure'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'akamai'?: { /** Integration to use for this job. */ 'integrationId': string; }; }; 'config': any; 'outputs'?: any; }; 'name': string; }; /** Creates a new external addon (third-party cloud resource provisioned via OpenTofu) */ declare class CreateExternaladdonEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateExternaladdonRequest) => string; body: (payload: CreateExternaladdonRequest) => string; } type GetExternaladdonResult = { 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'environmentId'?: string; 'spec'?: { 'resourceType': 's3' | 'rds'; 'provider'?: { 'aws'?: { 'region': string; /** Integration to use for this job. */ 'integrationId': string; }; 'google'?: { 'project': string; 'region'?: string; 'zone'?: string; /** Integration to use for this job. */ 'integrationId': string; }; 'cloudflare'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'aiven'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'backblaze'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'azure'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'akamai'?: { /** Integration to use for this job. */ 'integrationId': string; }; }; 'config': any; 'outputs'?: any; }; 'name': string; }; type GetExternaladdonCall = (opts: GetExternaladdonRequest) => Promise>; type GetExternaladdonRequest = { parameters: GetExternaladdonParameters; }; type GetExternaladdonParameters = { /** ID of the project */ 'projectId': string; /** ID of the external addon */ 'externalAddonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the external addon */ 'externalAddonId': string; }; /** Gets information about the given external addon */ declare class GetExternaladdonEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetExternaladdonRequest) => string; body: () => undefined; } type UpdateExternaladdonResult = { 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'environmentId'?: string; 'spec'?: { 'resourceType': 's3' | 'rds'; 'provider'?: { 'aws'?: { 'region': string; /** Integration to use for this job. */ 'integrationId': string; }; 'google'?: { 'project': string; 'region'?: string; 'zone'?: string; /** Integration to use for this job. */ 'integrationId': string; }; 'cloudflare'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'aiven'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'backblaze'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'azure'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'akamai'?: { /** Integration to use for this job. */ 'integrationId': string; }; }; 'config': any; 'outputs'?: any; }; 'name': string; }; type UpdateExternaladdonCall = (opts: UpdateExternaladdonRequest) => Promise>; type UpdateExternaladdonRequest = { parameters: UpdateExternaladdonParameters; data: UpdateExternaladdonData; }; type UpdateExternaladdonParameters = { /** ID of the project */ 'projectId': string; /** ID of the external addon */ 'externalAddonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the external addon */ 'externalAddonId': string; }; type UpdateExternaladdonData = { 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'environmentId'?: string; 'spec'?: { 'resourceType': 's3' | 'rds'; 'provider'?: { 'aws'?: { 'region': string; /** Integration to use for this job. */ 'integrationId': string; }; 'google'?: { 'project': string; 'region'?: string; 'zone'?: string; /** Integration to use for this job. */ 'integrationId': string; }; 'cloudflare'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'aiven'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'backblaze'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'azure'?: { /** Integration to use for this job. */ 'integrationId': string; }; 'akamai'?: { /** Integration to use for this job. */ 'integrationId': string; }; }; 'config': any; 'outputs'?: any; }; }; /** Updates configuration for an external addon */ declare class UpdateExternaladdonEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateExternaladdonRequest) => string; body: (payload: UpdateExternaladdonRequest) => string; } type DeleteExternaladdonResult = any; type DeleteExternaladdonCall = (opts: DeleteExternaladdonRequest) => Promise>; type DeleteExternaladdonRequest = { parameters: DeleteExternaladdonParameters; }; type DeleteExternaladdonParameters = { /** ID of the project */ 'projectId': string; /** ID of the external addon */ 'externalAddonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the external addon */ 'externalAddonId': string; }; /** Deletes an external addon and destroys the associated cloud resource */ declare class DeleteExternaladdonEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteExternaladdonRequest) => string; body: () => undefined; } type ListJobsResult = { /** An array of job objects. */ 'jobs': { /** Identifier for the job Example: "example-job" */ 'id': string; /** ID of the project that the job belongs to Example: "default-project" */ 'projectId': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; /** Job name Example: "Example Job" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the job Example: "This is the job description" */ 'description'?: string; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'manual' | 'cron'; /** Whether Continuous Integration is disabled */ 'disabledCI': boolean; /** Whether Continuous Deployment is disabled */ 'disabledCD': boolean; /** Cron specific. Whether or not the job's automatic scheduling is suspended */ 'suspended'?: boolean; }[]; }; type ListJobsCall = ((opts: ListJobsRequest) => Promise>) & { all: (opts: ListJobsRequest) => Promise>; }; type ListJobsRequest = { parameters: ListJobsParameters; options?: ListJobsOptions; }; type ListJobsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListJobsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of jobs belonging to the project */ declare class ListJobsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListJobsRequest) => string; body: () => undefined; } type CreateJobResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'settings'?: { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; }; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'cron'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type CreateJobCall = (opts: CreateJobRequest) => Promise>; type CreateJobRequest = { parameters: CreateJobParameters; data: CreateJobData; }; type CreateJobParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateJobData = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Where to deploy the job from. */ 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | any; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'settings'?: { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; }; }; /** Creates a new job (manual or cron based on settings.cron presence) */ declare class CreateJobEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateJobRequest) => string; body: (payload: CreateJobRequest) => string; } type PutJobResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'settings'?: { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; }; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'cron'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PutJobCall = (opts: PutJobRequest) => Promise>; type PutJobRequest = { parameters: PutJobParameters; data: PutJobData; }; type PutJobParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutJobData = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Where to deploy the job from. */ 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | any; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'settings'?: { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; }; }; /** Creates or updates a job (manual or cron based on settings.cron presence) */ declare class PutJobEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutJobRequest) => string; body: (payload: PutJobRequest) => string; } type CreateJobCronResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'cron'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type CreateJobCronCall = (opts: CreateJobCronRequest) => Promise>; type CreateJobCronRequest = { parameters: CreateJobCronParameters; data: CreateJobCronData; }; type CreateJobCronParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateJobCronData = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Where to deploy the job from. */ 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | any; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; /** Creates a new cron job */ declare class CreateJobCronEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateJobCronRequest) => string; body: (payload: CreateJobCronRequest) => string; } type PutJobCronResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'cron'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PutJobCronCall = (opts: PutJobCronRequest) => Promise>; type PutJobCronRequest = { parameters: PutJobCronParameters; data: PutJobCronData; }; type PutJobCronParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutJobCronData = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Where to deploy the job from. */ 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | any; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; /** Creates or updates a cron job */ declare class PutJobCronEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutJobCronRequest) => string; body: (payload: PutJobCronRequest) => string; } type PatchJobCronResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'cron'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PatchJobCronCall = (opts: PatchJobCronRequest) => Promise>; type PatchJobCronRequest = { parameters: PatchJobCronParameters; data: PatchJobCronData; }; type PatchJobCronParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type PatchJobCronData = { /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing'?: { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile'?: { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; 'buildpack'?: { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit'?: number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; /** Updates a cron job */ declare class PatchJobCronEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchJobCronRequest) => string; body: (payload: PatchJobCronRequest) => string; } type CreateJobManualResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** Type of the job (manual or manual) Example: "manual" */ 'jobType': 'manual'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type CreateJobManualCall = (opts: CreateJobManualRequest) => Promise>; type CreateJobManualRequest = { parameters: CreateJobManualParameters; data: CreateJobManualData; }; type CreateJobManualParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateJobManualData = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Where to deploy the job from. */ 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | any; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; }; /** Creates a new manual job that only runs when initiated via the UI, CLI, API or JS client. */ declare class CreateJobManualEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateJobManualRequest) => string; body: (payload: CreateJobManualRequest) => string; } type PutJobManualResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** Type of the job (manual or manual) Example: "manual" */ 'jobType': 'manual'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PutJobManualCall = (opts: PutJobManualRequest) => Promise>; type PutJobManualRequest = { parameters: PutJobManualParameters; data: PutJobManualData; }; type PutJobManualParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutJobManualData = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Where to deploy the job from. */ 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | any; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; }; /** Creates or updates a new manual job that only runs when initiated via the UI, CLI, API or JS client. */ declare class PutJobManualEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutJobManualRequest) => string; body: (payload: PutJobManualRequest) => string; } type PatchJobManualResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; /** Type of the job (manual or manual) Example: "manual" */ 'jobType': 'manual'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PatchJobManualCall = (opts: PatchJobManualRequest) => Promise>; type PatchJobManualRequest = { parameters: PatchJobManualParameters; data: PatchJobManualData; }; type PatchJobManualParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type PatchJobManualData = { /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing'?: { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile'?: { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; 'buildpack'?: { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit'?: number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; }; /** Updates a new manual job that only runs when initiated via the UI, CLI, API or JS client. */ declare class PatchJobManualEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchJobManualRequest) => string; body: (payload: PatchJobManualRequest) => string; } type GetJobResult = { /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; /** Job name Example: "Example Job" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the job Example: "This is the job description" */ 'description'?: string; /** ID of the project that the job belongs to Example: "default-project" */ 'projectId': string; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'manual' | 'cron'; /** The time the job was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; 'vcsData'?: { /** URL of the repository being built Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** VCS provider for the repo being built Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** ID of the self-hosted VCS, if applicable. Example: "example-team/self-hosted-vcs" */ 'selfHostedVcsId'?: string; /** Branch of the repo being built Example: "master" */ 'projectBranch'?: string; /** Whether the repo is being accessed without authentication. */ 'publicRepo'?: boolean; /** Working directory used by the dockerfile Example: "/" */ 'dockerWorkDir': string; /** File path of the Dockerfile Example: "/Dockerfile" */ 'dockerFilePath': string; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; 'buildEngineConfiguration'?: { /** The build engine used. Example: "buildpack" */ 'buildEngine'?: 'buildpack' | 'buildkit' | 'kaniko'; /** Details about Buildpack settings. */ 'buildpack'?: { /** The Buildpack stack used. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks used. */ 'buildpackLocators'?: string[]; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; /** Details about Buildkit settings. */ 'buildkit'?: { /** Should intermediate image layers be cached? */ 'useCache'?: boolean; /** Should use persistent storage to store all layers? */ 'useInternalCache'?: boolean; /** Storage size to use for internal cache */ 'internalCacheStorage'?: boolean; }; /** Details about Kaniko settings. */ 'kaniko'?: { /** Should intermediate image layers be cached? */ 'useCache'?: boolean; }; }; /** Whether Continuous Integration is disabled */ 'disabledCI': boolean; /** Whether Continuous Deployment is disabled */ 'disabledCD': boolean; 'deployment'?: { /** Region where this job is deployed and built Example: "europe-west" */ 'region'?: string; /** Details about the Buildpack overrides for this deployment. */ 'buildpack'?: { /** Type of buildpack run configuration. Example: "default" */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. */ 'customProcess'?: string; /** Custom entrypoint which should be run. */ 'customEntrypoint'?: string; /** Custom command which should be run. */ 'customCommand'?: string; }; /** Details about the Docker overrides for this deployment. */ 'docker'?: { /** Override configuration which is used at runtime. Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** The CMD to run instead of the default if entrypoint override is enabled. */ 'customEntrypoint'?: string; /** The CMD to run instead of the default if CMD override is enabled. */ 'customCommand'?: string; }; /** Details about storage settings for this deployment. */ 'storage'?: { /** Details about ephemeral storage settings for this deployment. */ 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize': number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; }; 'billing': { /** ID of the billing plan used by this job Example: "nf-compute-20" */ 'deploymentPlan': string; }; /** Cron specific. Whether or not the job's automatic scheduling is suspended */ 'suspended'?: boolean; /** Job settings */ 'settings': { /** Cron job specific settings */ 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string; /** Whether this job should run when another instance of the job is already running. Example: "Allow" */ 'concurrencyPolicy'?: 'Allow' | 'Forbid' | 'Replace'; }; /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds': number; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; }; type GetJobCall = (opts: GetJobRequest) => Promise>; type GetJobRequest = { parameters: GetJobParameters; }; type GetJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Gets information about the given job */ declare class GetJobEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobRequest) => string; body: () => undefined; } type PatchJobResult = { /** The name of the job. Example: "Example Job" */ 'name': string; /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Build engine */ 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'settings'?: { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit': number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; }; /** Type of the job (manual or cron) Example: "cron" */ 'jobType': 'cron'; /** Identifier for the job Example: "example-job" */ 'id': string; /** Full identifier used for job deployment Example: "/example-user/default-project/example-job" */ 'appId': string; 'deployment'?: { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'vcs'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Details about the current job status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PatchJobCall = (opts: PatchJobRequest) => Promise>; type PatchJobRequest = { parameters: PatchJobParameters; data: PatchJobData; }; type PatchJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type PatchJobData = { /** A description of the job. Example: "A job description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing'?: { /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI should be disabled. Only relevant for jobs deploying directly from version control. */ 'disabledCI'?: boolean; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile'?: { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; 'buildpack'?: { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; /** An object containing the runtime environment to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"variable1":"abcdef","variable2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'settings'?: { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit'?: number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number | null; 'cron'?: { /** The cron timer scheduling when to run the job. Example: "30 8 * * *" */ 'schedule'?: string | null; /** Whether the cron's automatic scheduling is suspended */ 'suspended'?: boolean; /** Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "forbid" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; }; }; /** Updates a job (manual or cron based on current type and settings.cron) */ declare class PatchJobEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchJobRequest) => string; body: (payload: PatchJobRequest) => string; } type DeleteJobResult = any; type DeleteJobCall = (opts: DeleteJobRequest) => Promise>; type DeleteJobRequest = { parameters: DeleteJobParameters; }; type DeleteJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Deletes the given job. */ declare class DeleteJobEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteJobRequest) => string; body: () => undefined; } type GetJobBranchesResult = { /** A list of branches for this repository. */ 'branches'?: { /** Name of the branch. Example: "main" */ 'name': string; 'id': string; /** Details about the most recent commit on the branch. */ 'commit': { /** SHA identifier of the commit. Example: "f8aca180e989be62cba71db629d2ede05f2d10c4" */ 'sha': string; /** Details about the commit author. */ 'author': { /** The login of the commit author. Example: "northflank" */ 'login': string; }; /** Commit message of the commit. Example: "Initial commit" */ 'message'?: string; /** Timestamp of the commit. Example: "2021-09-17T14:04:39.000Z" */ 'date'?: string; }; }[]; }; type GetJobBranchesCall = ((opts: GetJobBranchesRequest) => Promise>) & { all: (opts: GetJobBranchesRequest) => Promise>; }; type GetJobBranchesRequest = { parameters: GetJobBranchesParameters; options?: GetJobBranchesOptions; }; type GetJobBranchesParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobBranchesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets information about the branches of the given job. */ declare class GetJobBranchesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobBranchesRequest) => string; body: () => undefined; } type GetJobBuildsResult = { /** An array of builds. */ 'builds': { /** ID of the build. Example: "joyous-view-6290" */ 'id': string; /** Name of the branch the built commit belongs to. Example: "main" */ 'branch'?: string; /** ID of the pull request the commit belongs to. */ 'pullRequestId'?: number | null; /** The status of the build. Example: "SUCCESS" */ 'status'?: 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The sha of the built commit. Example: "12c15e7ee25fd78f567ebf87f9178b8ad70025b3" */ 'sha'?: string; 'registry'?: { /** URI of that can be used to pull the image from the registry */ 'uri'?: string; }; /** Whether the build has finished. Example: true */ 'concluded'?: boolean; /** Timestamp of the build initiation. Example: "2021-07-28T15:55:38.296Z" */ 'createdAt'?: string; /** Whether the build was successful. Example: true */ 'success'?: boolean; /** Description of the build status. Example: "Image successfully built" */ 'message'?: string | null; /** Timestamp of the build concluding. Example: 1606237973 */ 'buildConcludedAt'?: number; }[]; }; type GetJobBuildsCall = ((opts: GetJobBuildsRequest) => Promise>) & { all: (opts: GetJobBuildsRequest) => Promise>; }; type GetJobBuildsRequest = { parameters: GetJobBuildsParameters; options?: GetJobBuildsOptions; }; type GetJobBuildsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobBuildsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists builds for the given job. */ declare class GetJobBuildsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobBuildsRequest) => string; body: () => undefined; } type StartJobBuildResult = { /** ID of the build. Example: "joyous-view-6290" */ 'id': string; /** Name of the branch the built commit belongs to. Example: "main" */ 'branch'?: string; /** ID of the pull request the commit belongs to. */ 'pullRequestId'?: number | null; /** The sha of the built commit. Example: "12c15e7ee25fd78f567ebf87f9178b8ad70025b3" */ 'sha'?: string; 'registry'?: { /** URI of that can be used to pull the image from the registry */ 'uri'?: string; }; /** Timestamp of the build initiation. Example: "2021-07-28T15:55:38.296Z" */ 'createdAt'?: string; /** The status of the build. Example: "PENDING" */ 'status'?: string; /** Whether the build has finished. */ 'concluded'?: boolean; }; type StartJobBuildCall = (opts: StartJobBuildRequest) => Promise>; type StartJobBuildRequest = { parameters: StartJobBuildParameters; data: StartJobBuildData; }; type StartJobBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type StartJobBuildData = { /** Commit sha to build. If not provided, will build the most recent commit of the job's branch. Example: "262ed9817b3cad5142fbceabe0c9e371e390d616" */ 'sha'?: string; } | { /** Commit sha to build. If not provided, will build the most recent commit of the job's branch. Example: "262ed9817b3cad5142fbceabe0c9e371e390d616" */ 'sha'?: string; /** An optional object that may specify several different overrides on the build level. */ 'overrides'?: { /** Build arguments that will be set on this build only. In case of conflicts these values take precedence. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** Overrides for docker build settings. */ 'docker'?: { /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; }; }; }; /** Start a new build for the given job. Given a commit sha, it will build that commit. */ declare class StartJobBuildEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: StartJobBuildRequest) => string; body: (payload: StartJobBuildRequest) => string; } type GetJobBuildargumentsResult = { /** The build arguments, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain secrets saved to this entity. If the `show` parameter is set to `inherited`, this will only contain secrets inherited from linked secret groups. Otherwise, this will contain both. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments': any; /** The build secret files, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain files saved to this entity. If the `show` parameter is set to `inherited`, this will only contain files inherited from linked secret groups. Otherwise, this will contain both. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles': any; }; type GetJobBuildargumentsCall = (opts: GetJobBuildargumentsRequest) => Promise>; type GetJobBuildargumentsRequest = { parameters: GetJobBuildargumentsParameters; options?: GetJobBuildargumentsOptions; }; type GetJobBuildargumentsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobBuildargumentsOptions = { /** Which secrets to display - if set to `this` only the group's secrets are displayed, if set to `inherited` only secrets from linked addons are displayed, if set to `all` or not provided, both are displayed. */ 'show'?: string; /** If templated secrets should be replaced with their inferred value rather than returned as template strings. */ 'replaceTemplatedValues'?: string; }; /** Gets the build arguments of the given job. If the API key does not have the permission 'Project > Secrets > General > Read', secrets inherited from secret groups will not be displayed. */ declare class GetJobBuildargumentsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobBuildargumentsRequest) => string; body: () => undefined; } type UpdateJobBuildargumentsResult = any; type UpdateJobBuildargumentsCall = (opts: UpdateJobBuildargumentsRequest) => Promise>; type UpdateJobBuildargumentsRequest = { parameters: UpdateJobBuildargumentsParameters; data: UpdateJobBuildargumentsData; }; type UpdateJobBuildargumentsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobBuildargumentsData = { /** An object containing the all of the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Sets build arguments for the given job. */ declare class UpdateJobBuildargumentsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobBuildargumentsRequest) => string; body: (payload: UpdateJobBuildargumentsRequest) => string; } type GetJobBuildargumentdetailsResult = { /** Details about all the secrets accessible by the service. */ 'buildArguments': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ 'MY_VARIABLE_NAME'?: { /** The value of the secret. Example: "abcdef123456" */ 'value': any; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The ID of the addon the secret is inherited from, if applicable. Example: "example-addon" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the secret has been inherited from, but that are not being used as a secret with the same key exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The ID of the addon the secret is inherited from, if applicable. Example: "addon-2" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; /** Details about all the secrets accessible by the service. */ 'buildFiles': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ '/dir/fileName'?: { /** The value of the secret. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'value': { /** base64 encoded string of the file contents Example: "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=" */ 'data'?: string; /** Original encoding of the file Example: "utf-8" */ 'encoding'?: string; }; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the file has been inherited from, but that are not being used as a secret with the same file path exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; }; type GetJobBuildargumentdetailsCall = (opts: GetJobBuildargumentdetailsRequest) => Promise>; type GetJobBuildargumentdetailsRequest = { parameters: GetJobBuildargumentdetailsParameters; }; type GetJobBuildargumentdetailsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Get details about the build arguments accessible by the given job. Also requires the permission 'Project > Secrets > General > Read' */ declare class GetJobBuildargumentdetailsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobBuildargumentdetailsRequest) => string; body: () => undefined; } type UpdateJobBuildoptionsResult = any; type UpdateJobBuildoptionsCall = (opts: UpdateJobBuildoptionsRequest) => Promise>; type UpdateJobBuildoptionsRequest = { parameters: UpdateJobBuildoptionsParameters; data: UpdateJobBuildoptionsData; }; type UpdateJobBuildoptionsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobBuildoptionsData = { 'dockerfile': { /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; } | { 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; } | { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Updates the build options for a given job. */ declare class UpdateJobBuildoptionsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobBuildoptionsRequest) => string; body: (payload: UpdateJobBuildoptionsRequest) => string; } type UpdateJobBuildsourceResult = any; type UpdateJobBuildsourceCall = (opts: UpdateJobBuildsourceRequest) => Promise>; type UpdateJobBuildsourceRequest = { parameters: UpdateJobBuildsourceParameters; data: UpdateJobBuildsourceData; }; type UpdateJobBuildsourceParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobBuildsourceData = { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl'?: string; /** The VCS provider to use. Example: "github" */ 'projectType'?: 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** The name of the branch to use. Example: "master" */ 'projectBranch'?: string; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; }; /** Updates the version control source for a given job. */ declare class UpdateJobBuildsourceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobBuildsourceRequest) => string; body: (payload: UpdateJobBuildsourceRequest) => string; } type GetJobBuildResult = { /** ID of the build. Example: "joyous-view-6290" */ 'id': string; /** Name of the branch the built commit belongs to. Example: "main" */ 'branch'?: string; /** ID of the pull request the commit belongs to. */ 'pullRequestId'?: number | null; /** The status of the build. Example: "SUCCESS" */ 'status'?: 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The sha of the built commit. Example: "12c15e7ee25fd78f567ebf87f9178b8ad70025b3" */ 'sha'?: string; 'registry'?: { /** URI of that can be used to pull the image from the registry */ 'uri'?: string; }; /** Whether the build has finished. Example: true */ 'concluded'?: boolean; /** Timestamp of the build initiation. Example: "2021-07-28T15:55:38.296Z" */ 'createdAt'?: string; /** Whether the build was successful. Example: true */ 'success'?: boolean; /** Description of the build status. Example: "Image successfully built" */ 'message'?: string | null; /** Timestamp of the build concluding. Example: 1606237973 */ 'buildConcludedAt'?: number; }; type GetJobBuildCall = (opts: GetJobBuildRequest) => Promise>; type GetJobBuildRequest = { parameters: GetJobBuildParameters; }; type GetJobBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job build */ 'buildId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job build */ 'buildId': string; }; /** Gets information about a build for the job */ declare class GetJobBuildEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobBuildRequest) => string; body: () => undefined; } type AbortJobBuildResult = any; type AbortJobBuildCall = (opts: AbortJobBuildRequest) => Promise>; type AbortJobBuildRequest = { parameters: AbortJobBuildParameters; }; type AbortJobBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job build */ 'buildId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job build */ 'buildId': string; }; /** Aborts the given job build */ declare class AbortJobBuildEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortJobBuildRequest) => string; body: () => undefined; } type GetJobContainersResult = { 'containers'?: { /** The name of the container. Example: "example-service-78b4d4459d-sbtn8" */ 'name': string; /** The timestamp the container was created. Example: 1611241087 */ 'createdAt': number; /** The current status of the container. Example: "TASK_RUNNING" */ 'status': 'TASK_RUNNING' | 'TASK_STARTING' | 'TASK_STAGING' | 'TASK_KILLING' | 'TASK_KILLED' | 'TASK_FAILED' | 'TASK_FINISHED'; /** BYOC only: the name of the node the container was scheduled to */ 'nodeName'?: string; /** BYOC only: the user facing ID of the node pool that the container was scheduled to */ 'nodePoolUserId'?: string; /** BYOC only: the provider facing ID of the node pool that the container was scheduled to */ 'nodePoolProviderId'?: string; /** BYOC only: the host address of the node the container was scheduled to */ 'host'?: string; /** BYOC only: the IP addresses mapping to the container */ 'ipAddresses'?: string[]; /** The timestamp the container was last updated. Example: 1611241087 */ 'updatedAt': number; }[]; /** The id of the associated job run. Example: "00000676-9be8-41dd-b0f7-ba7df935cf27" */ 'runId': string; }; type GetJobContainersCall = ((opts: GetJobContainersRequest) => Promise>) & { all: (opts: GetJobContainersRequest) => Promise>; }; type GetJobContainersRequest = { parameters: GetJobContainersParameters; options?: GetJobContainersOptions; }; type GetJobContainersParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobContainersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** If provided, only returns containers for this specific job run. */ 'runId'?: string; }; /** Gets a list of containers for the given job. */ declare class GetJobContainersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobContainersRequest) => string; body: () => undefined; } type GetJobDeploymentResult = { /** Region where this service is deployed and/or built Example: "europe-west" */ 'region'?: string; /** Number of instances/replicas running Example: 1 */ 'instances'?: number; /** Details about the Docker overrides for this deployment. */ 'docker'?: { /** Override configuration which is used at runtime. Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** The CMD to run instead of the default if entrypoint override is enabled. */ 'customEntrypoint'?: string; /** The CMD to run instead of the default if CMD override is enabled. */ 'customCommand'?: string; }; /** Details about the Buildpack overrides for this deployment. */ 'buildpack'?: { /** Type of buildpack run configuration. Example: "default" */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. */ 'customProcess'?: string; /** Custom entrypoint which should be run. */ 'customEntrypoint'?: string; /** Custom command which should be run. */ 'customCommand'?: string; }; /** Details about storage settings for this deployment. */ 'storage'?: { /** Details about ephemeral storage settings for this deployment. */ 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize': number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'internal': { /** Full identifier of deployed entity Example: "/example-user/default-project/example-service" */ 'appId': string; /** ID of deployed entity Example: "example-service" */ 'nfObjectId': string; /** URL of the repository being deployed Example: "https://github.com/northflank/gatsby-with-northflank" */ 'repository': string; /** Branch of the repo being deployed Example: "master" */ 'branch': string; /** ID of the build currently deployed. Example: "incredible-land-3266" */ 'buildId': string; /** Commit SHA being deployed. `latest` means the latest commit is automatically being deployed. Example: "latest" */ 'buildSHA': string; /** Currently deployed commit SHA. If buildSHA is set to `latest`, this will show the SHA of the latest commit. Example: "262ed9817b3cad5142fbceabe0c9e371e390d616" */ 'deployedSHA'?: string; /** Type of deployed entity Example: "service" */ 'nfObjectType': 'service' | 'job'; }; } | { /** Region where this service is deployed and/or built Example: "europe-west" */ 'region'?: string; /** Number of instances/replicas running Example: 1 */ 'instances'?: number; /** Details about the Docker overrides for this deployment. */ 'docker'?: { /** Override configuration which is used at runtime. Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** The CMD to run instead of the default if entrypoint override is enabled. */ 'customEntrypoint'?: string; /** The CMD to run instead of the default if CMD override is enabled. */ 'customCommand'?: string; }; /** Details about the Buildpack overrides for this deployment. */ 'buildpack'?: { /** Type of buildpack run configuration. Example: "default" */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. */ 'customProcess'?: string; /** Custom entrypoint which should be run. */ 'customEntrypoint'?: string; /** Custom command which should be run. */ 'customCommand'?: string; }; /** Details about storage settings for this deployment. */ 'storage'?: { /** Details about ephemeral storage settings for this deployment. */ 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize': number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'external': { /** Path of the external image excluding the hostname Example: "nginx:latest" */ 'imagePath': string; /** Registry provider hosting the external image Example: "dockerhub" */ 'registryProvider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** Does the image require authentication */ 'privateImage': boolean; }; }; type GetJobDeploymentCall = (opts: GetJobDeploymentRequest) => Promise>; type GetJobDeploymentRequest = { parameters: GetJobDeploymentParameters; }; type GetJobDeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Gets information about the deployment of the given job. */ declare class GetJobDeploymentEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobDeploymentRequest) => string; body: () => undefined; } type UpdateJobDeploymentResult = any; type UpdateJobDeploymentCall = (opts: UpdateJobDeploymentRequest) => Promise>; type UpdateJobDeploymentRequest = { parameters: UpdateJobDeploymentParameters; data: UpdateJobDeploymentData; }; type UpdateJobDeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobDeploymentData = { 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; } | { 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; }; /** Updates the deployment settings of the given job. */ declare class UpdateJobDeploymentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobDeploymentRequest) => string; body: (payload: UpdateJobDeploymentRequest) => string; } type GetJobHealthchecksResult = { /** An array of health checks. */ 'healthChecks': { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe'; /** The path of the health check endpoint. Example: "/health-check" */ 'path'?: string | null; /** The command to run for the health check. */ 'cmd'?: any; /** HTTP port number for the health check endpoint. Example: 3000 */ 'httpPort'?: any; /** TCP port number for the health check endpoint. */ 'tcpSocketPort'?: any; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: any; }[]; }; type GetJobHealthchecksCall = (opts: GetJobHealthchecksRequest) => Promise>; type GetJobHealthchecksRequest = { parameters: GetJobHealthchecksParameters; }; type GetJobHealthchecksParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Lists the health checks for the given job. */ declare class GetJobHealthchecksEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobHealthchecksRequest) => string; body: () => undefined; } type UpdateJobHealthchecksResult = any; type UpdateJobHealthchecksCall = (opts: UpdateJobHealthchecksRequest) => Promise>; type UpdateJobHealthchecksRequest = { parameters: UpdateJobHealthchecksParameters; data: UpdateJobHealthchecksData; }; type UpdateJobHealthchecksParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobHealthchecksData = { /** An array of health checks. */ 'healthChecks': { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; }; /** Updates health checks for the given job. */ declare class UpdateJobHealthchecksEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobHealthchecksRequest) => string; body: (payload: UpdateJobHealthchecksRequest) => string; } type PauseJobResult = any; type PauseJobCall = (opts: PauseJobRequest) => Promise>; type PauseJobRequest = { parameters: PauseJobParameters; }; type PauseJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Pause the given job. */ declare class PauseJobEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PauseJobRequest) => string; body: () => undefined; } type GetJobPullrequestsResult = { /** A list of pull requests for this repository. */ 'pullRequests'?: { /** ID number of the pull request. Example: 1 */ 'id': number; /** Status of the pull request. Example: "OPEN" */ 'state': string; /** Title of the pull request. Example: "Add new feature handling" */ 'title': string; /** Name of the branch the pull request is merging from. Example: "feature/new-feature" */ 'source': string; /** Name of the branch the pull request is being merged into. Example: "main" */ 'destination': string; /** SHA of the most recent commit of the pull request. Example: "4f101d8821aeb3e4f81f95f3e886a2759ba7b9db" */ 'sha': string; /** The timestamp the pull request was opened. Example: "2021-03-22T11:05:52.000Z" */ 'created_at': string; /** The timestamp the pull request was last updated at. Example: "2021-05-11T16:05:43.000Z" */ 'updated_at': string; 'html_url': string; }[]; }; type GetJobPullrequestsCall = ((opts: GetJobPullrequestsRequest) => Promise>) & { all: (opts: GetJobPullrequestsRequest) => Promise>; }; type GetJobPullrequestsRequest = { parameters: GetJobPullrequestsParameters; options?: GetJobPullrequestsOptions; }; type GetJobPullrequestsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobPullrequestsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets information about the pull-requests of the given job. */ declare class GetJobPullrequestsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobPullrequestsRequest) => string; body: () => undefined; } type ResumeJobResult = any | any; type ResumeJobCall = (opts: ResumeJobRequest) => Promise>; type ResumeJobRequest = { parameters: ResumeJobParameters; data: ResumeJobData; }; type ResumeJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type ResumeJobData = { /** In the case of cron jobs, whether scheduling should be paused. */ 'suspended'?: boolean; /** Whether CI should be disabled */ 'disabledCI'?: boolean; /** Whether CD should be disabled */ 'disabledCD'?: boolean; }; /** Resumes the given job. Optionally takes several arguments to override resumed settings. */ declare class ResumeJobEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResumeJobRequest) => string; body: (payload: ResumeJobRequest) => string; } type GetJobRunsResult = { /** An array of job run objects. */ 'runs': { /** The ID of the job run Example: "d34582a4-35bd-4c71-8e7c-e36999b88723" */ 'id': string; /** Whether the run is currently in progress */ 'active': number; /** The number of attempts to retry this job run before it is marked as failed. */ 'backoffLimit': number; /** The number of times this job run has concluded successfully or with an error. Example: 1 */ 'completions': number; /** Has the job run finished? Example: true */ 'concluded': boolean; /** Whether this job run failed to complete successfully */ 'failed': number; /** The name of the job run Example: "example-job-5fcf67bc56e1913e21d49504" */ 'runName': string; /** A string representing the status of the job. Either SUCCESS, RUNNING or FAILED Example: "SUCCESS" */ 'status': 'SUCCESS' | 'RUNNING' | 'FAILED'; /** Whether this job run completed successfully */ 'succeeded': number; /** The timestamp when the job run started. Example: "2020-12-08T11:47:08Z" */ 'startedAt': string; /** The timestamp when the job run concluded. Example: "2020-12-08T11:52:08Z" */ 'concludedAt': string; }[]; }; type GetJobRunsCall = ((opts: GetJobRunsRequest) => Promise>) & { all: (opts: GetJobRunsRequest) => Promise>; }; type GetJobRunsRequest = { parameters: GetJobRunsParameters; options?: GetJobRunsOptions; }; type GetJobRunsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobRunsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Fetches run history for the given job */ declare class GetJobRunsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobRunsRequest) => string; body: () => undefined; } type StartJobRunResult = { /** The ID of the job run Example: "d34582a4-35bd-4c71-8e7c-e36999b88723" */ 'id': string; /** The name of the job run Example: "example-job-5fcf67bc56e1913e21d49504" */ 'runName': string; }; type StartJobRunCall = (opts: StartJobRunRequest) => Promise>; type StartJobRunRequest = { parameters: StartJobRunParameters; data: StartJobRunData; }; type StartJobRunParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type StartJobRunData = { /** An object containing the environment variables overrides to use when running the job. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; 'billing'?: { /** The ID of the deployment plan override to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; }; /** Override the job run deployment source. */ 'deployment'?: { /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Optional: Specify the commit to run */ 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | { /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Optional: Specify the external image to run */ 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; }; }; /** Starts a new job run for the given job */ declare class StartJobRunEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: StartJobRunRequest) => string; body: (payload: StartJobRunRequest) => string; } type GetJobRunResult = { /** The ID of the job run Example: "d34582a4-35bd-4c71-8e7c-e36999b88723" */ 'id': string; /** Whether the run is currently in progress */ 'active': number; /** The number of attempts to retry this job run before it is marked as failed. */ 'backoffLimit': number; /** The number of times this job run has concluded successfully or with an error. Example: 1 */ 'completions': number; /** Has the job run finished? Example: true */ 'concluded': boolean; /** Whether this job run failed to complete successfully */ 'failed': number; /** The name of the job run Example: "example-job-5fcf67bc56e1913e21d49504" */ 'runName': string; /** A string representing the status of the job. Either SUCCESS, RUNNING or FAILED Example: "SUCCESS" */ 'status': 'SUCCESS' | 'RUNNING' | 'FAILED'; /** Whether this job run completed successfully */ 'succeeded': number; /** The timestamp when the job run started. Example: "2020-12-08T11:47:08Z" */ 'startedAt': string; /** The timestamp when the job run concluded. Example: "2020-12-08T11:52:08Z" */ 'concludedAt': string; }; type GetJobRunCall = (opts: GetJobRunRequest) => Promise>; type GetJobRunRequest = { parameters: GetJobRunParameters; }; type GetJobRunParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job run */ 'runId': string; }; /** Returns data about the given job run */ declare class GetJobRunEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobRunRequest) => string; body: () => undefined; } type AbortJobRunResult = any; type AbortJobRunCall = (opts: AbortJobRunRequest) => Promise>; type AbortJobRunRequest = { parameters: AbortJobRunParameters; }; type AbortJobRunParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; /** ID of the job run */ 'runId': string; }; /** Aborts the given job run */ declare class AbortJobRunEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortJobRunRequest) => string; body: () => undefined; } type GetJobRuntimeenvironmentResult = { /** The runtime environment variables, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain secrets saved to this entity. If the `show` parameter is set to `inherited`, this will only contain secrets inherited from linked secret groups. Otherwise, this will contain both. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment': any; /** The runtime secret files, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain files saved to this entity. If the `show` parameter is set to `inherited`, this will only contain files inherited from linked secret groups. Otherwise, this will contain both. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles': any; }; type GetJobRuntimeenvironmentCall = (opts: GetJobRuntimeenvironmentRequest) => Promise>; type GetJobRuntimeenvironmentRequest = { parameters: GetJobRuntimeenvironmentParameters; options?: GetJobRuntimeenvironmentOptions; }; type GetJobRuntimeenvironmentParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type GetJobRuntimeenvironmentOptions = { /** Which secrets to display - if set to `this` only the group's secrets are displayed, if set to `inherited` only secrets from linked addons are displayed, if set to `all` or not provided, both are displayed. */ 'show'?: string; /** If templated secrets should be replaced with their inferred value rather than returned as template strings. */ 'replaceTemplatedValues'?: string; }; /** Returns the runtime environment for the given job. If the API key does not have the permission 'Project > Secrets > General > Read', secrets inherited from secret groups will not be displayed. */ declare class GetJobRuntimeenvironmentEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobRuntimeenvironmentRequest) => string; body: () => undefined; } type UpdateJobRuntimeenvironmentResult = any; type UpdateJobRuntimeenvironmentCall = (opts: UpdateJobRuntimeenvironmentRequest) => Promise>; type UpdateJobRuntimeenvironmentRequest = { parameters: UpdateJobRuntimeenvironmentParameters; data: UpdateJobRuntimeenvironmentData; }; type UpdateJobRuntimeenvironmentParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobRuntimeenvironmentData = { /** An object containing the all of the environment variables to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment': any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; }; /** Sets the runtime environment for the given job. */ declare class UpdateJobRuntimeenvironmentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobRuntimeenvironmentRequest) => string; body: (payload: UpdateJobRuntimeenvironmentRequest) => string; } type GetJobRuntimeenvironmentdetailsResult = { /** Details about all the secrets accessible by the service. */ 'runtimeEnvironment': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ 'MY_VARIABLE_NAME'?: { /** The value of the secret. Example: "abcdef123456" */ 'value': any; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The ID of the addon the secret is inherited from, if applicable. Example: "example-addon" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the secret has been inherited from, but that are not being used as a secret with the same key exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The ID of the addon the secret is inherited from, if applicable. Example: "addon-2" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; /** Details about all the secrets accessible by the service. */ 'runtimeFiles': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ '/dir/fileName'?: { /** The value of the secret. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'value': { /** base64 encoded string of the file contents Example: "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=" */ 'data'?: string; /** Original encoding of the file Example: "utf-8" */ 'encoding'?: string; }; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the file has been inherited from, but that are not being used as a secret with the same file path exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; }; type GetJobRuntimeenvironmentdetailsCall = (opts: GetJobRuntimeenvironmentdetailsRequest) => Promise>; type GetJobRuntimeenvironmentdetailsRequest = { parameters: GetJobRuntimeenvironmentdetailsParameters; }; type GetJobRuntimeenvironmentdetailsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; /** Get details about the runtime environment accessible by the given job. Also requires the permission 'Project > Secrets > General > Read' */ declare class GetJobRuntimeenvironmentdetailsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetJobRuntimeenvironmentdetailsRequest) => string; body: () => undefined; } type ScaleJobResult = any; type ScaleJobCall = (opts: ScaleJobRequest) => Promise>; type ScaleJobRequest = { parameters: ScaleJobParameters; data: ScaleJobData; }; type ScaleJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type ScaleJobData = { /** ID of the deployment plan to switch to. Example: "nf-compute-20" */ 'deploymentPlan'?: string; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; }; /** Modifies the scaling settings for the given job. */ declare class ScaleJobEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ScaleJobRequest) => string; body: (payload: ScaleJobRequest) => string; } type UpdateJobSettingsResult = any; type UpdateJobSettingsCall = (opts: UpdateJobSettingsRequest) => Promise>; type UpdateJobSettingsRequest = { parameters: UpdateJobSettingsParameters; data: UpdateJobSettingsData; }; type UpdateJobSettingsParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type UpdateJobSettingsData = { /** The number of attempts to rerun a job before it is marked as failed. */ 'backoffLimit'?: number; /** Configure when the job should be run if the source image changes. Example: "never" */ 'runOnSourceChange'?: 'never' | 'cd-promote' | 'always'; /** The maximum amount of time, in seconds, for a job to run before it is marked as failed. Example: 600 */ 'activeDeadlineSeconds'?: number; /** The cron timer scheduling when to run the job. Required for cron jobs and unavailable for other job types. Example: "30 8 * * *" */ 'schedule'?: string; /** Whether this job should run when another instance of the job is already running. Only available for cron jobs. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'forbid' | 'replace'; }; /** Updates settings for the job */ declare class UpdateJobSettingsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateJobSettingsRequest) => string; body: (payload: UpdateJobSettingsRequest) => string; } type SuspendJobResult = any | any; type SuspendJobCall = (opts: SuspendJobRequest) => Promise>; type SuspendJobRequest = { parameters: SuspendJobParameters; data: SuspendJobData; }; type SuspendJobParameters = { /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the job */ 'jobId': string; }; type SuspendJobData = { /** In the case of cron jobs, whether scheduling should be paused. Example: true */ 'suspended'?: boolean; }; /** Modify cron job to toggle suspending of its schedule. */ declare class SuspendJobEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: SuspendJobRequest) => string; body: (payload: SuspendJobRequest) => string; } type ListLlmmodeldeploymentsResult = { /** An array of AI models in this project. */ 'llmModelDeployments': { /** The name of the AI model. Example: "deepseek-v3-deployment" */ 'name': string; /** A description of the AI model. Example: "A deployment for DeepSeek V3 model" */ 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'spec': { /** Type of model spec - custom for user-defined configuration */ 'type': 'custom'; /** LLM model configuration including engine, architecture, and compute settings */ 'configuration': { 'name'?: string; 'engine'?: 'vllm'; 'revision'?: string; 'nodeConfiguration'?: { 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; 'storage'?: { 'accessMode'?: 'ReadWriteMany'; /** The type of the storage. Example: "nvme" */ 'storageClass'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; 'shmSize'?: number | null; }; }; 'architecture'?: { 'type'?: 'aggregated'; 'workerConfig'?: { 'replicas'?: number; 'parallelismConfig'?: { 'tensorParallelism'?: number; 'pipelineParallelism'?: number; 'expertParallelism'?: number; }; 'sequenceLengthConfig'?: { 'maxModelLength'?: number | 'auto'; 'maxInputLength'?: number; 'maxOutputLength'?: number; }; 'batchingConfig'?: { 'maxNumSeqs'?: number; 'maxNumBatchedTokens'?: number; }; 'enableChunkedPrefill'?: boolean; 'enablePrefixCaching'?: boolean; 'enforceEager'?: boolean; 'enableAsyncScheduling'?: boolean; 'gpuMemoryUtilization'?: number; 'trustRemoteCode'?: boolean; 'dataType'?: 'auto' | 'float16' | 'bfloat16'; 'kvCacheDataType'?: 'fp8' | 'fp8_e5m2' | 'fp8_e4m3'; 'quantization'?: 'fp8' | 'awq' | 'gptq' | 'int4'; }; }; }; }; /** The unique identifier of the AI model. */ 'id': string; /** ID of the project that the AI model belongs to Example: "default-project" */ 'projectId': string; /** The entity ID (team) this deployment belongs to. */ 'entityId': string; 'entityType': 'user' | 'team' | 'org'; /** The user who created this deployment. */ 'creatorId': string; /** DNS configuration for the AI model. */ 'dns': { 'base': string; 'zone': string; }; /** An array of ports for the AI model. */ 'ports': { /** The id used to identify the port across requests. */ 'id': string; /** The name of the port used in the public url and UI. */ 'name': string; /** The port number. */ 'internalPort': number; /** The protocol used by the port. */ 'protocol': string; /** If true, the port is exposed publicly. */ 'public': boolean; /** DNS entry for this port. */ 'dns'?: string; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; }[]; /** The current status of the AI model. */ 'status': 'pending' | 'provisioning' | 'starting' | 'crashed' | 'paused' | 'running' | 'deleting'; /** Details of the latest deployment configuration. */ 'deploymentConfiguration'?: { /** The deployment configuration identifier. */ 'id': string; /** time of creation */ 'createdAt'?: string; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListLlmmodeldeploymentsCall = ((opts: ListLlmmodeldeploymentsRequest) => Promise>) & { all: (opts: ListLlmmodeldeploymentsRequest) => Promise>; }; type ListLlmmodeldeploymentsRequest = { parameters: ListLlmmodeldeploymentsParameters; options?: ListLlmmodeldeploymentsOptions; }; type ListLlmmodeldeploymentsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListLlmmodeldeploymentsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists all AI models for a project */ declare class ListLlmmodeldeploymentsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListLlmmodeldeploymentsRequest) => string; body: () => undefined; } type CreateLlmmodeldeploymentResult = any; type CreateLlmmodeldeploymentCall = (opts: CreateLlmmodeldeploymentRequest) => Promise>; type CreateLlmmodeldeploymentRequest = { parameters: CreateLlmmodeldeploymentParameters; data: CreateLlmmodeldeploymentData; }; type CreateLlmmodeldeploymentParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateLlmmodeldeploymentData = { /** The name of the AI model. Example: "deepseek-v3-deployment" */ 'name': string; /** A description of the AI model. Example: "A deployment for DeepSeek V3 model" */ 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'ports'?: { /** The name used to identify the port. */ 'name': string; /** The port number. */ 'internalPort': number; /** If true, the port will be exposed publicly. */ 'public'?: boolean; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; /** The protocol to use for the port. */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; 'spec': { /** Type of model spec - custom for user-defined configuration */ 'type': 'custom'; /** LLM model configuration including engine, architecture, and compute settings */ 'configuration': { 'name'?: string; 'engine'?: 'vllm'; 'revision'?: string; 'nodeConfiguration'?: { 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; 'storage'?: { 'accessMode'?: 'ReadWriteMany'; /** The type of the storage. Example: "nvme" */ 'storageClass'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; 'shmSize'?: number | null; }; }; 'architecture'?: { 'type'?: 'aggregated'; 'workerConfig'?: { 'replicas'?: number; 'parallelismConfig'?: { 'tensorParallelism'?: number; 'pipelineParallelism'?: number; 'expertParallelism'?: number; }; 'sequenceLengthConfig'?: { 'maxModelLength'?: number | 'auto'; 'maxInputLength'?: number; 'maxOutputLength'?: number; }; 'batchingConfig'?: { 'maxNumSeqs'?: number; 'maxNumBatchedTokens'?: number; }; 'enableChunkedPrefill'?: boolean; 'enablePrefixCaching'?: boolean; 'enforceEager'?: boolean; 'enableAsyncScheduling'?: boolean; 'gpuMemoryUtilization'?: number; 'trustRemoteCode'?: boolean; 'dataType'?: 'auto' | 'float16' | 'bfloat16'; 'kvCacheDataType'?: 'fp8' | 'fp8_e5m2' | 'fp8_e4m3'; 'quantization'?: 'fp8' | 'awq' | 'gptq' | 'int4'; }; }; }; }; }; /** Create an AI model */ declare class CreateLlmmodeldeploymentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateLlmmodeldeploymentRequest) => string; body: (payload: CreateLlmmodeldeploymentRequest) => string; } type GetLlmmodeldeploymentResult = { /** The name of the AI model. Example: "deepseek-v3-deployment" */ 'name': string; /** A description of the AI model. Example: "A deployment for DeepSeek V3 model" */ 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'spec': { /** Type of model spec - custom for user-defined configuration */ 'type': 'custom'; /** LLM model configuration including engine, architecture, and compute settings */ 'configuration': { 'name'?: string; 'engine'?: 'vllm'; 'revision'?: string; 'nodeConfiguration'?: { 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; 'storage'?: { 'accessMode'?: 'ReadWriteMany'; /** The type of the storage. Example: "nvme" */ 'storageClass'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; 'shmSize'?: number | null; }; }; 'architecture'?: { 'type'?: 'aggregated'; 'workerConfig'?: { 'replicas'?: number; 'parallelismConfig'?: { 'tensorParallelism'?: number; 'pipelineParallelism'?: number; 'expertParallelism'?: number; }; 'sequenceLengthConfig'?: { 'maxModelLength'?: number | 'auto'; 'maxInputLength'?: number; 'maxOutputLength'?: number; }; 'batchingConfig'?: { 'maxNumSeqs'?: number; 'maxNumBatchedTokens'?: number; }; 'enableChunkedPrefill'?: boolean; 'enablePrefixCaching'?: boolean; 'enforceEager'?: boolean; 'enableAsyncScheduling'?: boolean; 'gpuMemoryUtilization'?: number; 'trustRemoteCode'?: boolean; 'dataType'?: 'auto' | 'float16' | 'bfloat16'; 'kvCacheDataType'?: 'fp8' | 'fp8_e5m2' | 'fp8_e4m3'; 'quantization'?: 'fp8' | 'awq' | 'gptq' | 'int4'; }; }; }; }; /** The unique identifier of the AI model. */ 'id': string; /** ID of the project that the AI model belongs to Example: "default-project" */ 'projectId': string; /** The entity ID (team) this deployment belongs to. */ 'entityId': string; 'entityType': 'user' | 'team' | 'org'; /** The user who created this deployment. */ 'creatorId': string; /** DNS configuration for the AI model. */ 'dns': { 'base': string; 'zone': string; }; /** An array of ports for the AI model. */ 'ports': { /** The id used to identify the port across requests. */ 'id': string; /** The name of the port used in the public url and UI. */ 'name': string; /** The port number. */ 'internalPort': number; /** The protocol used by the port. */ 'protocol': string; /** If true, the port is exposed publicly. */ 'public': boolean; /** DNS entry for this port. */ 'dns'?: string; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; }[]; /** The current status of the AI model. */ 'status': 'pending' | 'provisioning' | 'starting' | 'crashed' | 'paused' | 'running' | 'deleting'; /** Details of the latest deployment configuration. */ 'deploymentConfiguration'?: { /** The deployment configuration identifier. */ 'id': string; /** time of creation */ 'createdAt'?: string; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetLlmmodeldeploymentCall = (opts: GetLlmmodeldeploymentRequest) => Promise>; type GetLlmmodeldeploymentRequest = { parameters: GetLlmmodeldeploymentParameters; }; type GetLlmmodeldeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the AI model */ 'llmModelDeploymentId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the AI model */ 'llmModelDeploymentId': string; }; /** Gets details about an AI model */ declare class GetLlmmodeldeploymentEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetLlmmodeldeploymentRequest) => string; body: () => undefined; } type UpdateLlmmodeldeploymentResult = any; type UpdateLlmmodeldeploymentCall = (opts: UpdateLlmmodeldeploymentRequest) => Promise>; type UpdateLlmmodeldeploymentRequest = { parameters: UpdateLlmmodeldeploymentParameters; data: UpdateLlmmodeldeploymentData; }; type UpdateLlmmodeldeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the AI model */ 'llmModelDeploymentId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the AI model */ 'llmModelDeploymentId': string; }; type UpdateLlmmodeldeploymentData = { /** The name of the AI model. Example: "deepseek-v3-deployment" */ 'name'?: string; /** A description of the AI model. Example: "A deployment for DeepSeek V3 model" */ 'description'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'ports'?: { /** The name used to identify the port. */ 'name': string; /** The port number. */ 'internalPort': number; /** If true, the port will be exposed publicly. */ 'public'?: boolean; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; /** The protocol to use for the port. */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; 'spec'?: { 'configuration'?: { 'name'?: string; 'engine'?: 'vllm'; 'revision'?: string; 'nodeConfiguration'?: { 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; 'storage'?: { 'accessMode'?: 'ReadWriteMany'; /** The type of the storage. Example: "nvme" */ 'storageClass'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize'?: number; 'shmSize'?: number | null; }; }; 'architecture'?: { 'type'?: 'aggregated'; 'workerConfig'?: { 'replicas'?: number; 'parallelismConfig'?: { 'tensorParallelism'?: number; 'pipelineParallelism'?: number; 'expertParallelism'?: number; }; 'sequenceLengthConfig'?: { 'maxModelLength'?: number | 'auto'; 'maxInputLength'?: number; 'maxOutputLength'?: number; }; 'batchingConfig'?: { 'maxNumSeqs'?: number; 'maxNumBatchedTokens'?: number; }; 'enableChunkedPrefill'?: boolean; 'enablePrefixCaching'?: boolean; 'enforceEager'?: boolean; 'enableAsyncScheduling'?: boolean; 'gpuMemoryUtilization'?: number; 'trustRemoteCode'?: boolean; 'dataType'?: 'auto' | 'float16' | 'bfloat16'; 'kvCacheDataType'?: 'fp8' | 'fp8_e5m2' | 'fp8_e4m3'; 'quantization'?: 'fp8' | 'awq' | 'gptq' | 'int4'; }; }; }; }; }; /** Updates an AI model */ declare class UpdateLlmmodeldeploymentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateLlmmodeldeploymentRequest) => string; body: (payload: UpdateLlmmodeldeploymentRequest) => string; } type DeleteLlmmodeldeploymentResult = any; type DeleteLlmmodeldeploymentCall = (opts: DeleteLlmmodeldeploymentRequest) => Promise>; type DeleteLlmmodeldeploymentRequest = { parameters: DeleteLlmmodeldeploymentParameters; }; type DeleteLlmmodeldeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the AI model */ 'llmModelDeploymentId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the AI model */ 'llmModelDeploymentId': string; }; /** Delete an AI model */ declare class DeleteLlmmodeldeploymentEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteLlmmodeldeploymentRequest) => string; body: () => undefined; } type ListPipelinesResult = { /** An array of pipelines in this project. */ 'pipelines': { /** The name of the pipeline. */ 'name': string; /** A description of the pipeline. */ 'description'?: string; /** Identifier for the pipeline Example: "example-pipeline" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListPipelinesCall = ((opts: ListPipelinesRequest) => Promise>) & { all: (opts: ListPipelinesRequest) => Promise>; }; type ListPipelinesRequest = { parameters: ListPipelinesParameters; options?: ListPipelinesOptions; }; type ListPipelinesParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListPipelinesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists all pipelines for a project */ declare class ListPipelinesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListPipelinesRequest) => string; body: () => undefined; } type GetPipelineResult = { /** The name of the pipeline. */ 'name': string; /** A description of the pipeline. */ 'description'?: string; 'preview'?: any; 'stages'?: any[]; /** A list of services, jobs and addons to include in the pipeline. */ 'nfObjects'?: { /** The ID of the service, job or addon to include in the pipeline. */ 'id': string; /** The type of the resource to include in the pipeline. Example: "service" */ 'type': 'service' | 'job' | 'addon'; /** The stage in the pipeline to include the resource. Example: "Production" */ 'stage': 'Development' | 'Staging' | 'Production'; }[]; }; type GetPipelineCall = (opts: GetPipelineRequest) => Promise>; type GetPipelineRequest = { parameters: GetPipelineParameters; }; type GetPipelineParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; }; /** Get details about a pipeline */ declare class GetPipelineEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetPipelineRequest) => string; body: () => undefined; } type GetPreviewtemplateResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; /** Type of trigger */ 'type'?: 'git'; /** Should the git trigger only be triggered manually? */ 'manualOnly'?: boolean; }[]; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; /** Identifier for the template Example: "example-template" */ 'id': string; /** Whether triggers are paused for this preview template. If `true`, Git triggers and webhook triggers will not create or update previews. */ 'paused'?: boolean; 'options': any; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetPreviewtemplateCall = ((opts: GetPreviewtemplateRequest) => Promise>) & { all: (opts: GetPreviewtemplateRequest) => Promise>; }; type GetPreviewtemplateRequest = { parameters: GetPreviewtemplateParameters; options?: GetPreviewtemplateOptions; }; type GetPreviewtemplateParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; }; type GetPreviewtemplateOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get information about the given preview template. */ declare class GetPreviewtemplateEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetPreviewtemplateRequest) => string; body: () => undefined; } type UpdatePreviewtemplateResult = any; type UpdatePreviewtemplateCall = (opts: UpdatePreviewtemplateRequest) => Promise>; type UpdatePreviewtemplateRequest = { parameters: UpdatePreviewtemplateParameters; data: UpdatePreviewtemplateData; }; type UpdatePreviewtemplateParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; }; type UpdatePreviewtemplateData = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The format of the automatically generated preview name. This is a parsed ref string. */ 'nameFormat'?: string; /** If true, the preview name will default to the front of the resource name. */ 'prefixName'?: boolean; /** If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch. */ 'useBranchContents'?: boolean; /** Options regarding which hours preview environments should be active. Only available for BYOC projects. */ 'schedule'?: { 'mon'?: { 'startTime'?: number; 'endTime'?: number; }; 'tue'?: { 'startTime'?: number; 'endTime'?: number; }; 'wed'?: { 'startTime'?: number; 'endTime'?: number; }; 'thu'?: { 'startTime'?: number; 'endTime'?: number; }; 'fri'?: { 'startTime'?: number; 'endTime'?: number; }; 'sat'?: { 'startTime'?: number; 'endTime'?: number; }; 'sun'?: { 'startTime'?: number; 'endTime'?: number; }; }; /** Settings regarding the automatic deletion of previews. */ 'expiry'?: { /** If set, preview environments will be automatically deleted after this many minutes since their last update. */ 'previewLifetime'?: number; /** If `true`, the expiry time for an existing preview will be reset when it is ran again. */ 'resetOnUpdate'?: boolean; }; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; /** Whether triggers are paused for this preview template. If `true`, Git triggers and webhook triggers will not create or update previews. */ 'paused'?: boolean; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; /** Type of trigger */ 'type'?: 'git'; /** Should the git trigger only be triggered manually? */ 'manualOnly'?: boolean; }[]; 'webhook'?: { /** Whether this template can be ran using a webhook endpoint trigger. Example: true */ 'enabled'?: boolean; /** If true, the webhook endpoint will be regenerated if one already exists. */ 'regenerate'?: boolean; }; }; /** Update a given preview template. */ declare class UpdatePreviewtemplateEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdatePreviewtemplateRequest) => string; body: (payload: UpdatePreviewtemplateRequest) => string; } type ListPipelinetemplatepreviewsResult = { /** A list of currently available preview environments for the template. */ 'previewEnvironments': { /** Identifier for the preview template environment Example: "clean-step" */ 'id': string; /** Data about the version control action that triggered environment creation */ 'vcsData': { 'repoUrl': string; }; /** Whether the preview environment has been paused. */ 'paused'?: boolean; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListPipelinetemplatepreviewsCall = ((opts: ListPipelinetemplatepreviewsRequest) => Promise>) & { all: (opts: ListPipelinetemplatepreviewsRequest) => Promise>; }; type ListPipelinetemplatepreviewsRequest = { parameters: ListPipelinetemplatepreviewsParameters; options?: ListPipelinetemplatepreviewsOptions; }; type ListPipelinetemplatepreviewsParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; }; type ListPipelinetemplatepreviewsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get a list of active preview environments for a template */ declare class ListPipelinetemplatepreviewsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListPipelinetemplatepreviewsRequest) => string; body: () => undefined; } type DeletePipelinetemplatepreviewResult = any; type DeletePipelinetemplatepreviewCall = (opts: DeletePipelinetemplatepreviewRequest) => Promise>; type DeletePipelinetemplatepreviewRequest = { parameters: DeletePipelinetemplatepreviewParameters; options?: DeletePipelinetemplatepreviewOptions; data: DeletePipelinetemplatepreviewData; }; type DeletePipelinetemplatepreviewParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** ID of the preview environment */ 'previewId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** ID of the preview environment */ 'previewId': string; }; type DeletePipelinetemplatepreviewOptions = { /** If `true`, the teardown spec will not be run when deleting the preview environment. */ 'skipTeardown'?: boolean; }; type DeletePipelinetemplatepreviewData = { /** Argument overrides to pass to the teardown spec when deleting the preview environment. */ 'teardownArgumentOverrides'?: any; }; /** Delete a preview environment generated by a preview template. */ declare class DeletePipelinetemplatepreviewEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeletePipelinetemplatepreviewRequest) => string; body: (payload: DeletePipelinetemplatepreviewRequest) => string; } type RunPreviewtemplateResult = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; '$schema'?: string; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Identifier for the template Example: "example-template" */ 'id': string; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; /** The SHA of the current commit that is being used for the template. Example: "8c7e040ee3737ddc3a713363ae72bbe960e9fb16" */ 'templateSha': string; }; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; 'options': { /** Whether autorun is enabled */ 'autorun': boolean; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type RunPreviewtemplateCall = (opts: RunPreviewtemplateRequest) => Promise>; type RunPreviewtemplateRequest = { parameters: RunPreviewtemplateParameters; data: RunPreviewtemplateData; }; type RunPreviewtemplateParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; }; type RunPreviewtemplateData = { 'name'?: string; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: any; }; /** Run the given preview template. */ declare class RunPreviewtemplateEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RunPreviewtemplateRequest) => string; body: (payload: RunPreviewtemplateRequest) => string; } type ListPreviewtemplaterunsResult = { /** An array of template run objects. */ 'previewTemplateRuns': { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The format of the automatically generated preview name. This is a parsed ref string. */ 'nameFormat'?: string; /** If true, the preview name will default to the front of the resource name. */ 'prefixName'?: boolean; /** If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch. */ 'useBranchContents'?: boolean; /** Options regarding which hours preview environments should be active. Only available for BYOC projects. */ 'schedule'?: { 'mon'?: { 'startTime'?: number; 'endTime'?: number; }; 'tue'?: { 'startTime'?: number; 'endTime'?: number; }; 'wed'?: { 'startTime'?: number; 'endTime'?: number; }; 'thu'?: { 'startTime'?: number; 'endTime'?: number; }; 'fri'?: { 'startTime'?: number; 'endTime'?: number; }; 'sat'?: { 'startTime'?: number; 'endTime'?: number; }; 'sun'?: { 'startTime'?: number; 'endTime'?: number; }; }; /** Settings regarding the automatic deletion of previews. */ 'expiry'?: { /** If set, preview environments will be automatically deleted after this many minutes since their last update. */ 'previewLifetime'?: number; /** If `true`, the expiry time for an existing preview will be reset when it is ran again. */ 'resetOnUpdate'?: boolean; }; }; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "pending" */ 'status': 'pending' | 'running' | 'success' | 'failure'; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListPreviewtemplaterunsCall = ((opts: ListPreviewtemplaterunsRequest) => Promise>) & { all: (opts: ListPreviewtemplaterunsRequest) => Promise>; }; type ListPreviewtemplaterunsRequest = { parameters: ListPreviewtemplaterunsParameters; options?: ListPreviewtemplaterunsOptions; }; type ListPreviewtemplaterunsParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; }; type ListPreviewtemplaterunsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter by template status. */ 'status'?: string; /** Filter by whether the template is concluded. */ 'concluded'?: boolean; }; /** Get a list of preview template runs */ declare class ListPreviewtemplaterunsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListPreviewtemplaterunsRequest) => string; body: () => undefined; } type GetPreviewtemplaterunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The format of the automatically generated preview name. This is a parsed ref string. */ 'nameFormat'?: string; /** If true, the preview name will default to the front of the resource name. */ 'prefixName'?: boolean; /** If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch. */ 'useBranchContents'?: boolean; /** Options regarding which hours preview environments should be active. Only available for BYOC projects. */ 'schedule'?: { 'mon'?: { 'startTime'?: number; 'endTime'?: number; }; 'tue'?: { 'startTime'?: number; 'endTime'?: number; }; 'wed'?: { 'startTime'?: number; 'endTime'?: number; }; 'thu'?: { 'startTime'?: number; 'endTime'?: number; }; 'fri'?: { 'startTime'?: number; 'endTime'?: number; }; 'sat'?: { 'startTime'?: number; 'endTime'?: number; }; 'sun'?: { 'startTime'?: number; 'endTime'?: number; }; }; /** Settings regarding the automatic deletion of previews. */ 'expiry'?: { /** If set, preview environments will be automatically deleted after this many minutes since their last update. */ 'previewLifetime'?: number; /** If `true`, the expiry time for an existing preview will be reset when it is ran again. */ 'resetOnUpdate'?: boolean; }; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; /** Type of trigger */ 'type'?: 'git'; /** Should the git trigger only be triggered manually? */ 'manualOnly'?: boolean; }[]; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "pending" */ 'status': 'pending' | 'running' | 'success' | 'failure'; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetPreviewtemplaterunCall = (opts: GetPreviewtemplaterunRequest) => Promise>; type GetPreviewtemplaterunRequest = { parameters: GetPreviewtemplaterunParameters; }; type GetPreviewtemplaterunParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** ID of the template run */ 'templateRunId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** ID of the template run */ 'templateRunId': string; }; /** Get information about the given preview template run. */ declare class GetPreviewtemplaterunEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetPreviewtemplaterunRequest) => string; body: () => undefined; } type GetReleaseflowResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; /** An array of rich UI override inputs for the Release Flow template. */ 'richInputs'?: any[]; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The stage of the pipeline this release flow belongs to. Example: "Development" */ 'stage'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether triggers are paused for this release flow. If `true`, Git triggers and webhook triggers will not run the release flow. */ 'paused': boolean; /** Timestamp the template was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the template was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetReleaseflowCall = (opts: GetReleaseflowRequest) => Promise>; type GetReleaseflowRequest = { parameters: GetReleaseflowParameters; }; type GetReleaseflowParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; }; /** Gets details about a release flow */ declare class GetReleaseflowEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetReleaseflowRequest) => string; body: () => undefined; } type UpdateReleaseflowResult = any; type UpdateReleaseflowCall = (opts: UpdateReleaseflowRequest) => Promise>; type UpdateReleaseflowRequest = { parameters: UpdateReleaseflowParameters; data: UpdateReleaseflowData; }; type UpdateReleaseflowParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; }; type UpdateReleaseflowData = { /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; /** An array of rich UI override inputs for the Release Flow template. */ 'richInputs'?: any[]; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; 'apiVersion': string; 'project'?: any; 'spec': any; }; /** Updates a release flow */ declare class UpdateReleaseflowEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateReleaseflowRequest) => string; body: (payload: UpdateReleaseflowRequest) => string; } type RunReleaseflowResult = any; type RunReleaseflowCall = (opts: RunReleaseflowRequest) => Promise>; type RunReleaseflowRequest = { parameters: RunReleaseflowParameters; data: RunReleaseflowData; }; type RunReleaseflowParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; }; type RunReleaseflowData = { /** The optional name of the release-flow run. Example: "Example Run" */ 'name'?: string; /** The optional description of the release-flow run. Example: "This is a description for the release-flow run." */ 'description'?: string; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. Example: {"ARG_1":"value"} */ 'arguments'?: any; /** Overrides for specific reference values. This should be an object where each key corresponds to a ref defined in the template. The values of each of these keys should also be an object, where each key value pair provided will overwrite the value for that key in the given ref. For example, the value `{ 'example-ref': { 'branch': 'devel' } }` would set the `branch` field to `devel` for the node with ref `example-ref`. Example: {"example-ref":{"branch":"devel"}} */ 'overrides'?: any; /** Overrides for release nodes. This should be an object where each key is the id of a deployment service used in a release node. The value of each of these keys should be also be an object containing the new spec of the release for that deployment service. Example: {"example-service":{"type":"registry","origin":{"imagePath":"nginx:latest"}}} */ 'releaseNodeOverrides'?: any; }; /** Runs a given release flow with given arguments. This endpoint can be used as part of a CI pipeline to automatically trigger a release process. */ declare class RunReleaseflowEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RunReleaseflowRequest) => string; body: (payload: RunReleaseflowRequest) => string; } type ListReleaseflowrunsResult = { /** A release flow run */ 'runs'?: { /** ID of the release flow run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the release flow run Example: "Example run" */ 'name'?: string; /** Optional description for the release flow run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }[]; }; type ListReleaseflowrunsCall = ((opts: ListReleaseflowrunsRequest) => Promise>) & { all: (opts: ListReleaseflowrunsRequest) => Promise>; }; type ListReleaseflowrunsRequest = { parameters: ListReleaseflowrunsParameters; options?: ListReleaseflowrunsOptions; }; type ListReleaseflowrunsParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; }; type ListReleaseflowrunsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter by template status. */ 'status'?: string; /** Filter by whether the template is concluded. */ 'concluded'?: boolean; }; /** Lists runs of a release flow */ declare class ListReleaseflowrunsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListReleaseflowrunsRequest) => string; body: () => undefined; } type GetReleaseflowrunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** ID of the release flow run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the release flow run Example: "Example run" */ 'name'?: string; /** Optional description for the release flow run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetReleaseflowrunCall = (opts: GetReleaseflowrunRequest) => Promise>; type GetReleaseflowrunRequest = { parameters: GetReleaseflowrunParameters; }; type GetReleaseflowrunParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; /** ID of the release flow run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; /** ID of the release flow run */ 'runId': string; }; /** Get information about the given release flow run */ declare class GetReleaseflowrunEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetReleaseflowrunRequest) => string; body: () => undefined; } type AbortReleaseflowrunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** ID of the release flow run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the release flow run Example: "Example run" */ 'name'?: string; /** Optional description for the release flow run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type AbortReleaseflowrunCall = (opts: AbortReleaseflowrunRequest) => Promise>; type AbortReleaseflowrunRequest = { parameters: AbortReleaseflowrunParameters; }; type AbortReleaseflowrunParameters = { /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; /** ID of the release flow run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the pipeline */ 'pipelineId': string; /** Stage of the pipeline */ 'stage': string; /** ID of the release flow run */ 'runId': string; }; /** Abort the given release flow run */ declare class AbortReleaseflowrunEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortReleaseflowrunRequest) => string; body: () => undefined; } type ListPreviewblueprintsResult = { /** An array of preview blueprints in this project. */ 'pipelines': { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Identifier for the preview blueprint Example: "example-workflow" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListPreviewblueprintsCall = ((opts: ListPreviewblueprintsRequest) => Promise>) & { all: (opts: ListPreviewblueprintsRequest) => Promise>; }; type ListPreviewblueprintsRequest = { parameters: ListPreviewblueprintsParameters; options?: ListPreviewblueprintsOptions; }; type ListPreviewblueprintsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListPreviewblueprintsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists all preview blueprints for a project */ declare class ListPreviewblueprintsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListPreviewblueprintsRequest) => string; body: () => undefined; } type CreatePreviewblueprintResult = any; type CreatePreviewblueprintCall = (opts: CreatePreviewblueprintRequest) => Promise>; type CreatePreviewblueprintRequest = { parameters: CreatePreviewblueprintParameters; data: CreatePreviewblueprintData; }; type CreatePreviewblueprintParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; type CreatePreviewblueprintData = { /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'name': string; 'description'?: string; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The format of the automatically generated preview name. This is a parsed ref string. */ 'nameFormat'?: string; /** If true, the preview name will default to the front of the resource name. */ 'prefixName'?: boolean; /** If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch. */ 'useBranchContents'?: boolean; /** Options regarding which hours preview environments should be active. Only available for BYOC projects. */ 'schedule'?: { 'mon'?: { 'startTime'?: number; 'endTime'?: number; }; 'tue'?: { 'startTime'?: number; 'endTime'?: number; }; 'wed'?: { 'startTime'?: number; 'endTime'?: number; }; 'thu'?: { 'startTime'?: number; 'endTime'?: number; }; 'fri'?: { 'startTime'?: number; 'endTime'?: number; }; 'sat'?: { 'startTime'?: number; 'endTime'?: number; }; 'sun'?: { 'startTime'?: number; 'endTime'?: number; }; }; /** Settings regarding the automatic deletion of previews. */ 'expiry'?: { /** If set, preview environments will be automatically deleted after this many minutes since their last update. */ 'previewLifetime'?: number; /** If `true`, the expiry time for an existing preview will be reset when it is ran again. */ 'resetOnUpdate'?: boolean; }; /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'argumentOverrides'?: any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { /** The root node of the teardown workflow. */ 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; 'triggers'?: any[]; 'apiVersion': string; 'project'?: any; 'spec': any; }; /** Create a preview blueprint */ declare class CreatePreviewblueprintEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreatePreviewblueprintRequest) => string; body: (payload: CreatePreviewblueprintRequest) => string; } type GetPreviewblueprintResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'name': string; 'description'?: string; 'spec'?: any; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The format of the automatically generated preview name. This is a parsed ref string. */ 'nameFormat'?: string; /** If true, the preview name will default to the front of the resource name. */ 'prefixName'?: boolean; /** If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch. */ 'useBranchContents'?: boolean; /** Options regarding which hours preview environments should be active. Only available for BYOC projects. */ 'schedule'?: { 'mon'?: { 'startTime'?: number; 'endTime'?: number; }; 'tue'?: { 'startTime'?: number; 'endTime'?: number; }; 'wed'?: { 'startTime'?: number; 'endTime'?: number; }; 'thu'?: { 'startTime'?: number; 'endTime'?: number; }; 'fri'?: { 'startTime'?: number; 'endTime'?: number; }; 'sat'?: { 'startTime'?: number; 'endTime'?: number; }; 'sun'?: { 'startTime'?: number; 'endTime'?: number; }; }; /** Settings regarding the automatic deletion of previews. */ 'expiry'?: { /** If set, preview environments will be automatically deleted after this many minutes since their last update. */ 'previewLifetime'?: number; /** If `true`, the expiry time for an existing preview will be reset when it is ran again. */ 'resetOnUpdate'?: boolean; }; /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'argumentOverrides'?: any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { /** The root node of the teardown workflow. */ 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; 'triggers'?: any[]; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether triggers are paused for this preview blueprint. If `true`, Git triggers and webhook triggers will not run the preview blueprint. */ 'paused': boolean; /** Timestamp the template was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the template was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetPreviewblueprintCall = (opts: GetPreviewblueprintRequest) => Promise>; type GetPreviewblueprintRequest = { parameters: GetPreviewblueprintParameters; }; type GetPreviewblueprintParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; /** Gets details about a preview blueprint */ declare class GetPreviewblueprintEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetPreviewblueprintRequest) => string; body: () => undefined; } type UpdatePreviewblueprintResult = any; type UpdatePreviewblueprintCall = (opts: UpdatePreviewblueprintRequest) => Promise>; type UpdatePreviewblueprintRequest = { parameters: UpdatePreviewblueprintParameters; data: UpdatePreviewblueprintData; }; type UpdatePreviewblueprintParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; type UpdatePreviewblueprintData = { /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'name': string; 'description'?: string; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** The format of the automatically generated preview name. This is a parsed ref string. */ 'nameFormat'?: string; /** If true, the preview name will default to the front of the resource name. */ 'prefixName'?: boolean; /** If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch. */ 'useBranchContents'?: boolean; /** Options regarding which hours preview environments should be active. Only available for BYOC projects. */ 'schedule'?: { 'mon'?: { 'startTime'?: number; 'endTime'?: number; }; 'tue'?: { 'startTime'?: number; 'endTime'?: number; }; 'wed'?: { 'startTime'?: number; 'endTime'?: number; }; 'thu'?: { 'startTime'?: number; 'endTime'?: number; }; 'fri'?: { 'startTime'?: number; 'endTime'?: number; }; 'sat'?: { 'startTime'?: number; 'endTime'?: number; }; 'sun'?: { 'startTime'?: number; 'endTime'?: number; }; }; /** Settings regarding the automatic deletion of previews. */ 'expiry'?: { /** If set, preview environments will be automatically deleted after this many minutes since their last update. */ 'previewLifetime'?: number; /** If `true`, the expiry time for an existing preview will be reset when it is ran again. */ 'resetOnUpdate'?: boolean; }; /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'argumentOverrides'?: any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { /** The root node of the teardown workflow. */ 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; 'triggers'?: any[]; 'apiVersion': string; 'project'?: any; 'spec': any; }; /** Updates a preview blueprint */ declare class UpdatePreviewblueprintEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdatePreviewblueprintRequest) => string; body: (payload: UpdatePreviewblueprintRequest) => string; } type DeletePreviewblueprintResult = any; type DeletePreviewblueprintCall = (opts: DeletePreviewblueprintRequest) => Promise>; type DeletePreviewblueprintRequest = { parameters: DeletePreviewblueprintParameters; }; type DeletePreviewblueprintParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; /** Delete a preview blueprint */ declare class DeletePreviewblueprintEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeletePreviewblueprintRequest) => string; body: () => undefined; } type ListBlueprinttemplatepreviewsResult = { /** A list of currently available preview environments for the template. */ 'previewEnvironments': { /** Identifier for the preview template environment Example: "clean-step" */ 'id': string; /** Data about the version control action that triggered environment creation */ 'vcsData': { 'repoUrl': string; }; /** Whether the preview environment has been paused. */ 'paused'?: boolean; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListBlueprinttemplatepreviewsCall = ((opts: ListBlueprinttemplatepreviewsRequest) => Promise>) & { all: (opts: ListBlueprinttemplatepreviewsRequest) => Promise>; }; type ListBlueprinttemplatepreviewsRequest = { parameters: ListBlueprinttemplatepreviewsParameters; options?: ListBlueprinttemplatepreviewsOptions; }; type ListBlueprinttemplatepreviewsParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; type ListBlueprinttemplatepreviewsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get a list of active previews for a preview blueprint. */ declare class ListBlueprinttemplatepreviewsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListBlueprinttemplatepreviewsRequest) => string; body: () => undefined; } type DeleteBlueprinttemplatepreviewResult = any; type DeleteBlueprinttemplatepreviewCall = (opts: DeleteBlueprinttemplatepreviewRequest) => Promise>; type DeleteBlueprinttemplatepreviewRequest = { parameters: DeleteBlueprinttemplatepreviewParameters; options?: DeleteBlueprinttemplatepreviewOptions; data: DeleteBlueprinttemplatepreviewData; }; type DeleteBlueprinttemplatepreviewParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; }; type DeleteBlueprinttemplatepreviewOptions = { /** If `true`, the teardown spec will not be run when deleting the preview environment. */ 'skipTeardown'?: boolean; }; type DeleteBlueprinttemplatepreviewData = { /** Argument overrides to pass to the teardown spec when deleting the preview environment. */ 'teardownArgumentOverrides'?: any; }; /** Delete a preview environment generated by a preview blueprint. */ declare class DeleteBlueprinttemplatepreviewEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteBlueprinttemplatepreviewRequest) => string; body: (payload: DeleteBlueprinttemplatepreviewRequest) => string; } type PauseBlueprinttemplatepreviewResult = any; type PauseBlueprinttemplatepreviewCall = (opts: PauseBlueprinttemplatepreviewRequest) => Promise>; type PauseBlueprinttemplatepreviewRequest = { parameters: PauseBlueprinttemplatepreviewParameters; }; type PauseBlueprinttemplatepreviewParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; }; /** Pause a preview environment generated by a preview blueprint. */ declare class PauseBlueprinttemplatepreviewEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PauseBlueprinttemplatepreviewRequest) => string; body: () => undefined; } type ResetBlueprinttemplatepreviewResult = { /** The time the preview will expire. */ 'expiryTime': string; }; type ResetBlueprinttemplatepreviewCall = (opts: ResetBlueprinttemplatepreviewRequest) => Promise>; type ResetBlueprinttemplatepreviewRequest = { parameters: ResetBlueprinttemplatepreviewParameters; data: ResetBlueprinttemplatepreviewData; }; type ResetBlueprinttemplatepreviewParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; }; type ResetBlueprinttemplatepreviewData = { /** If provided, the preview environment will expire after this amount of time, in minutes. */ 'lifetime'?: number; }; /** Reset the expiry of a preview environment generated by a preview blueprint. */ declare class ResetBlueprinttemplatepreviewEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResetBlueprinttemplatepreviewRequest) => string; body: (payload: ResetBlueprinttemplatepreviewRequest) => string; } type ResumeBlueprinttemplatepreviewResult = any; type ResumeBlueprinttemplatepreviewCall = (opts: ResumeBlueprinttemplatepreviewRequest) => Promise>; type ResumeBlueprinttemplatepreviewRequest = { parameters: ResumeBlueprinttemplatepreviewParameters; }; type ResumeBlueprinttemplatepreviewParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview */ 'previewId': string; }; /** Resume a preview environment generated by a preview blueprint. */ declare class ResumeBlueprinttemplatepreviewEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResumeBlueprinttemplatepreviewRequest) => string; body: () => undefined; } type RunPreviewblueprintResult = any; type RunPreviewblueprintCall = (opts: RunPreviewblueprintRequest) => Promise>; type RunPreviewblueprintRequest = { parameters: RunPreviewblueprintParameters; data: RunPreviewblueprintData; }; type RunPreviewblueprintParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; type RunPreviewblueprintData = { /** The optional name of the preview blueprint run. Example: "Example Run" */ 'name'?: string; /** The optional description of the preview blueprint run. Example: "This is a description for the preview blueprint run." */ 'description'?: string; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. Example: {"ARG_1":"value"} */ 'arguments'?: any; /** Values passed in as blueprint triggers. This should be an object where each key corresponds to a trigger ref in the template. The values of each of these keys should also be an object, where each key value pair provided will set the value for that key in the given trigger. For example, the value `{ 'example-trigger': { 'branch': 'devel' } }` would set the `branch` field to `devel` for the trigger with ref `example-trigger`. Example: {"example-trigger":{"branch":"devel"}} */ 'triggers'?: any; }; /** Runs a given preview blueprint with given arguments. This endpoint can be used as part of a CI pipeline to automatically create a preview environment. */ declare class RunPreviewblueprintEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RunPreviewblueprintRequest) => string; body: (payload: RunPreviewblueprintRequest) => string; } type ListPreviewblueprintrunsResult = { /** A preview blueprint run */ 'runs'?: { /** ID of the preview blueprint run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the preview blueprint run Example: "Example run" */ 'name'?: string; /** Optional description for the preview blueprint run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }[]; }; type ListPreviewblueprintrunsCall = ((opts: ListPreviewblueprintrunsRequest) => Promise>) & { all: (opts: ListPreviewblueprintrunsRequest) => Promise>; }; type ListPreviewblueprintrunsRequest = { parameters: ListPreviewblueprintrunsParameters; options?: ListPreviewblueprintrunsOptions; }; type ListPreviewblueprintrunsParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; }; type ListPreviewblueprintrunsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter by template status. */ 'status'?: string; /** Filter by whether the template is concluded. */ 'concluded'?: boolean; }; /** Lists runs of a previewBlueprint */ declare class ListPreviewblueprintrunsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListPreviewblueprintrunsRequest) => string; body: () => undefined; } type GetPreviewblueprintrunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** ID of the preview blueprint run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the preview blueprint run Example: "Example run" */ 'name'?: string; /** Optional description for the preview blueprint run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetPreviewblueprintrunCall = (opts: GetPreviewblueprintrunRequest) => Promise>; type GetPreviewblueprintrunRequest = { parameters: GetPreviewblueprintrunParameters; }; type GetPreviewblueprintrunParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview blueprint run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview blueprint run */ 'runId': string; }; /** Get information about the given preview blueprint run */ declare class GetPreviewblueprintrunEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetPreviewblueprintrunRequest) => string; body: () => undefined; } type AbortPreviewblueprintrunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** ID of the preview blueprint run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the preview blueprint run Example: "Example run" */ 'name'?: string; /** Optional description for the preview blueprint run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type AbortPreviewblueprintrunCall = (opts: AbortPreviewblueprintrunRequest) => Promise>; type AbortPreviewblueprintrunRequest = { parameters: AbortPreviewblueprintrunParameters; }; type AbortPreviewblueprintrunParameters = { /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview blueprint run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the preview blueprint */ 'previewBlueprintId': string; /** ID of the preview blueprint run */ 'runId': string; }; /** Abort the given preview blueprint run */ declare class AbortPreviewblueprintrunEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortPreviewblueprintrunRequest) => string; body: () => undefined; } type ListSecretsResult = { /** An array of secret groups */ 'secrets': { /** Identifier for the secret group Example: "example-secret-group" */ 'id': string; /** ID of the project that the secret group belongs to Example: "default-project" */ 'projectId': string; /** Secret group name Example: "Example secret group" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the secret group Example: "This is the secret group description" */ 'description'?: string; /** The permission type of the secret group. Example: "secret" */ 'type': 'secret' | 'config'; /** The type of the secret group Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secret groups will be merged Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions': { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; }[]; }; type ListSecretsCall = ((opts: ListSecretsRequest) => Promise>) & { all: (opts: ListSecretsRequest) => Promise>; }; type ListSecretsRequest = { parameters: ListSecretsParameters; options?: ListSecretsOptions; }; type ListSecretsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListSecretsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of project secrets belonging to the project */ declare class ListSecretsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListSecretsRequest) => string; body: () => undefined; } type CreateSecretResult = { /** The name of the secret. Example: "Example Secret" */ 'name': string; /** A description of the secret. Example: "A description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The hierarchy type of the created secret. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The injection scope of the created secret Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secrets will be merged. Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Identifier for the secret group Example: "example-secret-group" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; } | any; type CreateSecretCall = (opts: CreateSecretRequest) => Promise>; type CreateSecretRequest = { parameters: CreateSecretParameters; data: CreateSecretData; }; type CreateSecretParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateSecretData = { /** The name of the secret. Example: "Example Secret" */ 'name': string; /** A description of the secret. Example: "A description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The hierarchy type of the created secret. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The injection scope of the created secret Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secrets will be merged. Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; }; /** Creates a project secret with the specified payload */ declare class CreateSecretEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateSecretRequest) => string; body: (payload: CreateSecretRequest) => string; } type PutSecretResult = { /** The name of the secret. Example: "Example Secret" */ 'name': string; /** A description of the secret. Example: "A description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The hierarchy type of the created secret. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The injection scope of the created secret Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secrets will be merged. Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Identifier for the secret group Example: "example-secret-group" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PutSecretCall = (opts: PutSecretRequest) => Promise>; type PutSecretRequest = { parameters: PutSecretParameters; data: PutSecretData; }; type PutSecretParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutSecretData = { /** The name of the secret. Example: "Example Secret" */ 'name': string; /** A description of the secret. Example: "A description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The hierarchy type of the created secret. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The injection scope of the created secret Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secrets will be merged. Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; }; /** Creates or updates a project secret with the specified payload */ declare class PutSecretEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutSecretRequest) => string; body: (payload: PutSecretRequest) => string; } type PatchSecretResult = { /** The name of the secret. Example: "Example Secret" */ 'name': string; /** A description of the secret. Example: "A description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The hierarchy type of the created secret. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The injection scope of the created secret Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secrets will be merged. Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Identifier for the secret group Example: "example-secret-group" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PatchSecretCall = (opts: PatchSecretRequest) => Promise>; type PatchSecretRequest = { parameters: PatchSecretParameters; data: PatchSecretData; }; type PatchSecretParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; }; type PatchSecretData = { /** A description of the secret. Example: "A description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** The hierarchy type of the created secret. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The injection scope of the created secret Example: "environment" */ 'secretType'?: 'environment-arguments' | 'environment' | 'arguments'; /** The priority with which different secrets will be merged. Example: 10 */ 'priority'?: number; 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; }; /** Updates a project secret with the specified payload */ declare class PatchSecretEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchSecretRequest) => string; body: (payload: PatchSecretRequest) => string; } type GetSecretResult = { /** Identifier for the secret group Example: "example-secret-group" */ 'id': string; /** Secret group name Example: "Example secret group" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the secret group Example: "This is the secret group description" */ 'description'?: string; /** The permission type of the secret group. Example: "secret" */ 'type': 'secret' | 'config'; /** The type of the created secret group Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** ID of the project that the secret group belongs to Example: "default-project" */ 'projectId': string; /** The priority with which different secret groups will be merged Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions': { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** The timestamp when the secret group was created at Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** The timestamp the secret group was last updated at Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; /** Decrypted secret data. If the `show` parameter is set to `this`, this will only contain secrets saved to this group. If the `show` parameter is set to `inherited`, this will only contain secrets inherited from linked addons. Otherwise, this will contain both. Example: {"variables":{"a_key":"a_secret","b_key":"b_secret"},"files":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}}} */ 'secrets': any; }; type GetSecretCall = (opts: GetSecretRequest) => Promise>; type GetSecretRequest = { parameters: GetSecretParameters; options?: GetSecretOptions; }; type GetSecretParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; }; type GetSecretOptions = { /** Which secrets to display - if set to `this` only the group's secrets are displayed, if set to `inherited` only secrets from linked addons are displayed, if set to `all` or not provided, both are displayed. */ 'show'?: string; }; /** View a project secret including its contents */ declare class GetSecretEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetSecretRequest) => string; body: () => undefined; } type DeleteSecretResult = any; type DeleteSecretCall = (opts: DeleteSecretRequest) => Promise>; type DeleteSecretRequest = { parameters: DeleteSecretParameters; }; type DeleteSecretParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; }; /** Delete a project secret */ declare class DeleteSecretEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteSecretRequest) => string; body: () => undefined; } type UpdateSecretResult = any; type UpdateSecretCall = (opts: UpdateSecretRequest) => Promise>; type UpdateSecretRequest = { parameters: UpdateSecretParameters; data: UpdateSecretData; }; type UpdateSecretParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; }; type UpdateSecretData = { /** A description of the secret. Example: "A description" */ 'description'?: string; /** The priority with which different secrets will be merged. Example: 10 */ 'priority'?: number; /** Restriction settings of the secret */ 'restrictions'?: { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** An array of addons to link to this secret group. If provided, this will overwrite any existing linked addons. */ 'addonDependencies'?: { /** The id of the addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** An array of external addons to link to this secret group. If provided, this will overwrite any existing linked external addons. */ 'externalAddonDependencies'?: { /** The id of the external addon to link. Example: "example-addon" */ 'addonId': string; /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }[]; /** The permission type of the secret group. Example: "secret" */ 'type'?: 'secret' | 'config'; /** The type of the created secret group Example: "environment" */ 'secretType'?: 'environment-arguments' | 'environment' | 'arguments'; 'secrets'?: { /** Secret variables as JSON object, encrypted at rest. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"NODE_ENV":"production","MONGO_DB":"some_connection_string"} */ 'variables'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'files'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; }; /** Update a project secret */ declare class UpdateSecretEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateSecretRequest) => string; body: (payload: UpdateSecretRequest) => string; } type UpdateSecretlinkResult = { /** An array of objects containing details about the keys linked to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; 'defaultKey': string; }[]; }; type UpdateSecretlinkCall = (opts: UpdateSecretlinkRequest) => Promise>; type UpdateSecretlinkRequest = { parameters: UpdateSecretlinkParameters; data: UpdateSecretlinkData; }; type UpdateSecretlinkParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; /** ID of the addon */ 'addonId': string; }; type UpdateSecretlinkData = { /** An array of objects containing details about the keys to link to this secret group. */ 'keys': { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; }[]; }; /** Link an addon to a project secret or edit the settings of the linked addon. */ declare class UpdateSecretlinkEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateSecretlinkRequest) => string; body: (payload: UpdateSecretlinkRequest) => string; } type GetSecretlinkResult = { /** The name of the secret group Example: "Example secret group" */ 'secretName': string; /** Identifier for the secret group Example: "example-secret-group" */ 'secretId': string; /** The name of the linked addon Example: "Example Addon" */ 'addonName': string; /** The ID of the linked addon Example: "example-addon" */ 'addonId': string; /** The addon type of the linked addon Example: "mongodb" */ 'addonType': string; /** Is this addon currently linked to this secret group? Example: true */ 'linked': boolean; /** An array of objects containing details about the keys linked to this secret group. */ 'linkedKeys'?: { /** The name of the key to link. Example: "USERNAME" */ 'keyName': string; /** An array of aliases for the key. */ 'aliases'?: string[]; 'defaultKey': string; }[]; /** A list of available keys for the given addon. */ 'availableKeys': string[]; }; type GetSecretlinkCall = (opts: GetSecretlinkRequest) => Promise>; type GetSecretlinkRequest = { parameters: GetSecretlinkParameters; }; type GetSecretlinkParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; /** ID of the addon */ 'addonId': string; }; /** Get details about a given addon link. */ declare class GetSecretlinkEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetSecretlinkRequest) => string; body: () => undefined; } type DeleteSecretlinkResult = any; type DeleteSecretlinkCall = (opts: DeleteSecretlinkRequest) => Promise>; type DeleteSecretlinkRequest = { parameters: DeleteSecretlinkParameters; }; type DeleteSecretlinkParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; /** ID of the addon */ 'addonId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; /** ID of the addon */ 'addonId': string; }; /** Unlinks an addon from the project secret. */ declare class DeleteSecretlinkEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteSecretlinkRequest) => string; body: () => undefined; } type GetSecretdetailsResult = { /** Identifier for the secret group Example: "example-secret-group" */ 'id': string; /** Secret group name Example: "Example secret group" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the secret group Example: "This is the secret group description" */ 'description'?: string; /** The permission type of the secret group. Example: "secret" */ 'type': 'secret' | 'config'; /** The type of the created secret group Example: "environment" */ 'secretType': 'environment-arguments' | 'environment' | 'arguments'; /** ID of the project that the secret group belongs to Example: "default-project" */ 'projectId': string; /** The priority with which different secret groups will be merged Example: 10 */ 'priority': number; /** Restriction settings of the secret */ 'restrictions': { /** Whether the secret is restricted to specific resources. If this is `true`, only resources listed in `nfObjects` or with a tag listed in `tags` will have access to these secrets. Otherwise, all resources in the project will be able to access it. Example: true */ 'restricted'?: boolean; /** List of Northflank services & jobs the secret is restricted to */ 'nfObjects'?: { /** ID of the entity the secret is restricted to. Example: "example-service" */ 'id': string; /** Type of the entity the secret is restricted to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** List of tags the secret is restricted to. */ 'tags'?: string[]; /** If all or any of the tags must be present on the target for it to match the condition. Example: "or" */ 'tagMatchCondition'?: 'and' | 'or'; }; /** The timestamp when the secret group was created at Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** The timestamp the secret group was last updated at Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; /** Decrypted secret data from secrets saved to this group. Example: {"variables":{"a_key":"a_secret","b_key":"b_secret"},"files":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}}} */ 'secrets': any; /** Details about linked addons. */ 'addonSecrets': { /** The ID of the linked addon Example: "example-addon" */ 'id': string; /** The name of the linked addon Example: "Example Addon" */ 'name': string; /** The addon type of the linked addon Example: "mongodb" */ 'addonType': string; /** The version of the linked addon Example: "4.4.1" */ 'version': string; /** Decrypted secret data. If the `show` parameter is set to `group`, this will only contain secrets saved to this group. If the `show` parameter is set to `inherited`, this will only contain secrets inherited from linked addons. Otherwise, this will contain both. Example: {"NF_MONGO_USERNAME":"0000000000000000","NF_MONGO_PASSWORD":"00000000000000000000000000000000"} */ 'variables': any; }[]; }; type GetSecretdetailsCall = (opts: GetSecretdetailsRequest) => Promise>; type GetSecretdetailsRequest = { parameters: GetSecretdetailsParameters; }; type GetSecretdetailsParameters = { /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the project secret */ 'secretId': string; }; /** View a project secret with details about its linked addons */ declare class GetSecretdetailsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetSecretdetailsRequest) => string; body: () => undefined; } type CreateServiceBuildResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the build arguments to set for the service Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** Type of the service (combined, build or deployment) Example: "build" */ 'serviceType': 'build'; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; } | any; type CreateServiceBuildCall = (opts: CreateServiceBuildRequest) => Promise>; type CreateServiceBuildRequest = { parameters: CreateServiceBuildParameters; data: CreateServiceBuildData; }; type CreateServiceBuildParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateServiceBuildData = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the build arguments to set for the service Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Creates a new build service. */ declare class CreateServiceBuildEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateServiceBuildRequest) => string; body: (payload: CreateServiceBuildRequest) => string; } type PutServiceBuildResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the build arguments to set for the service Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** Type of the service (combined, build or deployment) Example: "build" */ 'serviceType': 'build'; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }; type PutServiceBuildCall = (opts: PutServiceBuildRequest) => Promise>; type PutServiceBuildRequest = { parameters: PutServiceBuildParameters; data: PutServiceBuildData; }; type PutServiceBuildParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutServiceBuildData = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the build arguments to set for the service Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Creates or updates a build service. */ declare class PutServiceBuildEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutServiceBuildRequest) => string; body: (payload: PutServiceBuildRequest) => string; } type PatchServiceBuildResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData': { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the build arguments to set for the service Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** Type of the service (combined, build or deployment) Example: "build" */ 'serviceType': 'build'; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }; type PatchServiceBuildCall = (opts: PatchServiceBuildRequest) => Promise>; type PatchServiceBuildRequest = { parameters: PatchServiceBuildParameters; data: PatchServiceBuildData; }; type PatchServiceBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type PatchServiceBuildData = { /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing'?: { /** The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl'?: string; /** The VCS provider to use. Example: "github" */ 'projectType'?: 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; }; 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile'?: { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; 'buildpack'?: { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the build arguments to set for the service Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Updates a build service. */ declare class PatchServiceBuildEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchServiceBuildRequest) => string; body: (payload: PatchServiceBuildRequest) => string; } type CreateServiceCombinedResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; /** Branch identifier for the bundle. Example: "main" */ 'branch': string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the runtime environment to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; /** Type of the service (combined, build or deployment) Example: "combined" */ 'serviceType': 'combined'; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; } | any; type CreateServiceCombinedCall = (opts: CreateServiceCombinedRequest) => Promise>; type CreateServiceCombinedRequest = { parameters: CreateServiceCombinedParameters; data: CreateServiceCombinedData; }; type CreateServiceCombinedParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateServiceCombinedData = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; /** Branch identifier for the bundle. Example: "main" */ 'branch': string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the runtime environment to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; }; /** Creates a new combined service. */ declare class CreateServiceCombinedEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateServiceCombinedRequest) => string; body: (payload: CreateServiceCombinedRequest) => string; } type PutServiceCombinedResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; /** Branch identifier for the bundle. Example: "main" */ 'branch': string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the runtime environment to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; /** Type of the service (combined, build or deployment) Example: "combined" */ 'serviceType': 'combined'; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }; type PutServiceCombinedCall = (opts: PutServiceCombinedRequest) => Promise>; type PutServiceCombinedRequest = { parameters: PutServiceCombinedParameters; data: PutServiceCombinedData; }; type PutServiceCombinedParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutServiceCombinedData = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; /** Branch identifier for the bundle. Example: "main" */ 'branch': string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the runtime environment to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; }; /** Creates or updates a combined service. */ declare class PutServiceCombinedEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutServiceCombinedRequest) => string; body: (payload: PutServiceCombinedRequest) => string; } type PatchServiceCombinedResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** The VCS provider to use. Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch': string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; /** Branch identifier for the bundle. Example: "main" */ 'branch': string; }; /** Build engine */ 'buildSettings': { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile': { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath': string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir': string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; } | { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the runtime environment to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; /** Type of the service (combined, build or deployment) Example: "combined" */ 'serviceType': 'combined'; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }; type PatchServiceCombinedCall = (opts: PatchServiceCombinedRequest) => Promise>; type PatchServiceCombinedRequest = { parameters: PatchServiceCombinedParameters; data: PatchServiceCombinedData; }; type PatchServiceCombinedParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type PatchServiceCombinedData = { /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing'?: { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; /** The ID of the build plan to use. Example: "nf-compute-200-8" */ 'buildPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'deployment'?: { /** The number of instances to run the service on. Example: 1 */ 'instances'?: number; 'buildpack'?: { /** Type of buildpack run configuration */ 'configType'?: 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType'?: 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled'?: boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** Whether CI (continuous integration) should be disabled. */ 'disabledCI'?: boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl'?: string; /** The VCS provider to use. Example: "github" */ 'projectType'?: 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. */ 'vcsLinkId'?: string; /** The name of the branch to use. Example: "master" */ 'projectBranch'?: string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl'?: string; /** Branch identifier for the bundle. Example: "main" */ 'branch'?: string; }; 'buildSettings'?: { 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; 'dockerfile'?: { /** DEPRECATED: This field will be removed in the near future and currently has no effect. */ 'useCache'?: boolean; /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. Example: true */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. Example: 32768 */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; 'buildpack'?: { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; }; 'buildConfiguration'?: { /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** An object containing the runtime environment to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An object containing the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode'?: 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; 'autoscaling'?: { 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled'?: boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas'?: number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas'?: number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled'?: boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage'?: number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled'?: boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage'?: number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled'?: boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue'?: number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled'?: boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath'?: string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort'?: number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics'?: { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; }; /** Updates a combined service. */ declare class PatchServiceCombinedEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchServiceCombinedRequest) => string; body: (payload: PatchServiceCombinedRequest) => string; } type CreateServiceDeploymentResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** An object containing the runtime environment to set for the service Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; /** Type of the service (combined, build or deployment) Example: "deployment" */ 'serviceType': 'deployment'; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; } | any; type CreateServiceDeploymentCall = (opts: CreateServiceDeploymentRequest) => Promise>; type CreateServiceDeploymentRequest = { parameters: CreateServiceDeploymentParameters; data: CreateServiceDeploymentData; }; type CreateServiceDeploymentParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateServiceDeploymentData = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Deployment type */ 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** An object containing the runtime environment to set for the service Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; }; /** Creates a new deployment service. */ declare class CreateServiceDeploymentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateServiceDeploymentRequest) => string; body: (payload: CreateServiceDeploymentRequest) => string; } type PutServiceDeploymentResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** An object containing the runtime environment to set for the service Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; /** Type of the service (combined, build or deployment) Example: "deployment" */ 'serviceType': 'deployment'; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }; type PutServiceDeploymentCall = (opts: PutServiceDeploymentRequest) => Promise>; type PutServiceDeploymentRequest = { parameters: PutServiceDeploymentParameters; data: PutServiceDeploymentData; }; type PutServiceDeploymentParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type PutServiceDeploymentData = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; /** Deployment type */ 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** An object containing the runtime environment to set for the service Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; }; /** Creates or updates a deployment service. */ declare class PutServiceDeploymentEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutServiceDeploymentRequest) => string; body: (payload: PutServiceDeploymentRequest) => string; } type PatchServiceDeploymentResult = { /** The name of the service. Example: "Example Service" */ 'name': string; /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing': { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan': string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; 'infrastructure'?: { 'architecture'?: 'x86' | 'arm'; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** An object containing the runtime environment to set for the service Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; 'createOptions'?: { 'volumesToAttach'?: string[]; }; /** Type of the service (combined, build or deployment) Example: "deployment" */ 'serviceType': 'deployment'; 'deployment': { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal'?: { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; 'external'?: { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; /** Image registry url of the deployed image. */ 'imageUrl'?: string; }; /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; /** Details about the current service status. */ 'status': { /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; }; type PatchServiceDeploymentCall = (opts: PatchServiceDeploymentRequest) => Promise>; type PatchServiceDeploymentRequest = { parameters: PatchServiceDeploymentParameters; data: PatchServiceDeploymentData; }; type PatchServiceDeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type PatchServiceDeploymentData = { /** A description of the service. Example: "A service description" */ 'description'?: string; 'stageId'?: string | null; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; 'billing'?: { /** The ID of the deployment plan to use. Example: "nf-compute-20" */ 'deploymentPlan'?: string; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType'?: string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; }; /** Deployment type */ 'deployment'?: { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; } | { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; } | { /** The way the service should be deployed. Either as a deployment (default), or as a stateful set. */ 'type'?: 'deployment' | 'statefulSet'; /** The number of instances to run the service on. Example: 1 */ 'instances': number; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** The id of the strategy to be attached to service. */ 'gradualRolloutStrategyId'?: string | null; /** Controls related to SSH access within the resource. */ 'ssh'?: { /** Enables SSH access if the resource matches an SSH identity selector. */ 'enabled': boolean; }; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; }; 'ports'?: { /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; 'advancedOptions'?: { /** Whether this port should use pass through mode for TLS */ 'enableTlsPassthrough'?: boolean; }; /** The protocol to use for the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; }[]; /** An object containing the runtime environment to set for the service Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; /** An array of health checks. */ 'healthChecks'?: { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; 'loadBalancing'?: { 'mode'?: 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; 'autoscaling'?: { 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled'?: boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas'?: number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas'?: number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled'?: boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage'?: number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled'?: boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage'?: number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled'?: boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue'?: number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled'?: boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath'?: string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort'?: number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics'?: { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; }; /** Updates a deployment service. */ declare class PatchServiceDeploymentEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchServiceDeploymentRequest) => string; body: (payload: PatchServiceDeploymentRequest) => string; } type GetServiceResult = { /** Identifier for the service Example: "example-service" */ 'id': string; /** Full identifier used for service deployment Example: "/example-user/default-project/example-service" */ 'appId': string; /** Service name Example: "Example Service" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** A short description of the service Example: "This is the service description" */ 'description'?: string; /** ID of the project that the service belongs to Example: "default-project" */ 'projectId': string; /** Type of the service (combined, build or deployment) Example: "combined" */ 'serviceType': 'combined' | 'build' | 'deployment'; /** The time the service was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** Whether Continuous Integration is disabled */ 'disabledCI': boolean; /** Whether Continuous Deployment is disabled */ 'disabledCD': boolean; 'billing': { /** ID of the billing plan used by this service Example: "nf-compute-20" */ 'deploymentPlan': string; }; /** Details about the current service status. */ 'status': { /** Details about the status of the most recent build. */ 'build'?: { /** The current status of the build. Example: "SUCCESS" */ 'status': 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The timestamp of when the build reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; /** Details about the current deployment status. */ 'deployment'?: { /** The current status of the deployment. Example: "COMPLETED" */ 'status': 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'; /** The reason the current deployment was started. Example: "DEPLOYING" */ 'reason': 'SCALING' | 'DEPLOYING'; /** The timestamp of when the deployment reached this status. Example: "2021-11-29T11:47:16.624Z" */ 'lastTransitionTime'?: string; }; }; /** Is the service paused? */ 'servicePaused': boolean; /** Defines the build source for this resource Example: "git" */ 'buildSource'?: 'git' | 'bundle'; 'vcsData'?: { /** URL of the repository being built Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl': string; /** VCS provider for the repo being built Example: "github" */ 'projectType': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** ID of the self-hosted VCS, if applicable. Example: "example-team/self-hosted-vcs" */ 'selfHostedVcsId'?: string; /** Branch of the repo being built Example: "master" */ 'projectBranch'?: string; /** Whether the repo is being accessed without authentication. */ 'publicRepo'?: boolean; /** Working directory used by the dockerfile Example: "/" */ 'dockerWorkDir': string; /** File path of the Dockerfile Example: "/Dockerfile" */ 'dockerFilePath': string; }; 'bundleData'?: { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; /** Branch of the bundle being built Example: "main" */ 'projectBranch'?: string; /** Working directory used by the dockerfile Example: "/" */ 'dockerWorkDir': string; /** File path of the Dockerfile Example: "/Dockerfile" */ 'dockerFilePath': string; }; 'deployment'?: { /** Region where this service is deployed and/or built Example: "europe-west" */ 'region'?: string; /** Number of instances/replicas running Example: 1 */ 'instances'?: number; /** Data about a deployment from an external registry. */ 'external'?: { /** Path of the external image excluding the hostname */ 'imagePath': string; /** Registry provider hosting the external image */ 'registryProvider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** Does the image require authentication */ 'privateImage': boolean; }; 'internal'?: { /** Database ID of deployed entity Example: "example-service" */ 'nfObjectId': string; /** Type of deployed entity Example: "service" */ 'nfObjectType': 'service'; /** URL of the repository being deployed Example: "https://github.com/northflank/gatsby-with-northflank" */ 'repository': string; /** Branch of the repo being deployed Example: "master" */ 'branch': string; /** Commit SHA to be deployed. `latest` means the latest commit is automatically being deployed. Example: "latest" */ 'buildSHA': string; /** Currently deployed commit SHA. If buildSHA is set to `latest`, this will show the SHA of the latest commit. Example: "262ed9817b3cad5142fbceabe0c9e371e390d616" */ 'deployedSHA'?: string; }; /** Details about the Docker overrides for this deployment. */ 'docker'?: { /** Override configuration which is used at runtime. Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** The CMD to run instead of the default if entrypoint override is enabled. */ 'customEntrypoint'?: string; /** The CMD to run instead of the default if CMD override is enabled. */ 'customCommand'?: string; }; /** Details about the Buildpack overrides for this deployment. */ 'buildpack'?: { /** Type of buildpack run configuration. Example: "default" */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. */ 'customProcess'?: string; /** Custom entrypoint which should be run. */ 'customEntrypoint'?: string; /** Custom command which should be run. */ 'customCommand'?: string; }; /** Details about storage settings for this deployment. */ 'storage'?: { /** Details about ephemeral storage settings for this deployment. */ 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize': number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** Roll out strategy of the service */ 'strategy'?: { /** Configures the instance roll out strategy of your service. Currently only available via feature flag. */ 'type'?: 'recreate' | 'rollout-steady' | 'rollout-balanced' | 'rollout-fast' | 'custom'; 'settings'?: { /** Maximum number or percentage of pods that can be created above the desired count. */ 'maxSurge': number | string; /** Maximum number or percentage of pods that can be unavailable during the update. */ 'maxUnavailable': number | string; }; }; 'zonalRedundancy'?: { /** Defines scheduling behaviour across different zones within the same region. */ 'type'?: 'disabled' | 'preferred' | 'required'; /** Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required") */ 'minZones'?: number; }; 'gpu'?: { 'enabled'?: boolean; 'configuration'?: { 'gpuType': string; 'gpuCount'?: number; 'timesliced'?: boolean; }; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; /** Allow setting custom labels and annotations for workloads. */ 'metadata'?: { /** Specify custom labels for the workload. */ 'labels'?: any; /** Specify custom annotations for the workload as string or object. */ 'annotations'?: any; }; /** URL at which the service's deployed image is located */ 'imageUrl'?: string; }; 'loadBalancing'?: { 'mode': 'leastConnection' | 'consistentHash' | 'roundRobin' | 'consistentReplicaRouting'; 'consistentHash'?: { 'mode': 'ip' | 'customHeader'; 'header'?: string | null; }; 'consistentReplicaRouting'?: { 'mode': 'path' | 'header'; }; }; 'buildConfiguration'?: { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; 'buildEngineConfiguration'?: { /** The build engine used. Example: "buildpack" */ 'buildEngine'?: 'buildpack' | 'buildkit' | 'kaniko'; /** Details about Buildpack settings. */ 'buildpack'?: { /** The Buildpack stack used. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom Buildpacks used. */ 'buildpackLocators'?: string[]; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; /** Details about Buildkit settings. */ 'buildkit'?: { /** Should intermediate image layers be cached? */ 'useCache'?: boolean; /** Should use persistent storage to store all layers? */ 'useInternalCache'?: boolean; /** Storage size to use for internal cache */ 'internalCacheStorage'?: boolean; }; /** Details about Kaniko settings. */ 'kaniko'?: { /** Should intermediate image layers be cached? */ 'useCache'?: boolean; }; }; /** Describes all autoscaling configurations */ 'autoscaling'?: { /** Describes the horizontal autoscaling configuration */ 'horizontal'?: { /** Whether horizontal autoscaling should be enabled Example: true */ 'enabled': boolean; /** Minimum number of replicas which should be running at any time Example: 1 */ 'minReplicas': number; /** Maximum number of replicas which can be running at any time Example: 3 */ 'maxReplicas': number; 'cpu'?: { /** Whether autoscaling should take into account cpu usage */ 'enabled': boolean; /** Threshold CPU usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'memory'?: { /** Whether autoscaling should take into account memory usage */ 'enabled': boolean; /** Threshold memory usage percentage at which the workload will be scaled */ 'thresholdPercentage': number; }; 'rps'?: { /** Whether autoscaling should take into requests-per-second */ 'enabled': boolean; /** Threshold rps value on which the workload will be scaled */ 'thresholdValue': number; }; 'userMetrics'?: { /** Whether to enable handling for custom metrics in the autoscaling configuration Example: true */ 'enabled': boolean; /** Path on which the metrics will be exposed by the service.. Example: "/metrics" */ 'exposedMetricsPath': string; /** Port on which the metrics will be exposed by the service. Example: 8080 */ 'exposedMetricsPort': number; /** Array of custom metrics exposed by the service that will be used by the autoscaling configuration. At least one metric is required. */ 'metrics': { /** Name of the custom metric Example: "example-metric" */ 'metricName': string; /** Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() Example: "gauge" */ 'metricType': 'gauge' | 'counter'; /** Threshold value on which the workload will be scaled. Represents the average value across all running pods. Example: 2 */ 'thresholdValue': number; }[]; }; }; }; /** An array of ports of the service. */ 'ports': { /** The id used to identify the port across requests. Example: "eonyui" */ 'id': string; /** The name of the port used in the public url and UI. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** The protocol used by the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; /** If true, the port is exposed publicly. Example: true */ 'public': boolean; /** DNS entry for this port. Example: "p01--example-service--default-service--user-abc1.salvo.code.run" */ 'dns'?: string; /** An array of domains that redirect to this port. */ 'domains': { /** The custom domain redirecting to this port. Example: "app.example.com" */ 'name': string; /** Details about the TLS certificate generation for this domain. */ 'certificate': { /** Is the certificate in the process of being generated? */ 'inProgress'?: boolean; /** The timestamp when the TLS certificate will expire. Example: "2022-04-26T09:25:02.000Z" */ 'expiryDate'?: string; /** The timestamp when a new TLS certificate will be generated. Example: "2022-03-27T09:25:02.000Z" */ 'refreshDate'?: string; }; }[]; /** Details about security settings for this port. */ 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure SSO access control for this port. */ 'sso'?: { /** Organization ID of the work OS organization that should be validated. Example: "org_uniquestringidentifier" */ 'organizationId'?: string; /** List of directory groupIds, one of which the user has to be a member of. */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: { 'regexMode'?: boolean; 'name'?: string; 'value': string; }[]; }; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; }[]; /** Cluster information */ 'cluster': { /** The id of the cluster associated with this project. Example: "nf-europe-west" */ 'id': string; /** The name of the cluster associated with this project. Example: "nf-europe-west" */ 'name': string; /** Namespace this resource is located within on the cluster. Example: "ns-8zy2mcjh9zn2" */ 'namespace'?: string; /** Load balancer DNS for the cluster. */ 'loadBalancers'?: string[]; }; }; type GetServiceCall = (opts: GetServiceRequest) => Promise>; type GetServiceRequest = { parameters: GetServiceParameters; }; type GetServiceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Gets information about the given service. */ declare class GetServiceEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceRequest) => string; body: () => undefined; } type DeleteServiceResult = any; type DeleteServiceCall = (opts: DeleteServiceRequest) => Promise>; type DeleteServiceRequest = { parameters: DeleteServiceParameters; options?: DeleteServiceOptions; }; type DeleteServiceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type DeleteServiceOptions = { /** If true, any volumes attached to this service will also be deleted. */ 'delete_child_objects'?: boolean; }; /** Deletes the given service. */ declare class DeleteServiceEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteServiceRequest) => string; body: () => undefined; } type GetServiceBranchesResult = { /** A list of branches for this repository. */ 'branches'?: { /** Name of the branch. Example: "main" */ 'name': string; 'id': string; /** Details about the most recent commit on the branch. */ 'commit': { /** SHA identifier of the commit. Example: "f8aca180e989be62cba71db629d2ede05f2d10c4" */ 'sha': string; /** Details about the commit author. */ 'author': { /** The login of the commit author. Example: "northflank" */ 'login': string; }; /** Commit message of the commit. Example: "Initial commit" */ 'message'?: string; /** Timestamp of the commit. Example: "2021-09-17T14:04:39.000Z" */ 'date'?: string; }; }[]; }; type GetServiceBranchesCall = ((opts: GetServiceBranchesRequest) => Promise>) & { all: (opts: GetServiceBranchesRequest) => Promise>; }; type GetServiceBranchesRequest = { parameters: GetServiceBranchesParameters; options?: GetServiceBranchesOptions; }; type GetServiceBranchesParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type GetServiceBranchesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets information about the branches of the given service. */ declare class GetServiceBranchesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceBranchesRequest) => string; body: () => undefined; } type GetServiceBuildsResult = { /** An array of builds. */ 'builds': { /** ID of the build. Example: "joyous-view-6290" */ 'id': string; /** Name of the branch the built commit belongs to. Example: "main" */ 'branch'?: string; /** ID of the pull request the commit belongs to. */ 'pullRequestId'?: number | null; /** The status of the build. Example: "SUCCESS" */ 'status'?: 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The sha of the built commit. Example: "12c15e7ee25fd78f567ebf87f9178b8ad70025b3" */ 'sha'?: string; 'registry'?: { /** URI of that can be used to pull the image from the registry */ 'uri'?: string; }; /** Whether the build has finished. Example: true */ 'concluded'?: boolean; /** Timestamp of the build initiation. Example: "2021-07-28T15:55:38.296Z" */ 'createdAt'?: string; /** Whether the build was successful. Example: true */ 'success'?: boolean; /** Description of the build status. Example: "Image successfully built" */ 'message'?: string | null; /** Timestamp of the build concluding. Example: 1606237973 */ 'buildConcludedAt'?: number; }[]; }; type GetServiceBuildsCall = ((opts: GetServiceBuildsRequest) => Promise>) & { all: (opts: GetServiceBuildsRequest) => Promise>; }; type GetServiceBuildsRequest = { parameters: GetServiceBuildsParameters; options?: GetServiceBuildsOptions; }; type GetServiceBuildsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type GetServiceBuildsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists the builds for the service */ declare class GetServiceBuildsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceBuildsRequest) => string; body: () => undefined; } type StartServiceBuildResult = { /** ID of the build. Example: "joyous-view-6290" */ 'id': string; /** Name of the branch the built commit belongs to. Example: "main" */ 'branch'?: string; /** ID of the pull request the commit belongs to. */ 'pullRequestId'?: number | null; /** The sha of the built commit. Example: "12c15e7ee25fd78f567ebf87f9178b8ad70025b3" */ 'sha'?: string; 'registry'?: { /** URI of that can be used to pull the image from the registry */ 'uri'?: string; }; /** Timestamp of the build initiation. Example: "2021-07-28T15:55:38.296Z" */ 'createdAt'?: string; /** The status of the build. Example: "PENDING" */ 'status'?: string; /** Whether the build has finished. */ 'concluded'?: boolean; }; type StartServiceBuildCall = (opts: StartServiceBuildRequest) => Promise>; type StartServiceBuildRequest = { parameters: StartServiceBuildParameters; data: StartServiceBuildData; }; type StartServiceBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type StartServiceBuildData = { /** URL of the bundle to be built Example: "https://example.com/archive.tar" */ 'bundleUrl': string; 'branch'?: string; 'sha'?: string; } | { /** Commit sha to build. If not provided, builds the most recent relevant commit. Example: "262ed9817b3cad5142fbceabe0c9e371e390d616" */ 'sha'?: string; /** Branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. */ 'branch'?: string; /** ID of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. */ 'pullRequestId'?: number; /** An optional object that may specify several different overrides on the build level. */ 'overrides'?: { /** Build arguments that will be set on this build only. In case of conflicts these values take precedence. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; /** Overrides for docker build settings. */ 'docker'?: { /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; }; }; }; /** Start a new build for the given combined or build service. If given a commit sha, it will build that commit. Otherwise, the most recent relevant commit will be built. If the service provided is a build service, a branch name or pull request to build from is required. */ declare class StartServiceBuildEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: StartServiceBuildRequest) => string; body: (payload: StartServiceBuildRequest) => string; } type GetServiceBuildargumentsResult = { /** The build arguments, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain secrets saved to this entity. If the `show` parameter is set to `inherited`, this will only contain secrets inherited from linked secret groups. Otherwise, this will contain both. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments': any; /** The build secret files, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain files saved to this entity. If the `show` parameter is set to `inherited`, this will only contain files inherited from linked secret groups. Otherwise, this will contain both. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles': any; }; type GetServiceBuildargumentsCall = (opts: GetServiceBuildargumentsRequest) => Promise>; type GetServiceBuildargumentsRequest = { parameters: GetServiceBuildargumentsParameters; options?: GetServiceBuildargumentsOptions; }; type GetServiceBuildargumentsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type GetServiceBuildargumentsOptions = { /** Which secrets to display - if set to `this` only the group's secrets are displayed, if set to `inherited` only secrets from linked addons are displayed, if set to `all` or not provided, both are displayed. */ 'show'?: string; /** If templated secrets should be replaced with their inferred value rather than returned as template strings. */ 'replaceTemplatedValues'?: string; }; /** Gets the build arguments of the given service. If the API key does not have the permission 'Project > Secrets > General > Read', secrets inherited from secret groups will not be displayed. */ declare class GetServiceBuildargumentsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceBuildargumentsRequest) => string; body: () => undefined; } type UpdateServiceBuildargumentsResult = any; type UpdateServiceBuildargumentsCall = (opts: UpdateServiceBuildargumentsRequest) => Promise>; type UpdateServiceBuildargumentsRequest = { parameters: UpdateServiceBuildargumentsParameters; data: UpdateServiceBuildargumentsData; }; type UpdateServiceBuildargumentsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServiceBuildargumentsData = { /** An object containing the all of the build arguments to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"ARGUMENT_1":"abcdef","ARGUMENT_2":"12345"} */ 'buildArguments'?: any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'buildFiles'?: any; /** Docker secret mount contents as JSON object, encrypted at rest. Must be a valid Docker secret mount identifier Example: {"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'dockerSecretMounts'?: any; }; /** Sets the build arguments for the given service. */ declare class UpdateServiceBuildargumentsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServiceBuildargumentsRequest) => string; body: (payload: UpdateServiceBuildargumentsRequest) => string; } type GetServiceBuildargumentdetailsResult = { /** Details about all the secrets accessible by the service. */ 'buildArguments': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ 'MY_VARIABLE_NAME'?: { /** The value of the secret. Example: "abcdef123456" */ 'value': any; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The ID of the addon the secret is inherited from, if applicable. Example: "example-addon" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the secret has been inherited from, but that are not being used as a secret with the same key exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The ID of the addon the secret is inherited from, if applicable. Example: "addon-2" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; /** Details about all the secrets accessible by the service. */ 'buildFiles': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ '/dir/fileName'?: { /** The value of the secret. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'value': { /** base64 encoded string of the file contents Example: "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=" */ 'data'?: string; /** Original encoding of the file Example: "utf-8" */ 'encoding'?: string; }; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the file has been inherited from, but that are not being used as a secret with the same file path exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; }; type GetServiceBuildargumentdetailsCall = (opts: GetServiceBuildargumentdetailsRequest) => Promise>; type GetServiceBuildargumentdetailsRequest = { parameters: GetServiceBuildargumentdetailsParameters; }; type GetServiceBuildargumentdetailsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Get details about the build arguments accessible by the given service. Also requires the permission 'Project > Secrets > General > Read' */ declare class GetServiceBuildargumentdetailsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceBuildargumentdetailsRequest) => string; body: () => undefined; } type ResetServiceBuildcacheResult = any; type ResetServiceBuildcacheCall = (opts: ResetServiceBuildcacheRequest) => Promise>; type ResetServiceBuildcacheRequest = { parameters: ResetServiceBuildcacheParameters; }; type ResetServiceBuildcacheParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Clears the build cache of a given combined or build service. */ declare class ResetServiceBuildcacheEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResetServiceBuildcacheRequest) => string; body: () => undefined; } type UpdateServiceBuildoptionsResult = any; type UpdateServiceBuildoptionsCall = (opts: UpdateServiceBuildoptionsRequest) => Promise>; type UpdateServiceBuildoptionsRequest = { parameters: UpdateServiceBuildoptionsParameters; data: UpdateServiceBuildoptionsData; }; type UpdateServiceBuildoptionsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServiceBuildoptionsData = { 'dockerfile': { /** Build engine to use. Defaults to recommended build engine `buildkit` Example: "buildkit" */ 'buildEngine'?: 'buildkit' | 'kaniko'; /** The file path of the Dockerfile. Example: "/Dockerfile" */ 'dockerFilePath'?: string; /** The working directory of the Dockerfile. Example: "/" */ 'dockerWorkDir'?: string; 'buildkit'?: { /** Use persistent storage to cache build layers. */ 'useCache'?: boolean; /** The amount of persistent storage available to each build in MB. */ 'cacheStorageSize'?: number; /** DEPRECATED: This field will be removed in the near future. */ 'useInternalCache'?: boolean; /** DEPRECATED: This field will be removed in the near future. */ 'internalCacheStorage'?: number; }; }; /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; } | { 'buildpack': { /** Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. Example: "HEROKU_24" */ 'builder'?: 'HEROKU_24' | 'HEROKU_22' | 'HEROKU_22_CLASSIC' | 'HEROKU_20' | 'HEROKU_18' | 'GOOGLE_22' | 'GOOGLE_V1' | 'CNB_ALPINE' | 'CNB_BIONIC' | 'PAKETO_JAMMY_TINY' | 'PAKETO_JAMMY_BASE' | 'PAKETO_JAMMY_FULL' | 'PAKETO_TINY' | 'PAKETO_BASE' | 'PAKETO_FULL'; /** Array of custom buildpacks to use. */ 'buildpackLocators'?: string[]; /** The working directory to build in. Example: "/" */ 'buildContext'?: string; /** Should build dependencies be cached? */ 'useCache'?: boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; } | { /** An array of pull request build rules. Only supported for build services. Each commit belonging to a pull request on a branch that matches one of the provided build rules will be built automatically. */ 'prRestrictions'?: string[]; /** An array of branch build rules. Only supported for build services. Each commit belonging to a branch that matches one of the provided build rules will be built automatically. */ 'branchRestrictions'?: string[]; /** Controls which projects can use this build service. */ 'crossProjectAccess'?: { /** Allow this build service to be referenced by resources in other projects. Example: true */ 'enabled': boolean; /** A list of project IDs used as an allow list or deny list. */ 'projects': string[]; /** If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service. */ 'isAllowList': boolean; }; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. */ 'isAllowList'?: boolean; /** If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. */ 'ciIgnoreFlagsEnabled'?: boolean; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; /** If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. */ 'dockerfileTarget'?: string; 'dockerCredentials'?: string[]; /** Include .git folder inside the build context */ 'includeGitFolder'?: boolean; /** Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set. */ 'fullGitClone'?: boolean; /** Enable Git LFS support for the build */ 'enableGitLfs'?: boolean; 'storage'?: { 'ephemeralStorage'?: { /** Ephemeral storage per build in MB Example: 16384 */ 'storageSize'?: number; }; }; }; /** Updates the build options for a given service. */ declare class UpdateServiceBuildoptionsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServiceBuildoptionsRequest) => string; body: (payload: UpdateServiceBuildoptionsRequest) => string; } type UpdateServiceBuildsourceResult = any; type UpdateServiceBuildsourceCall = (opts: UpdateServiceBuildsourceRequest) => Promise>; type UpdateServiceBuildsourceRequest = { parameters: UpdateServiceBuildsourceParameters; data: UpdateServiceBuildsourceData; }; type UpdateServiceBuildsourceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServiceBuildsourceData = { /** URL of the Git repo to build. Example: "https://github.com/northflank/gatsby-with-northflank" */ 'projectUrl'?: string; /** The VCS provider to use. Example: "github" */ 'projectType'?: 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** The name of the branch to use. Example: "master" */ 'projectBranch'?: string; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; }; /** Updates the version control source for a given build or combined service. */ declare class UpdateServiceBuildsourceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServiceBuildsourceRequest) => string; body: (payload: UpdateServiceBuildsourceRequest) => string; } type GetServiceBuildResult = { /** ID of the build. Example: "joyous-view-6290" */ 'id': string; /** Name of the branch the built commit belongs to. Example: "main" */ 'branch'?: string; /** ID of the pull request the commit belongs to. */ 'pullRequestId'?: number | null; /** The status of the build. Example: "SUCCESS" */ 'status'?: 'QUEUED' | 'PENDING' | 'UNSCHEDULABLE' | 'STARTING' | 'CLONING' | 'BUILDING' | 'UPLOADING' | 'ABORTED' | 'FAILURE' | 'SUBMISSION_FAILURE' | 'SUCCESS' | 'CRASHED' | 'IN_PROGRESS'; /** The sha of the built commit. Example: "12c15e7ee25fd78f567ebf87f9178b8ad70025b3" */ 'sha'?: string; 'registry'?: { /** URI of that can be used to pull the image from the registry */ 'uri'?: string; }; /** Whether the build has finished. Example: true */ 'concluded'?: boolean; /** Timestamp of the build initiation. Example: "2021-07-28T15:55:38.296Z" */ 'createdAt'?: string; /** Whether the build was successful. Example: true */ 'success'?: boolean; /** Description of the build status. Example: "Image successfully built" */ 'message'?: string | null; /** Timestamp of the build concluding. Example: 1606237973 */ 'buildConcludedAt'?: number; }; type GetServiceBuildCall = (opts: GetServiceBuildRequest) => Promise>; type GetServiceBuildRequest = { parameters: GetServiceBuildParameters; }; type GetServiceBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; /** ID of the service build */ 'buildId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; /** ID of the service build */ 'buildId': string; }; /** Gets information about a build for the service */ declare class GetServiceBuildEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceBuildRequest) => string; body: () => undefined; } type AbortServiceBuildResult = any; type AbortServiceBuildCall = (opts: AbortServiceBuildRequest) => Promise>; type AbortServiceBuildRequest = { parameters: AbortServiceBuildParameters; }; type AbortServiceBuildParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; /** ID of the service build */ 'buildId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; /** ID of the service build */ 'buildId': string; }; /** Aborts the given service build */ declare class AbortServiceBuildEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortServiceBuildRequest) => string; body: () => undefined; } type GetServiceContainersResult = { 'containers'?: { /** The name of the container. Example: "example-service-78b4d4459d-sbtn8" */ 'name': string; /** The timestamp the container was created. Example: 1611241087 */ 'createdAt': number; /** The current status of the container. Example: "TASK_RUNNING" */ 'status': 'TASK_RUNNING' | 'TASK_STARTING' | 'TASK_STAGING' | 'TASK_KILLING' | 'TASK_KILLED' | 'TASK_FAILED' | 'TASK_FINISHED'; /** BYOC only: the name of the node the container was scheduled to */ 'nodeName'?: string; /** BYOC only: the user facing ID of the node pool that the container was scheduled to */ 'nodePoolUserId'?: string; /** BYOC only: the provider facing ID of the node pool that the container was scheduled to */ 'nodePoolProviderId'?: string; /** BYOC only: the host address of the node the container was scheduled to */ 'host'?: string; /** BYOC only: the IP addresses mapping to the container */ 'ipAddresses'?: string[]; /** The timestamp the container was last updated. Example: 1611241087 */ 'updatedAt': number; }[]; }; type GetServiceContainersCall = ((opts: GetServiceContainersRequest) => Promise>) & { all: (opts: GetServiceContainersRequest) => Promise>; }; type GetServiceContainersRequest = { parameters: GetServiceContainersParameters; options?: GetServiceContainersOptions; }; type GetServiceContainersParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type GetServiceContainersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of containers for the given service. */ declare class GetServiceContainersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceContainersRequest) => string; body: () => undefined; } type GetServiceDeploymentResult = { /** Region where this service is deployed and/or built Example: "europe-west" */ 'region'?: string; /** Number of instances/replicas running Example: 1 */ 'instances'?: number; /** Details about the Docker overrides for this deployment. */ 'docker'?: { /** Override configuration which is used at runtime. Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** The CMD to run instead of the default if entrypoint override is enabled. */ 'customEntrypoint'?: string; /** The CMD to run instead of the default if CMD override is enabled. */ 'customCommand'?: string; }; /** Details about the Buildpack overrides for this deployment. */ 'buildpack'?: { /** Type of buildpack run configuration. Example: "default" */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. */ 'customProcess'?: string; /** Custom entrypoint which should be run. */ 'customEntrypoint'?: string; /** Custom command which should be run. */ 'customCommand'?: string; }; /** Details about storage settings for this deployment. */ 'storage'?: { /** Details about ephemeral storage settings for this deployment. */ 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize': number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'internal': { /** Full identifier of deployed entity Example: "/example-user/default-project/example-service" */ 'appId': string; /** ID of deployed entity Example: "example-service" */ 'nfObjectId': string; /** Type of deployed entity Example: "service" */ 'nfObjectType': 'service'; /** URL of the repository being deployed Example: "https://github.com/northflank/gatsby-with-northflank" */ 'repository': string; /** Branch of the repo being deployed Example: "master" */ 'branch': string; /** ID of the build currently deployed. Example: "incredible-land-3266" */ 'buildId': string; /** Commit SHA being deployed. `latest` means the latest commit is automatically being deployed. Example: "latest" */ 'buildSHA': string; /** Currently deployed commit SHA. If buildSHA is set to `latest`, this will show the SHA of the latest commit. Example: "262ed9817b3cad5142fbceabe0c9e371e390d616" */ 'deployedSHA'?: string; }; } | { /** Region where this service is deployed and/or built Example: "europe-west" */ 'region'?: string; /** Number of instances/replicas running Example: 1 */ 'instances'?: number; /** Details about the Docker overrides for this deployment. */ 'docker'?: { /** Override configuration which is used at runtime. Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** The CMD to run instead of the default if entrypoint override is enabled. */ 'customEntrypoint'?: string; /** The CMD to run instead of the default if CMD override is enabled. */ 'customCommand'?: string; }; /** Details about the Buildpack overrides for this deployment. */ 'buildpack'?: { /** Type of buildpack run configuration. Example: "default" */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. */ 'customProcess'?: string; /** Custom entrypoint which should be run. */ 'customEntrypoint'?: string; /** Custom command which should be run. */ 'customCommand'?: string; }; /** Details about storage settings for this deployment. */ 'storage'?: { /** Details about ephemeral storage settings for this deployment. */ 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize': number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; 'external': { /** Path of the external image excluding the hostname Example: "nginx:latest" */ 'imagePath': string; /** Registry provider hosting the external image Example: "dockerhub" */ 'registryProvider': 'acr' | 'ecr' | 'gar' | 'dockerhub' | 'dhi' | 'github' | 'gitlab' | 'custom' | 'legacy'; /** Does the image require authentication */ 'privateImage': boolean; }; }; type GetServiceDeploymentCall = (opts: GetServiceDeploymentRequest) => Promise>; type GetServiceDeploymentRequest = { parameters: GetServiceDeploymentParameters; }; type GetServiceDeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Gets information about the deployment of the given service. */ declare class GetServiceDeploymentEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceDeploymentRequest) => string; body: () => undefined; } type UpdateServiceDeploymentResult = any; type UpdateServiceDeploymentCall = (opts: UpdateServiceDeploymentRequest) => Promise>; type UpdateServiceDeploymentRequest = { parameters: UpdateServiceDeploymentParameters; data: UpdateServiceDeploymentData; }; type UpdateServiceDeploymentParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServiceDeploymentData = { 'external': { /** Image to be deployed. When not deploying from Dockerhub the URL must be specified. Example: "nginx:latest" */ 'imagePath': string; /** ID of the saved credentials to use to access this external image. Example: "example-credentials" */ 'credentials'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; } | { 'internal': { /** ID of the build service to deploy */ 'id'?: string; /** Branch to deploy Example: "master" */ 'branch'?: string; /** Commit SHA to deploy, or 'latest' to deploy the most recent commit Example: "latest" */ 'buildSHA'?: string | 'latest'; /** ID of the build that should be deployed Example: "premium-guide-6393" */ 'buildId'?: string; }; /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; } | { /** Allows for customization of buildpack runtime */ 'buildpack'?: { /** Type of buildpack run configuration */ 'configType': 'default' | 'customProcess' | 'customCommand' | 'customEntrypointCustomCommand' | 'originalEntrypointCustomCommand'; /** Custom process which should be run. Required in case where `configType` is `customProcess` */ 'customProcess'?: string; /** Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand` */ 'customCommand'?: string; }; /** Allows for customization of docker runtime */ 'docker'?: { /** Type of entrypoint & command override configuration Example: "default" */ 'configType': 'default' | 'customEntrypoint' | 'customCommand' | 'customEntrypointCustomCommand'; /** Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand` */ 'customEntrypoint'?: string; /** Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand` */ 'customCommand'?: string; }; }; /** Updates the deployment settings of the given service. */ declare class UpdateServiceDeploymentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServiceDeploymentRequest) => string; body: (payload: UpdateServiceDeploymentRequest) => string; } type GetServiceHealthchecksResult = { /** An array of health checks. */ 'healthChecks': { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe'; /** The path of the health check endpoint. Example: "/health-check" */ 'path'?: string | null; /** The command to run for the health check. */ 'cmd'?: any; /** HTTP port number for the health check endpoint. Example: 3000 */ 'httpPort'?: any; /** TCP port number for the health check endpoint. */ 'tcpSocketPort'?: any; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: any; }[]; }; type GetServiceHealthchecksCall = (opts: GetServiceHealthchecksRequest) => Promise>; type GetServiceHealthchecksRequest = { parameters: GetServiceHealthchecksParameters; }; type GetServiceHealthchecksParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Lists the health checks for the given service. */ declare class GetServiceHealthchecksEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceHealthchecksRequest) => string; body: () => undefined; } type UpdateServiceHealthchecksResult = any; type UpdateServiceHealthchecksCall = (opts: UpdateServiceHealthchecksRequest) => Promise>; type UpdateServiceHealthchecksRequest = { parameters: UpdateServiceHealthchecksParameters; data: UpdateServiceHealthchecksData; }; type UpdateServiceHealthchecksParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServiceHealthchecksData = { /** An array of health checks. */ 'healthChecks': { /** The protocol to access the health check with. Example: "HTTP" */ 'protocol': 'HTTP' | 'CMD' | 'TCP'; /** The type of health check. Example: "readinessProbe" */ 'type': 'livenessProbe' | 'readinessProbe' | 'startupProbe'; /** The path of the health check endpoint. Required when protocol is HTTP. Example: "/health-check" */ 'path'?: string; /** The command to run for the health check. Required when protocol is CMD */ 'cmd'?: string; /** Port number for the health check endpoint. Required when protocol is HTTP. Example: 8080 */ 'port'?: number; /** Initial delay, in seconds, before the health check is first run. Example: 10 */ 'initialDelaySeconds': number; /** The time between each check, in seconds. Example: 60 */ 'periodSeconds': number; /** The time to wait for a response before marking the health check as a failure. Example: 1 */ 'timeoutSeconds': number; /** The maximum number of allowed failures. Example: 3 */ 'failureThreshold': number; /** The number of successes required to mark the health check as a success. Example: 1 */ 'successThreshold'?: number; }[]; }; /** Updates health checks for the given service. */ declare class UpdateServiceHealthchecksEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServiceHealthchecksRequest) => string; body: (payload: UpdateServiceHealthchecksRequest) => string; } type PauseServiceResult = any; type PauseServiceCall = (opts: PauseServiceRequest) => Promise>; type PauseServiceRequest = { parameters: PauseServiceParameters; }; type PauseServiceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Pause the given service. */ declare class PauseServiceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PauseServiceRequest) => string; body: () => undefined; } type GetServicePortsResult = { /** An array of ports of the service. */ 'ports': { /** The id used to identify the port across requests. Example: "eonyui" */ 'id': string; /** The name of the port used in the public url and UI. Example: "p01" */ 'name': string; /** The port number. Example: 8080 */ 'internalPort': number; /** The protocol used by the port. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; /** If true, the port is exposed publicly. Example: true */ 'public': boolean; /** DNS entry for this port. Example: "p01--example-service--default-service--user-abc1.salvo.code.run" */ 'dns'?: string; /** An array of domains that redirect to this port. */ 'domains': { /** The custom domain redirecting to this port. Example: "app.example.com" */ 'name': string; /** Details about the TLS certificate generation for this domain. */ 'certificate': { /** Is the certificate in the process of being generated? */ 'inProgress'?: boolean; /** The timestamp when the TLS certificate will expire. Example: "2022-04-26T09:25:02.000Z" */ 'expiryDate'?: string; /** The timestamp when a new TLS certificate will be generated. Example: "2022-03-27T09:25:02.000Z" */ 'refreshDate'?: string; }; }[]; /** Details about security settings for this port. */ 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure SSO access control for this port. */ 'sso'?: { /** Organization ID of the work OS organization that should be validated. Example: "org_uniquestringidentifier" */ 'organizationId'?: string; /** List of directory groupIds, one of which the user has to be a member of. */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: { 'regexMode'?: boolean; 'name'?: string; 'value': string; }[]; }; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; }[]; }; type GetServicePortsCall = (opts: GetServicePortsRequest) => Promise>; type GetServicePortsRequest = { parameters: GetServicePortsParameters; }; type GetServicePortsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Lists the ports for the given service. */ declare class GetServicePortsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServicePortsRequest) => string; body: () => undefined; } type UpdateServicePortsResult = any | any; type UpdateServicePortsCall = (opts: UpdateServicePortsRequest) => Promise>; type UpdateServicePortsRequest = { parameters: UpdateServicePortsParameters; data: UpdateServicePortsData; }; type UpdateServicePortsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServicePortsData = { /** An array of ports to replace or update existing ports with. */ 'ports': { /** The id of an existing port. Pass this when changing in order to keep security configurations. Example: "p01" */ 'id'?: string; /** The name used to identify the port. Example: "p01" */ 'name': string; /** The port number. Example: 12345 */ 'internalPort': number; /** If true, the port will be exposed publicly. Example: true */ 'public'?: boolean; /** The protocol to use for the port. Public ports only support `HTTP` and `HTTP/2`. Example: "HTTP" */ 'protocol': 'HTTP' | 'HTTP/2' | 'TCP' | 'UDP'; /** An array of domains to redirect to this port. Each domain must first be verified and registered to your account. */ 'domains'?: string[]; 'security'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; /** Mode used to verify multiple security features like ip policies and SSO authentication */ 'verificationMode'?: 'or' | 'and'; 'securePathConfiguration'?: { /** Enable security policies on a path-level style */ 'enabled'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip all security policies */ 'skipSecurityPoliciesForInternalTrafficViaPublicDns'?: boolean; 'rules'?: { /** Array of path objects which represent the paths and their priority for which the security policies will be enforced */ 'paths': any[]; /** Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path Example: "protected" */ 'accessMode': 'protected' | 'unprotected'; 'securityPolicies'?: { 'orPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; 'requiredPolicies'?: { /** An array of credentials to access the service. */ 'credentials'?: { /** The username to access the service Example: "admin" */ 'username': string; /** The password to access the service with this username. Example: "password123" */ 'password': string; /** The type of authentication used Example: "basic-auth" */ 'type': 'basic-auth'; }[]; /** An array of IP address policies. */ 'ip'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** An array of IP address policies. */ 'policies'?: { /** An array of IP addresses used for this rule */ 'addresses': string[]; /** The action for this rule. Example: "DENY" */ 'action': 'ALLOW' | 'DENY'; }[]; /** Configure port authentication via SSO */ 'sso'?: { /** ID of the SSO organization that the user will have to be a member of */ 'organizationId'?: string; /** Array of directory groups that will have access */ 'directoryGroupIds'?: string[]; /** Allow entire organization to access this service */ 'allowAnyOrgUsers'?: boolean; /** Enforce internal traffic through SSO authentication flow */ 'validateInternalTraffic'?: boolean; /** Set SSO authentication cookie on root domain */ 'setCookieOnRootDomain'?: boolean; /** Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow */ 'allowInternalTrafficViaPublicDns'?: boolean; }; /** List of header authentication settings, it checks the presence of all headers and compares it against the expected value. Wildcard (*) is supported. */ 'headers'?: any[]; }; }; }[]; }; }; /** Disable routing on the default code.run domain for public HTTP ports with custom domains. */ 'disableNfDomain'?: boolean; }[]; }; /** Updates the list of ports for the given service. */ declare class UpdateServicePortsEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServicePortsRequest) => string; body: (payload: UpdateServicePortsRequest) => string; } type GetServicePullrequestsResult = { /** A list of pull requests for this repository. */ 'pullRequests'?: { /** ID number of the pull request. Example: 1 */ 'id': number; /** Status of the pull request. Example: "OPEN" */ 'state': string; /** Title of the pull request. Example: "Add new feature handling" */ 'title': string; /** Name of the branch the pull request is merging from. Example: "feature/new-feature" */ 'source': string; /** Name of the branch the pull request is being merged into. Example: "main" */ 'destination': string; /** SHA of the most recent commit of the pull request. Example: "4f101d8821aeb3e4f81f95f3e886a2759ba7b9db" */ 'sha': string; /** The timestamp the pull request was opened. Example: "2021-03-22T11:05:52.000Z" */ 'created_at': string; /** The timestamp the pull request was last updated at. Example: "2021-05-11T16:05:43.000Z" */ 'updated_at': string; 'html_url': string; }[]; }; type GetServicePullrequestsCall = ((opts: GetServicePullrequestsRequest) => Promise>) & { all: (opts: GetServicePullrequestsRequest) => Promise>; }; type GetServicePullrequestsRequest = { parameters: GetServicePullrequestsParameters; options?: GetServicePullrequestsOptions; }; type GetServicePullrequestsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type GetServicePullrequestsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets information about the pull-requests of the given service. */ declare class GetServicePullrequestsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServicePullrequestsRequest) => string; body: () => undefined; } type RestartServiceResult = any; type RestartServiceCall = (opts: RestartServiceRequest) => Promise>; type RestartServiceRequest = { parameters: RestartServiceParameters; }; type RestartServiceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Restarts the given service. */ declare class RestartServiceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RestartServiceRequest) => string; body: () => undefined; } type ResumeServiceResult = any | any; type ResumeServiceCall = (opts: ResumeServiceRequest) => Promise>; type ResumeServiceRequest = { parameters: ResumeServiceParameters; data: ResumeServiceData; }; type ResumeServiceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type ResumeServiceData = { /** The number of instances to scale the service to upon resuming Example: 1 */ 'instances'?: number; /** Whether CI should be disabled */ 'disabledCI'?: boolean; /** Whether CD should be disabled */ 'disabledCD'?: boolean; }; /** Resumes the given service. Optionally takes several arguments to override resumed settings. */ declare class ResumeServiceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ResumeServiceRequest) => string; body: (payload: ResumeServiceRequest) => string; } type GetServiceRuntimeenvironmentResult = { /** The runtime environment variables, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain secrets saved to this entity. If the `show` parameter is set to `inherited`, this will only contain secrets inherited from linked secret groups. Otherwise, this will contain both. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment': any; /** The runtime secret files, formatted as a JSON object. If the `show` parameter is set to `this`, this will only contain files saved to this entity. If the `show` parameter is set to `inherited`, this will only contain files inherited from linked secret groups. Otherwise, this will contain both. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles': any; }; type GetServiceRuntimeenvironmentCall = (opts: GetServiceRuntimeenvironmentRequest) => Promise>; type GetServiceRuntimeenvironmentRequest = { parameters: GetServiceRuntimeenvironmentParameters; options?: GetServiceRuntimeenvironmentOptions; }; type GetServiceRuntimeenvironmentParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type GetServiceRuntimeenvironmentOptions = { /** Which secrets to display - if set to `this` only the group's secrets are displayed, if set to `inherited` only secrets from linked addons are displayed, if set to `all` or not provided, both are displayed. */ 'show'?: string; /** If templated secrets should be replaced with their inferred value rather than returned as template strings. */ 'replaceTemplatedValues'?: string; }; /** Gets the runtime environment of the given service. If the API key does not have the permission 'Project > Secrets > General > Read', secrets inherited from secret groups will not be displayed. */ declare class GetServiceRuntimeenvironmentEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceRuntimeenvironmentRequest) => string; body: () => undefined; } type UpdateServiceRuntimeenvironmentResult = { /** True if the operation was successful. Example: true */ 'success': boolean; /** Did the service successfully restart with the new environment variables? Example: true */ 'restartSuccessful': boolean; }; type UpdateServiceRuntimeenvironmentCall = (opts: UpdateServiceRuntimeenvironmentRequest) => Promise>; type UpdateServiceRuntimeenvironmentRequest = { parameters: UpdateServiceRuntimeenvironmentParameters; data: UpdateServiceRuntimeenvironmentData; }; type UpdateServiceRuntimeenvironmentParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type UpdateServiceRuntimeenvironmentData = { /** An object containing the all of the environment variables to set for the service. Keys may only contain letters, numbers, hyphens, forward slashes and dots. Example: {"VARIABLE_1":"abcdef","VARIABLE_2":"12345"} */ 'runtimeEnvironment': any; /** Secret files as JSON object, encrypted at rest. File path must be absolute Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'runtimeFiles'?: any; }; /** Sets the runtime environment for the given service. */ declare class UpdateServiceRuntimeenvironmentEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateServiceRuntimeenvironmentRequest) => string; body: (payload: UpdateServiceRuntimeenvironmentRequest) => string; } type GetServiceRuntimeenvironmentdetailsResult = { /** Details about all the secrets accessible by the service. */ 'runtimeEnvironment': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ 'MY_VARIABLE_NAME'?: { /** The value of the secret. Example: "abcdef123456" */ 'value': any; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The ID of the addon the secret is inherited from, if applicable. Example: "example-addon" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the secret has been inherited from, but that are not being used as a secret with the same key exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The ID of the addon the secret is inherited from, if applicable. Example: "addon-2" */ 'addonId'?: string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; /** Details about all the secrets accessible by the service. */ 'runtimeFiles': { /** A stored secret and details about it and its value. This can have the name of any saved secret. */ '/dir/fileName'?: { /** The value of the secret. Example: {"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}} */ 'value': { /** base64 encoded string of the file contents Example: "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=" */ 'data'?: string; /** Original encoding of the file Example: "utf-8" */ 'encoding'?: string; }; /** The ID of the secret group the secret is inherited from, if applicable. Example: "example-secret" */ 'inheritedFrom'?: string; /** The priority of the secret group the secret is inherited from, if applicable. Example: 10 */ 'priority'?: number; /** An array containing data about other places the file has been inherited from, but that are not being used as a secret with the same file path exists with a higher priority. */ 'overriding': { /** The value of the secret. Example: "ffffffffffff" */ 'value': any; /** The ID of the secret group the secret is inherited from. Example: "secret-2" */ 'inheritedFrom': string; /** The priority of the secret group the secret is inherited from. */ 'priority': number; }[]; }; }; }; type GetServiceRuntimeenvironmentdetailsCall = (opts: GetServiceRuntimeenvironmentdetailsRequest) => Promise>; type GetServiceRuntimeenvironmentdetailsRequest = { parameters: GetServiceRuntimeenvironmentdetailsParameters; }; type GetServiceRuntimeenvironmentdetailsParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; /** Get details about the runtime environment accessible by the given service. Also requires the permission 'Project > Secrets > General > Read' */ declare class GetServiceRuntimeenvironmentdetailsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetServiceRuntimeenvironmentdetailsRequest) => string; body: () => undefined; } type ScaleServiceResult = any; type ScaleServiceCall = (opts: ScaleServiceRequest) => Promise>; type ScaleServiceRequest = { parameters: ScaleServiceParameters; data: ScaleServiceData; }; type ScaleServiceParameters = { /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the service */ 'serviceId': string; }; type ScaleServiceData = { /** The number of instances to scale the service to Example: 1 */ 'instances'?: number; /** ID of the deployment plan to switch to. Example: "nf-compute-20" */ 'deploymentPlan'?: string; 'storage'?: { 'useHdbStorage'?: boolean; 'usePdSsdStorage'?: boolean; 'ephemeralStorage'?: { /** Ephemeral storage per container in MB Example: 1024 */ 'storageSize'?: number; }; /** Configures the amount of available memory-backed disk space available to /dev/shm */ 'shmSize'?: number; }; /** The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. */ 'gracePeriodSeconds'?: number; }; /** Modifies the scaling settings for the given service. */ declare class ScaleServiceEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ScaleServiceRequest) => string; body: (payload: ScaleServiceRequest) => string; } type ListVolumesResult = { /** Identifier for the volume Example: "example-volume" */ 'id': string; /** Volume name Example: "Example Volume" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** Example storage schema */ 'spec': { /** Access mode of the volume. Only `ReadWriteOnce` is generally available. */ 'accessMode': 'ReadWriteOnce' | 'ReadWriteMany'; /** The type of the storage. Example: "ssd" */ 'storageClassName'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; }; /** List of objects this volume is attached to. */ 'attachedObjects'?: { /** The id of object to attach this volume to. Example: "example-service" */ 'id': string; /** The type of the object to attach this volume to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** Status the volume is in on the cluster Example: "BOUND" */ 'status': string; /** The timestamp the volume was created at Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** The timestamp the volume was last updated at Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }[]; type ListVolumesCall = ((opts: ListVolumesRequest) => Promise>) & { all: (opts: ListVolumesRequest) => Promise>; }; type ListVolumesRequest = { parameters: ListVolumesParameters; options?: ListVolumesOptions; }; type ListVolumesParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListVolumesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of volumes belonging to the project */ declare class ListVolumesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListVolumesRequest) => string; body: () => undefined; } type CreateVolumeResult = { /** Identifier for the volume Example: "example-volume" */ 'id': string; /** Volume name Example: "Example Volume" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** Example storage schema */ 'spec': { /** Access mode of the volume. Only `ReadWriteOnce` is generally available. */ 'accessMode': 'ReadWriteOnce' | 'ReadWriteMany'; /** The type of the storage. Example: "ssd" */ 'storageClassName'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; }; /** List of objects this volume is attached to. */ 'attachedObjects'?: { /** The id of object to attach this volume to. Example: "example-service" */ 'id': string; /** The type of the object to attach this volume to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** Status the volume is in on the cluster Example: "BOUND" */ 'status': string; /** The timestamp the volume was created at Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** The timestamp the volume was last updated at Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; } | any; type CreateVolumeCall = (opts: CreateVolumeRequest) => Promise>; type CreateVolumeRequest = { parameters: CreateVolumeParameters; data: CreateVolumeData; }; type CreateVolumeParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateVolumeData = { /** The name of the volume. Example: "Example Volume" */ 'name': string; 'stageId'?: string; /** An array of previously defined tags to help identify and group the resource. */ 'tags'?: string[]; /** Array of mounts, containerMountPaths must be unique */ 'mounts': { /** Optionally specify the path inside this volume that should be mounted */ 'volumeMountPath'?: string; /** Specify the path into which the volume should be mounted Example: "/container" */ 'containerMountPath': string; }[]; /** Example storage schema */ 'spec': { /** Access mode of the volume. Only `ReadWriteOnce` is generally available. */ 'accessMode': 'ReadWriteOnce' | 'ReadWriteMany'; /** The type of the storage. Example: "ssd" */ 'storageClassName'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; }; 'source'?: { 'type': 'volume' | 'backup'; /** The ID of the source object */ 'sourceId': string; }; /** DEPRECATED: The object to attach this volume to. */ 'owningObject'?: { /** The id of object to attach this volume to. */ 'id': string; /** The type of the object to attach this volume to. */ 'type': 'service' | 'job'; }; /** Array of objects this volume is attached to. */ 'attachedObjects'?: { /** The id of object to attach this volume to. Example: "example-service" */ 'id': string; /** The type of the object to attach this volume to. Example: "service" */ 'type': 'service' | 'job'; }[]; }; /** Creates a volume with the specified payload */ declare class CreateVolumeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateVolumeRequest) => string; body: (payload: CreateVolumeRequest) => string; } type GetVolumeResult = { /** Identifier for the volume Example: "example-volume" */ 'id': string; /** Volume name Example: "Example Volume" */ 'name': string; /** An array of previously defined tags to help identify and group the resource. */ 'tags': string[]; /** Example storage schema */ 'spec': { /** Access mode of the volume. Only `ReadWriteOnce` is generally available. */ 'accessMode': 'ReadWriteOnce' | 'ReadWriteMany'; /** The type of the storage. Example: "ssd" */ 'storageClassName'?: string; /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize': number; }; /** List of objects this volume is attached to. */ 'attachedObjects'?: { /** The id of object to attach this volume to. Example: "example-service" */ 'id': string; /** The type of the object to attach this volume to. Example: "service" */ 'type': 'service' | 'job'; }[]; /** Status the volume is in on the cluster Example: "BOUND" */ 'status': string; /** The timestamp the volume was created at Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** The timestamp the volume was last updated at Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetVolumeCall = (opts: GetVolumeRequest) => Promise>; type GetVolumeRequest = { parameters: GetVolumeParameters; }; type GetVolumeParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; /** Retrieve a volume */ declare class GetVolumeEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetVolumeRequest) => string; body: () => undefined; } type UpdateVolumeResult = any; type UpdateVolumeCall = (opts: UpdateVolumeRequest) => Promise>; type UpdateVolumeRequest = { parameters: UpdateVolumeParameters; data: UpdateVolumeData; }; type UpdateVolumeParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; type UpdateVolumeData = { /** Array of mounts, containerMountPaths must be unique */ 'mounts'?: { /** Optionally specify the path inside this volume that should be mounted */ 'volumeMountPath'?: string; /** Specify the path into which the volume should be mounted Example: "/container" */ 'containerMountPath': string; }[]; 'spec'?: { /** The size of the storage, in megabytes. Configurable sizes depend on the storage class. Example: 6144 */ 'storageSize'?: number; }; }; /** Update volume mounts and storage size */ declare class UpdateVolumeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateVolumeRequest) => string; body: (payload: UpdateVolumeRequest) => string; } type DeleteVolumeResult = any; type DeleteVolumeCall = (opts: DeleteVolumeRequest) => Promise>; type DeleteVolumeRequest = { parameters: DeleteVolumeParameters; }; type DeleteVolumeParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; /** Deletes this volume and its associated data. */ declare class DeleteVolumeEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteVolumeRequest) => string; body: () => undefined; } type AttachVolumeResult = any; type AttachVolumeCall = (opts: AttachVolumeRequest) => Promise>; type AttachVolumeRequest = { parameters: AttachVolumeParameters; data: AttachVolumeData; }; type AttachVolumeParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; type AttachVolumeData = { /** DEPRECATED: The object to attach this volume to. */ 'owningObject'?: { /** The id of object to attach this volume to. */ 'id': string; /** The type of the object to attach this volume to. */ 'type': 'service' | 'job'; }; /** The object to attach this volume to. */ 'nfObject'?: { /** The id of object to attach this volume to. Example: "example-service" */ 'id': string; /** The type of the object to attach this volume to. Example: "service" */ 'type': 'service' | 'job'; }; }; /** Attach a volume */ declare class AttachVolumeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AttachVolumeRequest) => string; body: (payload: AttachVolumeRequest) => string; } type GetVolumeBackupsResult = { /** Identifier for the backup Example: "example-backup" */ 'id': string; 'name': string; 'description'?: string; 'status': string; 'spec'?: { 'storageSize'?: number; }; 'source'?: { 'type'?: string; 'sourceObject'?: { 'id'?: string; 'spec'?: { 'accessMode'?: string; 'storageSize'?: number; 'storageClassName'?: string; }; }; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; type GetVolumeBackupsCall = ((opts: GetVolumeBackupsRequest) => Promise>) & { all: (opts: GetVolumeBackupsRequest) => Promise>; }; type GetVolumeBackupsRequest = { parameters: GetVolumeBackupsParameters; options?: GetVolumeBackupsOptions; }; type GetVolumeBackupsParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; type GetVolumeBackupsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get list of backups associated with a volume */ declare class GetVolumeBackupsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetVolumeBackupsRequest) => string; body: () => undefined; } type BackupVolumeResult = { /** Identifier for the backup Example: "example-backup" */ 'id': string; 'name': string; 'description'?: string; 'status': string; 'spec'?: { 'storageSize'?: number; }; 'source'?: { 'type'?: string; 'sourceObject'?: { 'id'?: string; 'spec'?: { 'accessMode'?: string; 'storageSize'?: number; 'storageClassName'?: string; }; }; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type BackupVolumeCall = (opts: BackupVolumeRequest) => Promise>; type BackupVolumeRequest = { parameters: BackupVolumeParameters; data: BackupVolumeData; }; type BackupVolumeParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; type BackupVolumeData = { /** The name of the backup. Example: "Example Backup" */ 'name': string; /** The description for the backup. Example: "Example backup description" */ 'description'?: string; }; /** Initiates a backup for a given volume */ declare class BackupVolumeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: BackupVolumeRequest) => string; body: (payload: BackupVolumeRequest) => string; } type GetVolumeBackupResult = { /** Identifier for the backup Example: "example-backup" */ 'id': string; 'name': string; 'description'?: string; 'status': string; 'spec'?: { 'storageSize'?: number; }; 'source'?: { 'type'?: string; 'sourceObject'?: { 'id'?: string; 'spec'?: { 'accessMode'?: string; 'storageSize'?: number; 'storageClassName'?: string; }; }; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetVolumeBackupCall = (opts: GetVolumeBackupRequest) => Promise>; type GetVolumeBackupRequest = { parameters: GetVolumeBackupParameters; }; type GetVolumeBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; /** ID of the backup */ 'backupId': string; }; /** Get details for a specific volume backup */ declare class GetVolumeBackupEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetVolumeBackupRequest) => string; body: () => undefined; } type DeleteVolumeBackupResult = any; type DeleteVolumeBackupCall = (opts: DeleteVolumeBackupRequest) => Promise>; type DeleteVolumeBackupRequest = { parameters: DeleteVolumeBackupParameters; }; type DeleteVolumeBackupParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; /** ID of the backup */ 'backupId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; /** ID of the backup */ 'backupId': string; }; /** Delete the volume backup */ declare class DeleteVolumeBackupEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteVolumeBackupRequest) => string; body: () => undefined; } type DetachVolumeResult = any; type DetachVolumeCall = (opts: DetachVolumeRequest) => Promise>; type DetachVolumeRequest = { parameters: DetachVolumeParameters; data: DetachVolumeData; }; type DetachVolumeParameters = { /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the volume */ 'volumeId': string; }; type DetachVolumeData = { /** The object to detach this volume to. */ 'nfObject': { /** The id of object to detach this volume to. Example: "example-service" */ 'id': string; /** The type of the object to detach this volume to. Example: "service" */ 'type': 'service' | 'job'; }; }; /** Detach a volume */ declare class DetachVolumeEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DetachVolumeRequest) => string; body: (payload: DetachVolumeRequest) => string; } type ListWorkflowsResult = { /** An array of workflows in this project. */ 'pipelines': { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Identifier for the workflow Example: "example-workflow" */ 'id': string; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListWorkflowsCall = ((opts: ListWorkflowsRequest) => Promise>) & { all: (opts: ListWorkflowsRequest) => Promise>; }; type ListWorkflowsRequest = { parameters: ListWorkflowsParameters; options?: ListWorkflowsOptions; }; type ListWorkflowsParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type ListWorkflowsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists all workflows for a project */ declare class ListWorkflowsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListWorkflowsRequest) => string; body: () => undefined; } type CreateWorkflowResult = any; type CreateWorkflowCall = (opts: CreateWorkflowRequest) => Promise>; type CreateWorkflowRequest = { parameters: CreateWorkflowParameters; data: CreateWorkflowData; }; type CreateWorkflowParameters = { /** ID of the project */ 'projectId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; }; type CreateWorkflowData = { /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'name': string; 'description'?: string; /** An array of rich UI override inputs for the workflow. */ 'richInputs'?: any[]; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Optional spec to run when the workflow is deleted. */ 'teardownSpec'?: { /** The root node of the teardown workflow. */ 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'argumentOverrides'?: any; /** ID of the stage */ 'stageId'?: string | null | string; 'triggers'?: any[]; 'apiVersion': string; 'project'?: any; 'spec': any; }; /** Create a workflow */ declare class CreateWorkflowEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateWorkflowRequest) => string; body: (payload: CreateWorkflowRequest) => string; } type GetWorkflowResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'name': string; 'description'?: string; 'spec'?: any; /** An array of rich UI override inputs for the workflow. */ 'richInputs'?: any[]; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Optional spec to run when the workflow is deleted. */ 'teardownSpec'?: { /** The root node of the teardown workflow. */ 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'argumentOverrides'?: any; /** ID of the stage */ 'stageId'?: string | null | string; 'triggers'?: any[]; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether triggers are paused for this workflow. If `true`, Git triggers and webhook triggers will not run the workflow. */ 'paused': boolean; /** Timestamp the template was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the template was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetWorkflowCall = (opts: GetWorkflowRequest) => Promise>; type GetWorkflowRequest = { parameters: GetWorkflowParameters; }; type GetWorkflowParameters = { /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; }; /** Gets details about a workflow */ declare class GetWorkflowEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetWorkflowRequest) => string; body: () => undefined; } type UpdateWorkflowResult = any; type UpdateWorkflowCall = (opts: UpdateWorkflowRequest) => Promise>; type UpdateWorkflowRequest = { parameters: UpdateWorkflowParameters; data: UpdateWorkflowData; }; type UpdateWorkflowParameters = { /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; }; type UpdateWorkflowData = { /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'name': string; 'description'?: string; /** An array of rich UI override inputs for the workflow. */ 'richInputs'?: any[]; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Optional spec to run when the workflow is deleted. */ 'teardownSpec'?: { /** The root node of the teardown workflow. */ 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'argumentOverrides'?: any; /** ID of the stage */ 'stageId'?: string | null | string; 'triggers'?: any[]; 'apiVersion': string; 'project'?: any; 'spec': any; }; /** Updates a workflow */ declare class UpdateWorkflowEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateWorkflowRequest) => string; body: (payload: UpdateWorkflowRequest) => string; } type RunWorkflowResult = any; type RunWorkflowCall = (opts: RunWorkflowRequest) => Promise>; type RunWorkflowRequest = { parameters: RunWorkflowParameters; data: RunWorkflowData; }; type RunWorkflowParameters = { /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; }; type RunWorkflowData = { /** The optional name of the workflow run. Example: "Example Run" */ 'name'?: string; /** The optional description of the workflow run. Example: "This is a description for the workflow run." */ 'description'?: string; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. Example: {"ARG_1":"value"} */ 'arguments'?: any; /** Overrides for specific reference values. This should be an object where each key corresponds to a ref defined in the template. The values of each of these keys should also be an object, where each key value pair provided will overwrite the value for that key in the given ref. For example, the value `{ 'example-ref': { 'branch': 'devel' } }` would set the `branch` field to `devel` for the node with ref `example-ref`. Example: {"example-ref":{"branch":"devel"}} */ 'overrides'?: any; /** Overrides for release nodes. This should be an object where each key is the id of a deployment service used in a release node. The value of each of these keys should be also be an object containing the new spec of the release for that deployment service. Example: {"example-service":{"type":"registry","origin":{"imagePath":"nginx:latest"}}} */ 'releaseNodeOverrides'?: any; }; /** Runs a given workflow with given arguments. This endpoint can be used as part of a CI pipeline to automatically trigger a release process. */ declare class RunWorkflowEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RunWorkflowRequest) => string; body: (payload: RunWorkflowRequest) => string; } type ListWorkflowrunsResult = { /** A workflow run */ 'runs'?: { /** ID of the workflow run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the workflow run Example: "Example run" */ 'name'?: string; /** Optional description for the workflow run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }[]; }; type ListWorkflowrunsCall = ((opts: ListWorkflowrunsRequest) => Promise>) & { all: (opts: ListWorkflowrunsRequest) => Promise>; }; type ListWorkflowrunsRequest = { parameters: ListWorkflowrunsParameters; options?: ListWorkflowrunsOptions; }; type ListWorkflowrunsParameters = { /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; }; type ListWorkflowrunsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Lists runs of a workflow */ declare class ListWorkflowrunsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListWorkflowrunsRequest) => string; body: () => undefined; } type GetWorkflowrunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** ID of the workflow run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the workflow run Example: "Example run" */ 'name'?: string; /** Optional description for the workflow run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetWorkflowrunCall = (opts: GetWorkflowrunRequest) => Promise>; type GetWorkflowrunRequest = { parameters: GetWorkflowrunParameters; }; type GetWorkflowrunParameters = { /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; /** ID of the workflow run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; /** ID of the workflow run */ 'runId': string; }; /** Get information about the given workflow run */ declare class GetWorkflowrunEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetWorkflowrunRequest) => string; body: () => undefined; } type AbortWorkflowrunResult = { /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'triggers'?: { /** A reference that can be used to access the output of this trigger in the template. */ 'ref'?: string; /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If vcsService is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; 'vcsLinkId'?: string; /** URL of the Git repo that will trigger the template. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; 'branchRestrictions'?: string[]; 'prRestrictions'?: string[]; /** An array of path ignore rules. A commit will only be built if a file has been changed that does not match any of the ignore rules. Path ignore rules follow `.gitignore` syntax. */ 'pathIgnoreRules'?: string[]; /** An array of commit ignore flags. If a commit message contains one or more of these flags, that commit will not be built. Defaults to `["[skip ci]", "[ci skip]", "[no ci]", "[skip nf]", "[nf skip]", "[northflank skip]", "[skip northflank]"]` Example: ["[skip ci]","[ci skip]","[no ci]","[skip nf]","[nf skip]","[northflank skip]","[skip northflank]"] */ 'ciIgnoreFlags'?: string[]; 'ciIgnoreFlagsEnabled'?: boolean; 'isAllowList'?: boolean; /** If `true`, draft pull requests from this repo will not trigger the template. */ 'ignoreDrafts'?: boolean; }[]; /** Options regarding how the template is run. */ 'options'?: { /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If `true`, the template will not run when triggered by git. */ 'paused'?: boolean; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** ID of the workflow run Example: "110ddb52-bdcd-482d-8ac2-05ba580afe2f" */ 'id': string; /** Optional name for the workflow run Example: "Example run" */ 'name'?: string; /** Optional description for the workflow run Example: "This is an example description" */ 'description'?: string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type AbortWorkflowrunCall = (opts: AbortWorkflowrunRequest) => Promise>; type AbortWorkflowrunRequest = { parameters: AbortWorkflowrunParameters; }; type AbortWorkflowrunParameters = { /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; /** ID of the workflow run */ 'runId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the project */ 'projectId': string; /** ID of the workflow */ 'workflowId': string; /** ID of the workflow run */ 'runId': string; }; /** Abort the given workflow run */ declare class AbortWorkflowrunEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortWorkflowrunRequest) => string; body: () => undefined; } type ListRegionsResult = { /** An array of regions */ 'regions': { /** The ID of the region. Example: "europe-west" */ 'id': string; /** The name of the region. Example: "Europe - West" */ 'name': string; /** The name of the group this region belongs to. Example: "EMEA" */ 'regionName': string; 'provider'?: { 'id': string; 'region': string; }; /** The list of GPUs available in this region. */ 'gpuDevices': { /** The ID of the GPU device. Example: "h100-80" */ 'id': string; /** The name of the GPU device. Example: "H100" */ 'name': string; /** The manufacturer of the GPU. Example: "NVIDIA" */ 'manufacturer': string; 'memoryInfo'?: { /** The size of the GPU memory in MiB. Example: 81920 */ 'sizeInMiB': number; }; /** The list of available configurations for GPU count. Example: [1,2,4,8] */ 'countOptions': number[]; 'pricing': { /** The price per hour for on-demand usage, in US¢. Example: 274 */ 'onDemand': number; }; }[]; }[]; }; type ListRegionsCall = (opts: ListRegionsRequest) => Promise>; type ListRegionsRequest = {}; /** Lists available project regions */ declare class ListRegionsEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListRegionsRequest) => string; body: () => undefined; } type ListGlobalsecretsResult = { /** An array of global secrets */ 'secrets': { /** Identifier for the global secret Example: "example-secret" */ 'id': string; /** Global secret name Example: "Example Secret" */ 'name': string; /** A short description of the global secret Example: "This is the global secret description" */ 'description'?: string; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; /** The time the global secret was created. Example: "2020-01-01T12:00:00.000Z" */ 'createdAt': string; /** The time the global secret was last updated. Example: "2020-01-01T12:00:00.000Z" */ 'updatedAt': string; }[]; }; type ListGlobalsecretsCall = ((opts: ListGlobalsecretsRequest) => Promise>) & { all: (opts: ListGlobalsecretsRequest) => Promise>; }; type ListGlobalsecretsRequest = { parameters?: ListGlobalsecretsParameters; options?: ListGlobalsecretsOptions; }; type ListGlobalsecretsParameters = { /** ID of the team */ 'teamId': string; }; type ListGlobalsecretsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of global secrets */ declare class ListGlobalsecretsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListGlobalsecretsRequest) => string; body: () => undefined; } type CreateGlobalsecretResult = { 'name': string; 'description'?: string; 'secrets'?: { 'values': any; 'files'?: any; }; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; } | any; type CreateGlobalsecretCall = (opts: CreateGlobalsecretRequest) => Promise>; type CreateGlobalsecretRequest = { parameters?: CreateGlobalsecretParameters; data: CreateGlobalsecretData; }; type CreateGlobalsecretParameters = { /** ID of the team */ 'teamId': string; }; type CreateGlobalsecretData = { 'name': string; 'description'?: string; 'secrets'?: { 'values': any; 'files'?: any; }; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; }; /** Creates a global secret with the specified payload */ declare class CreateGlobalsecretEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateGlobalsecretRequest) => string; body: (payload: CreateGlobalsecretRequest) => string; } type PutGlobalsecretResult = { 'name': string; 'description'?: string; 'secrets'?: { 'values': any; 'files'?: any; }; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PutGlobalsecretCall = (opts: PutGlobalsecretRequest) => Promise>; type PutGlobalsecretRequest = { parameters?: PutGlobalsecretParameters; data: PutGlobalsecretData; }; type PutGlobalsecretParameters = { /** ID of the team */ 'teamId': string; }; type PutGlobalsecretData = { 'name': string; 'description'?: string; 'secrets'?: { 'values': any; 'files'?: any; }; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; }; /** Creates or updates a global secret with the specified payload */ declare class PutGlobalsecretEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutGlobalsecretRequest) => string; body: (payload: PutGlobalsecretRequest) => string; } type PatchGlobalsecretResult = { 'name': string; 'description'?: string; 'secrets'?: { 'values': any; 'files'?: any; }; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type PatchGlobalsecretCall = (opts: PatchGlobalsecretRequest) => Promise>; type PatchGlobalsecretRequest = { parameters: PatchGlobalsecretParameters; data: PatchGlobalsecretData; }; type PatchGlobalsecretParameters = { /** ID of the secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the secret */ 'secretId': string; }; type PatchGlobalsecretData = { 'description'?: string; 'secrets'?: { 'values'?: any; 'files'?: any; }; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; }; /** Updates a global secret with the specified payload */ declare class PatchGlobalsecretEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchGlobalsecretRequest) => string; body: (payload: PatchGlobalsecretRequest) => string; } type GetGlobalsecretResult = { 'name': string; 'description'?: string; 'secrets'?: { 'values': any; 'files'?: any; }; /** The permission type of the global secret. Example: "secret" */ 'type': 'secret' | 'config'; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetGlobalsecretCall = (opts: GetGlobalsecretRequest) => Promise>; type GetGlobalsecretRequest = { parameters: GetGlobalsecretParameters; }; type GetGlobalsecretParameters = { /** ID of the secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the secret */ 'secretId': string; }; /** Get a global secret including its contents */ declare class GetGlobalsecretEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetGlobalsecretRequest) => string; body: () => undefined; } type DeleteGlobalsecretResult = any; type DeleteGlobalsecretCall = (opts: DeleteGlobalsecretRequest) => Promise>; type DeleteGlobalsecretRequest = { parameters: DeleteGlobalsecretParameters; }; type DeleteGlobalsecretParameters = { /** ID of the secret */ 'secretId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the secret */ 'secretId': string; }; /** Delete a global secret */ declare class DeleteGlobalsecretEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteGlobalsecretRequest) => string; body: () => undefined; } type ListTagsResult = { /** A list of available resource tags. */ 'tags': { /** Schedule workloads to spot nodes */ 'useSpotNodes'?: boolean; /** Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes */ 'useOnDemandNodes'?: boolean; 'nodeAffinities'?: { 'preference'?: boolean; /** The node affinity weight. Required when `preference` is `true`. */ 'weight'?: number; 'matchExpressions': { 'key': string; 'operator': 'In' | 'NotIn'; 'values': string[]; }[]; }[]; 'color'?: string; 'description'?: string; 'name': string; 'id': string; /** time of creation Example: "2000-01-01T12:00:00.000Z" */ 'createdAt'?: string; }[]; }; type ListTagsCall = ((opts: ListTagsRequest) => Promise>) & { all: (opts: ListTagsRequest) => Promise>; }; type ListTagsRequest = { parameters?: ListTagsParameters; options?: ListTagsOptions; }; type ListTagsParameters = { /** ID of the team */ 'teamId': string; }; type ListTagsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** List the resource tags for this entity. */ declare class ListTagsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTagsRequest) => string; body: () => undefined; } type AddTagResult = { /** Schedule workloads to spot nodes */ 'useSpotNodes'?: boolean; /** Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes */ 'useOnDemandNodes'?: boolean; 'nodeAffinities'?: { 'preference'?: boolean; /** The node affinity weight. Required when `preference` is `true`. */ 'weight'?: number; 'matchExpressions': { 'key': string; 'operator': 'In' | 'NotIn'; 'values': string[]; }[]; }[]; 'color'?: string; 'description'?: string; 'name': string; 'id': string; /** time of creation Example: "2000-01-01T12:00:00.000Z" */ 'createdAt'?: string; }; type AddTagCall = (opts: AddTagRequest) => Promise>; type AddTagRequest = { parameters?: AddTagParameters; data: AddTagData; }; type AddTagParameters = { /** ID of the team */ 'teamId': string; }; type AddTagData = { /** Schedule workloads to spot nodes */ 'useSpotNodes'?: boolean; /** Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes */ 'useOnDemandNodes'?: boolean; 'nodeAffinities'?: { 'preference'?: boolean; /** The node affinity weight. Required when `preference` is `true`. */ 'weight'?: number; 'matchExpressions': { 'key': string; 'operator': 'In' | 'NotIn'; 'values': string[]; }[]; }[]; 'color'?: string; 'description'?: string; 'name': string; }; /** Add a new resource tag for this entity. */ declare class AddTagEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AddTagRequest) => string; body: (payload: AddTagRequest) => string; } type PutTagResult = any; type PutTagCall = (opts: PutTagRequest) => Promise>; type PutTagRequest = { parameters: PutTagParameters; data: PutTagData; }; type PutTagParameters = { /** ID of the tag */ 'resourceTagId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the tag */ 'resourceTagId': string; }; type PutTagData = { /** Schedule workloads to spot nodes */ 'useSpotNodes'?: boolean; /** Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes */ 'useOnDemandNodes'?: boolean; 'nodeAffinities'?: { 'preference'?: boolean; /** The node affinity weight. Required when `preference` is `true`. */ 'weight'?: number; 'matchExpressions': { 'key': string; 'operator': 'In' | 'NotIn'; 'values': string[]; }[]; }[]; 'color'?: string; 'description'?: string; 'name': string; }; /** Update or create a resource tag. */ declare class PutTagEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutTagRequest) => string; body: (payload: PutTagRequest) => string; } type GetTagResult = { /** Schedule workloads to spot nodes */ 'useSpotNodes'?: boolean; /** Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes */ 'useOnDemandNodes'?: boolean; 'nodeAffinities'?: { 'preference'?: boolean; /** The node affinity weight. Required when `preference` is `true`. */ 'weight'?: number; 'matchExpressions': { 'key': string; 'operator': 'In' | 'NotIn'; 'values': string[]; }[]; }[]; 'color'?: string; 'description'?: string; 'name': string; 'id': string; /** time of creation Example: "2000-01-01T12:00:00.000Z" */ 'createdAt'?: string; }; type GetTagCall = (opts: GetTagRequest) => Promise>; type GetTagRequest = { parameters: GetTagParameters; }; type GetTagParameters = { /** ID of the tag */ 'resourceTagId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the tag */ 'resourceTagId': string; }; /** View details for a given resource tag. */ declare class GetTagEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetTagRequest) => string; body: () => undefined; } type PatchTagResult = any; type PatchTagCall = (opts: PatchTagRequest) => Promise>; type PatchTagRequest = { parameters: PatchTagParameters; data: PatchTagData; }; type PatchTagParameters = { /** ID of the tag */ 'resourceTagId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the tag */ 'resourceTagId': string; }; type PatchTagData = { /** Schedule workloads to spot nodes */ 'useSpotNodes'?: boolean; /** Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes */ 'useOnDemandNodes'?: boolean; 'nodeAffinities'?: { 'preference'?: boolean; /** The node affinity weight. Required when `preference` is `true`. */ 'weight'?: number; 'matchExpressions': { 'key': string; 'operator': 'In' | 'NotIn'; 'values': string[]; }[]; }[]; 'color'?: string; 'description'?: string; }; /** Patch a resource tag. */ declare class PatchTagEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchTagRequest) => string; body: (payload: PatchTagRequest) => string; } type DeleteTagResult = any; type DeleteTagCall = (opts: DeleteTagRequest) => Promise>; type DeleteTagRequest = { parameters: DeleteTagParameters; }; type DeleteTagParameters = { /** ID of the tag */ 'resourceTagId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the tag */ 'resourceTagId': string; }; /** Delete a resource tag. */ declare class DeleteTagEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteTagRequest) => string; body: () => undefined; } type CreateTeamResult = { /** ID of the team. Example: "my-team" */ 'id': string; /** Display name of the team. Example: "My Team" */ 'name': string; /** Description of the team. Example: "This is my team." */ 'description'?: string; /** The time the team was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the team was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; }; type CreateTeamCall = (opts: CreateTeamRequest) => Promise>; type CreateTeamRequest = { data: CreateTeamData; }; type CreateTeamData = { /** The name of the team. Example: "My Team" */ 'name': string; /** A description of the team. Example: "This is my team." */ 'description'?: string; /** The billing email address for the team. Example: "billing@example.com" */ 'email': string; }; /** Creates a new team belonging to the authenticated org. */ declare class CreateTeamEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateTeamRequest) => string; body: (payload: CreateTeamRequest) => string; } type ListTeamsResult = { /** An array of teams. */ 'teams': { /** ID of the team. Example: "my-team" */ 'id': string; /** Display name of the team. Example: "My Team" */ 'name': string; /** Description of the team. Example: "This is my team." */ 'description'?: string; /** The time the team was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; }[]; }; type ListTeamsCall = ((opts: ListTeamsRequest) => Promise>) & { all: (opts: ListTeamsRequest) => Promise>; }; type ListTeamsRequest = { options?: ListTeamsOptions; }; type ListTeamsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of teams belonging to the authenticated org. */ declare class ListTeamsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTeamsRequest) => string; body: () => undefined; } type GetTeamResult = { /** ID of the team. Example: "my-team" */ 'id': string; /** Display name of the team. Example: "My Team" */ 'name': string; /** Description of the team. Example: "This is my team." */ 'description'?: string; /** The time the team was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the team was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; }; type GetTeamCall = (opts: GetTeamRequest) => Promise>; type GetTeamRequest = { parameters: GetTeamParameters; }; type GetTeamParameters = { /** ID of the team */ 'teamId': string; }; /** Gets information about a team belonging to the authenticated org. */ declare class GetTeamEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetTeamRequest) => string; body: () => undefined; } type PatchTeamResult = { /** ID of the team. Example: "my-team" */ 'id': string; /** Display name of the team. Example: "My Team" */ 'name': string; /** Description of the team. Example: "This is my team." */ 'description'?: string; /** The time the team was created. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt': string; /** The time the team was last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; }; type PatchTeamCall = (opts: PatchTeamRequest) => Promise>; type PatchTeamRequest = { parameters: PatchTeamParameters; data: PatchTeamData; }; type PatchTeamParameters = { /** ID of the team */ 'teamId': string; }; type PatchTeamData = { /** A description of the team. Example: "This is my team." */ 'description'?: string; }; /** Updates the description of a team belonging to the authenticated org. */ declare class PatchTeamEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchTeamRequest) => string; body: (payload: PatchTeamRequest) => string; } type ListTeammembersResult = { /** An array of team members. */ 'members': { /** ID (username) of the team member. For users who are not finalized this ID may change on finalisation. Example: "john-doe" */ 'id': string | null; /** Display name from the member profile. Example: "John Doe" */ 'name'?: string; /** Email addresses of the member. */ 'emails'?: { 'address': string; 'verified': boolean; }[]; /** The time the member joined the team. Example: "2021-01-20T11:19:53.175Z" */ 'joinedAt'?: string; /** Whether the account has been fully set up by the user. */ 'finalized'?: boolean; }[]; }; type ListTeammembersCall = ((opts: ListTeammembersRequest) => Promise>) & { all: (opts: ListTeammembersRequest) => Promise>; }; type ListTeammembersRequest = { parameters: ListTeammembersParameters; options?: ListTeammembersOptions; }; type ListTeammembersParameters = { /** ID of the team */ 'teamId': string; }; type ListTeammembersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of members belonging to a team. */ declare class ListTeammembersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTeammembersRequest) => string; body: () => undefined; } type CreateTeammemberinviteResult = any; type CreateTeammemberinviteCall = (opts: CreateTeammemberinviteRequest) => Promise>; type CreateTeammemberinviteRequest = { parameters: CreateTeammemberinviteParameters; data: CreateTeammemberinviteData; }; type CreateTeammemberinviteParameters = { /** ID of the team */ 'teamId': string; }; type CreateTeammemberinviteData = { /** Email of the user to invite. Example: "user@example.com" */ 'email': string; /** Role IDs to assign to the invited member. */ 'roles'?: string[]; }; /** Invites a user to a team. */ declare class CreateTeammemberinviteEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateTeammemberinviteRequest) => string; body: (payload: CreateTeammemberinviteRequest) => string; } type DeleteTeammemberResult = any; type DeleteTeammemberCall = (opts: DeleteTeammemberRequest) => Promise>; type DeleteTeammemberRequest = { parameters: DeleteTeammemberParameters; }; type DeleteTeammemberParameters = { /** ID of the team */ 'teamId': string; /** ID of the team member. */ 'memberId': string; }; /** Removes a member from a team. */ declare class DeleteTeammemberEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteTeammemberRequest) => string; body: () => undefined; } type ListTeamrolesResult = { /** An array of team roles. */ 'roles': { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; }[]; }; type ListTeamrolesCall = ((opts: ListTeamrolesRequest) => Promise>) & { all: (opts: ListTeamrolesRequest) => Promise>; }; type ListTeamrolesRequest = { parameters: ListTeamrolesParameters; options?: ListTeamrolesOptions; }; type ListTeamrolesParameters = { /** ID of the team */ 'teamId': string; }; type ListTeamrolesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Gets a list of platform roles for a team. */ declare class ListTeamrolesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTeamrolesRequest) => string; body: () => undefined; } type CreateTeamroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; }; }; type CreateTeamroleCall = (opts: CreateTeamroleRequest) => Promise>; type CreateTeamroleRequest = { parameters: CreateTeamroleParameters; data: CreateTeamroleData; }; type CreateTeamroleParameters = { /** ID of the team */ 'teamId': string; }; type CreateTeamroleData = { /** The name of the role. Example: "Developer" */ 'name': string; /** A description of the role. Example: "Role for developers." */ 'description'?: string; /** Permissions granted by this role. */ 'permissions'?: { /** Team-level RBAC permission strings. */ 'teamScope'?: string[]; /** Project-level RBAC permission strings. */ 'projectScope'?: string[]; }; /** Project access restrictions for this role. */ 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }; /** Creates a new platform role for a team. */ declare class CreateTeamroleEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateTeamroleRequest) => string; body: (payload: CreateTeamroleRequest) => string; } type PutTeamroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; }; }; type PutTeamroleCall = (opts: PutTeamroleRequest) => Promise>; type PutTeamroleRequest = { parameters: PutTeamroleParameters; data: PutTeamroleData; }; type PutTeamroleParameters = { /** ID of the team */ 'teamId': string; }; type PutTeamroleData = { /** The name of the role. Example: "Developer" */ 'name': string; /** A description of the role. Example: "Role for developers." */ 'description'?: string; /** Permissions granted by this role. */ 'permissions'?: { /** Team-level RBAC permission strings. */ 'teamScope'?: string[]; /** Project-level RBAC permission strings. */ 'projectScope'?: string[]; }; /** Project access restrictions for this role. */ 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }; /** Creates role or updates all user-editable fields on a platform role. */ declare class PutTeamroleEndpoint extends PutApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PutTeamroleRequest) => string; body: (payload: PutTeamroleRequest) => string; } type GetTeamroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; }; }; type GetTeamroleCall = (opts: GetTeamroleRequest) => Promise>; type GetTeamroleRequest = { parameters: GetTeamroleParameters; }; type GetTeamroleParameters = { /** ID of the team */ 'teamId': string; /** ID of the team role */ 'roleId': string; }; /** Gets details about a specific platform role. */ declare class GetTeamroleEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetTeamroleRequest) => string; body: () => undefined; } type PatchTeamroleResult = { /** ID of the role. Example: "developer" */ 'id': string; /** Display name of the role. Example: "Developer" */ 'name': string; /** Description of the role. Example: "Role for developers." */ 'description'?: string; 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; /** Creation time. Example: "2021-01-20T11:19:53.175Z" */ 'createdAt'?: string; /** Last updated. Example: "2021-01-20T11:19:53.175Z" */ 'updatedAt'?: string; 'permissions': { /** Team-level permissions. */ 'teamScope': string[]; /** Project-level permissions. */ 'projectScope': string[]; }; }; type PatchTeamroleCall = (opts: PatchTeamroleRequest) => Promise>; type PatchTeamroleRequest = { parameters: PatchTeamroleParameters; data: PatchTeamroleData; }; type PatchTeamroleParameters = { /** ID of the team */ 'teamId': string; /** ID of the team role */ 'roleId': string; }; type PatchTeamroleData = { /** A description of the role. Example: "Role for developers." */ 'description'?: string; /** Permissions granted by this role. */ 'permissions'?: { /** Team-level RBAC permission strings. */ 'teamScope'?: string[]; /** Project-level RBAC permission strings. */ 'projectScope'?: string[]; }; /** Project access restrictions for this role. */ 'restrictions'?: { 'enabled': boolean; 'projects'?: string[]; 'restrictionMode'?: 'in' | 'notIn'; }; }; /** Updates a platform role for a team. */ declare class PatchTeamroleEndpoint extends PatchApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: PatchTeamroleRequest) => string; body: (payload: PatchTeamroleRequest) => string; } type DeleteTeamroleResult = any; type DeleteTeamroleCall = (opts: DeleteTeamroleRequest) => Promise>; type DeleteTeamroleRequest = { parameters: DeleteTeamroleParameters; }; type DeleteTeamroleParameters = { /** ID of the team */ 'teamId': string; /** ID of the team role */ 'roleId': string; }; /** Deletes a platform role from a team. */ declare class DeleteTeamroleEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteTeamroleRequest) => string; body: () => undefined; } type ListTeamrolemembersResult = { /** An array of members in the team role. */ 'members': { /** ID (username) of the team member. For users who are not finalized this ID may change on finalisation. Example: "john-doe" */ 'id': string | null; /** Display name from the member profile. Example: "John Doe" */ 'name'?: string; /** Email addresses of the member. */ 'emails'?: { 'address': string; 'verified': boolean; }[]; /** The time the member joined the team. Example: "2021-01-20T11:19:53.175Z" */ 'joinedAt'?: string; /** Whether the account has been fully set up by the user. */ 'finalized'?: boolean; }[]; }; type ListTeamrolemembersCall = ((opts: ListTeamrolemembersRequest) => Promise>) & { all: (opts: ListTeamrolemembersRequest) => Promise>; }; type ListTeamrolemembersRequest = { parameters: ListTeamrolemembersParameters; options?: ListTeamrolemembersOptions; }; type ListTeamrolemembersParameters = { /** ID of the team */ 'teamId': string; /** ID of the team role */ 'roleId': string; }; type ListTeamrolemembersOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter members by user ID. Specify the parameter multiple times to filter by multiple user IDs. */ 'userIds'?: undefined; }; /** Gets a list of members assigned to a platform role in a team. */ declare class ListTeamrolemembersEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTeamrolemembersRequest) => string; body: () => undefined; } type CreateTeamrolememberResult = any; type CreateTeamrolememberCall = (opts: CreateTeamrolememberRequest) => Promise>; type CreateTeamrolememberRequest = { parameters: CreateTeamrolememberParameters; data: CreateTeamrolememberData; }; type CreateTeamrolememberParameters = { /** ID of the team */ 'teamId': string; /** ID of the team role */ 'roleId': string; }; type CreateTeamrolememberData = { /** ID of the user to add to this role. Example: "john-doe" */ 'userId': string; }; /** Adds a user to a platform role in a team. */ declare class CreateTeamrolememberEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateTeamrolememberRequest) => string; body: (payload: CreateTeamrolememberRequest) => string; } type DeleteTeamrolememberResult = any; type DeleteTeamrolememberCall = (opts: DeleteTeamrolememberRequest) => Promise>; type DeleteTeamrolememberRequest = { parameters: DeleteTeamrolememberParameters; }; type DeleteTeamrolememberParameters = { /** ID of the team */ 'teamId': string; /** ID of the team role */ 'roleId': string; /** ID of the team member. */ 'memberId': string; }; /** Removes a user from a platform role in a team. */ declare class DeleteTeamrolememberEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteTeamrolememberRequest) => string; body: () => undefined; } type ListTemplatesResult = { /** An array of template objects. */ 'templates': { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Identifier for the template Example: "example-template" */ 'id': string; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }[]; }; type ListTemplatesCall = ((opts: ListTemplatesRequest) => Promise>) & { all: (opts: ListTemplatesRequest) => Promise>; }; type ListTemplatesRequest = { parameters?: ListTemplatesParameters; options?: ListTemplatesOptions; }; type ListTemplatesParameters = { /** ID of the team */ 'teamId': string; }; type ListTemplatesOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get a list of templates */ declare class ListTemplatesEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTemplatesRequest) => string; body: () => undefined; } type CreateTemplateResult = { /** Details about the newly created template. */ 'template': { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; '$schema'?: string; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Identifier for the template Example: "example-template" */ 'id': string; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; /** The SHA of the current commit that is being used for the template. Example: "8c7e040ee3737ddc3a713363ae72bbe960e9fb16" */ 'templateSha': string; }; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; 'options': { /** Whether autorun is enabled */ 'autorun': boolean; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; 'templateRun'?: { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; }; type CreateTemplateCall = (opts: CreateTemplateRequest) => Promise>; type CreateTemplateRequest = { parameters?: CreateTemplateParameters; data: CreateTemplateData; }; type CreateTemplateParameters = { /** ID of the team */ 'teamId': string; }; type CreateTemplateData = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Argument overrides stored outside of the template. If GitOps is enabled, these will not be saved in version control. */ 'argumentOverrides'?: any; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If true, the template will be ran immediately after creation. Example: true */ 'runOnCreation'?: boolean; /** Argument overrides for the initial run. Valid only if `runOnCreation` is `true`. */ 'runOnCreationArgumentOverrides'?: any; }; } | { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Argument overrides stored outside of the template. If GitOps is enabled, these will not be saved in version control. */ 'argumentOverrides'?: any; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; /** If true, the template will be ran immediately after creation. Example: true */ 'runOnCreation'?: boolean; /** Argument overrides for the initial run. Valid only if `runOnCreation` is `true`. */ 'runOnCreationArgumentOverrides'?: any; }; /** GitOps data for syncing this template with a file in version control. */ 'gitops': { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; 'project'?: any; }; /** Create a template */ declare class CreateTemplateEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: CreateTemplateRequest) => string; body: (payload: CreateTemplateRequest) => string; } type GetTemplateResult = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; '$schema'?: string; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Identifier for the template Example: "example-template" */ 'id': string; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; /** The SHA of the current commit that is being used for the template. Example: "8c7e040ee3737ddc3a713363ae72bbe960e9fb16" */ 'templateSha': string; }; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; 'options': { /** Whether autorun is enabled */ 'autorun': boolean; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; type GetTemplateCall = ((opts: GetTemplateRequest) => Promise>) & { all: (opts: GetTemplateRequest) => Promise>; }; type GetTemplateRequest = { parameters: GetTemplateParameters; options?: GetTemplateOptions; }; type GetTemplateParameters = { /** ID of the template */ 'templateId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; }; type GetTemplateOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; }; /** Get information about the given template. */ declare class GetTemplateEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetTemplateRequest) => string; body: () => undefined; } type UpdateTemplateResult = { /** Details about the updated template. */ 'template': { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; '$schema'?: string; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Identifier for the template Example: "example-template" */ 'id': string; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; /** The SHA of the current commit that is being used for the template. Example: "8c7e040ee3737ddc3a713363ae72bbe960e9fb16" */ 'templateSha': string; }; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; 'options': { /** Whether autorun is enabled */ 'autorun': boolean; }; /** time of creation */ 'createdAt'?: string; /** time of update */ 'updatedAt'?: string; }; 'templateRun'?: { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; }; type UpdateTemplateCall = (opts: UpdateTemplateRequest) => Promise>; type UpdateTemplateRequest = { parameters: UpdateTemplateParameters; data: UpdateTemplateData; }; type UpdateTemplateParameters = { /** ID of the template */ 'templateId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; }; type UpdateTemplateData = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; /** Optional spec to run when the template is deleted. */ 'teardownSpec'?: { 'spec': any; /** Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` */ 'failurePolicy'?: 'ignore' | 'block'; } | null; /** Argument overrides stored outside of the template. If GitOps is enabled, these will not be saved in version control. */ 'argumentOverrides'?: any; } | { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** Argument overrides stored outside of the template. If GitOps is enabled, these will not be saved in version control. */ 'argumentOverrides'?: any; /** GitOps data for syncing this template with a file in version control. If set to `null`, removes GitOps handling from this template. */ 'gitops': { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; } | null; }; /** Update a template */ declare class UpdateTemplateEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: UpdateTemplateRequest) => string; body: (payload: UpdateTemplateRequest) => string; } type DeleteTemplateResult = any; type DeleteTemplateCall = (opts: DeleteTemplateRequest) => Promise>; type DeleteTemplateRequest = { parameters: DeleteTemplateParameters; }; type DeleteTemplateParameters = { /** ID of the template */ 'templateId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; }; /** Delete a template */ declare class DeleteTemplateEndpoint extends DeleteApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: DeleteTemplateRequest) => string; body: () => undefined; } type RunTemplateResult = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type RunTemplateCall = (opts: RunTemplateRequest) => Promise>; type RunTemplateRequest = { parameters: RunTemplateParameters; data: RunTemplateData; }; type RunTemplateParameters = { /** ID of the template */ 'templateId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; }; type RunTemplateData = { /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; }; /** Run a template */ declare class RunTemplateEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: RunTemplateRequest) => string; body: (payload: RunTemplateRequest) => string; } type ListTemplaterunsResult = { /** An array of template run objects. */ 'templateRuns': { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Timestamp the run started at. Example: "2021-01-01 12:01:00.000Z" */ 'startedAt'?: string; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run concluded at. Example: "2021-01-01 12:10:00.000Z" */ 'concludedAt'?: string; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }[]; }; type ListTemplaterunsCall = ((opts: ListTemplaterunsRequest) => Promise>) & { all: (opts: ListTemplaterunsRequest) => Promise>; }; type ListTemplaterunsRequest = { parameters: ListTemplaterunsParameters; options?: ListTemplaterunsOptions; }; type ListTemplaterunsParameters = { /** ID of the template */ 'templateId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; }; type ListTemplaterunsOptions = { /** The number of results to display per request. Maximum of 100 results per page. */ 'per_page'?: number; /** The page number to access. */ 'page'?: number; /** The cursor returned from the previous page of results, used to request the next page. */ 'cursor'?: string; /** Filter by template status. */ 'status'?: string; /** Filter by whether the template is concluded. */ 'concluded'?: boolean; }; /** Get a list of template runs */ declare class ListTemplaterunsEndpoint extends GetApiEndpointPaginated { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: ListTemplaterunsRequest) => string; body: () => undefined; } type GetTemplaterunResult = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type GetTemplaterunCall = (opts: GetTemplaterunRequest) => Promise>; type GetTemplaterunRequest = { parameters: GetTemplaterunParameters; }; type GetTemplaterunParameters = { /** ID of the template */ 'templateId': string; /** ID of the template run */ 'templateRunId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; /** ID of the template run */ 'templateRunId': string; }; /** Get information about the given template run. */ declare class GetTemplaterunEndpoint extends GetApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: GetTemplaterunRequest) => string; body: () => undefined; } type AbortTemplaterunResult = { /** Name of the template. Example: "Example Template" */ 'name': string; /** Description of the template. Example: "This is a sample template." */ 'description'?: string; /** The version of the Northflank API to run the template against. Example: "v1.2" */ 'apiVersion': 'v1.2'; /** Options regarding how the template is run. */ 'options'?: { /** If true, the template will run automatically whenever a change is made to it. */ 'autorun'?: boolean; /** Defines the concurrency behaviour of the template with respect to parallel runs. Example: "allow" */ 'concurrencyPolicy'?: 'allow' | 'queue' | 'forbid' | 'latest' | 'replace'; }; /** A set of arguments that can be referenced in a template using '${args.argumentName}'. */ 'arguments'?: any; 'gitops'?: { /** The VCS provider to use. Example: "github" */ 'vcsService': 'bitbucket' | 'gitlab' | 'github' | 'self-hosted' | 'azure'; /** If projectType is self-hosted, the ID of the self-hosted vcs to use. */ 'selfHostedVcsId'?: string; /** By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. Example: "github-user" */ 'accountLogin'?: string; /** Legacy key. Please used accountLogin instead. */ 'vcsLinkId'?: string; /** URL of the Git repo to sync the file with. Example: "https://github.com/northflank-examples/remix-postgres-redis-demo" */ 'repoUrl': string; /** The name of the branch to use. Example: "main" */ 'branch': string; /** The file path in the repository. If using an existing file, it should be in JSON format. */ 'filePath': string; }; '$schema'?: string; 'spec': any; 'refs'?: any; /** Identifier for the template run Example: "3dd592f6-ce63-45ee-acf8-13dc5ec5235c" */ 'id': string; /** Identifier for the template Example: "example-template" */ 'templateId': string; /** Status of the template run Example: "success" */ 'status': 'pending' | 'running' | 'success' | 'failure' | 'aborted' | 'aborting' | 'queued' | 'unknown' | 'skipped' | 'waiting' | 'retrying' | 'async_wait' | 'approval_wait'; /** Whether the run has concluded (aborted, success, failed) Example: true */ 'concluded': boolean; /** Timestamp the run was created at. Example: "2021-01-01 12:00:00.000Z" */ 'createdAt': string; /** Timestamp the run was last updated at. Example: "2021-01-01 12:00:00.000Z" */ 'updatedAt': string; }; type AbortTemplaterunCall = (opts: AbortTemplaterunRequest) => Promise>; type AbortTemplaterunRequest = { parameters: AbortTemplaterunParameters; }; type AbortTemplaterunParameters = { /** ID of the template */ 'templateId': string; /** ID of the template run */ 'templateRunId': string; } | { /** ID of the team */ 'teamId': string; /** ID of the template */ 'templateId': string; /** ID of the template run */ 'templateRunId': string; }; /** Abort the given template run. */ declare class AbortTemplaterunEndpoint extends PostApiEndpoint { description: string; withAuth: boolean; requiredPermissions: string; endpointUrl: (opts: AbortTemplaterunRequest) => string; body: () => undefined; } /** WARNING: Autogenerated Code - do not modify! */ declare class ApiClient { contextProvider: ApiClientContextProvider; forwarding: NorthflankPortForwarder; exec: NorthflankExecCommand; logs: NorthflankLogFetch; metrics: NorthflankMetricFetch; fileCopy: NorthflankFileCopy; download: { service: { files: InstanceType['downloadServiceFiles']; }; serviceStream: { files: InstanceType['downloadServiceFileStream']; }; job: { files: InstanceType['downloadJobFiles']; }; jobStream: { files: InstanceType['downloadJobFileStream']; }; }; upload: { service: { files: InstanceType['uploadServiceFiles']; }; serviceStream: { files: InstanceType['uploadServiceFileStream']; }; job: { files: InstanceType['uploadJobFiles']; }; jobStream: { files: InstanceType['uploadJobFileStream']; }; }; get: { addon: GetAddonCall & { types: GetAddonTypesCall; backupSchedules: GetAddonBackupschedulesCall; backups: GetAddonBackupsCall; backup: GetAddonBackupCall & { download: GetAddonBackupDownloadCall; restores: GetAddonBackupRestoresCall; logs: GetAddonBackupLogsCall; logTail: TailAddonBackupLogsCall; }; containers: GetAddonContainersCall; credentials: GetAddonCredentialsCall; restores: GetAddonRestoresCall & { logs: GetAddonRestoresLogsCall; logTail: TailAddonRestoresLogsCall; }; version: GetAddonVersionCall; logs: GetAddonLogsCall; logTail: TailAddonLogsCall; metrics: GetAddonMetricsCall; metricsRange: GetAddonMetricsRangeCall; }; backupDestination: GetBackupdestinationCall; invoice: { details: GetInvoiceDetailsCall; }; cloud: { cluster: GetCloudClusterCall; integration: GetCloudIntegrationCall; }; orgDirectoryGroups: GetOrgdirectorygroupsCall; dnsId: GetDnsidCall; domain: GetDomainCall; domainCertificate: GetDomaincertificateCall; subdomain: GetSubdomainCall & { path: GetSubdomainPathCall; }; egressIp: GetEgressipCall; logSink: GetLogsinkCall; notification: GetNotificationCall; registryCredentials: GetRegistrycredentialsCall; sshIdentities: GetSshidentitiesCall; loadBalancer: GetLoadbalancerCall; orgRole: GetOrgroleCall; project: GetProjectCall; externalAddon: GetExternaladdonCall; job: GetJobCall & { branches: GetJobBranchesCall; builds: GetJobBuildsCall; buildArguments: GetJobBuildargumentsCall; buildArgumentDetails: GetJobBuildargumentdetailsCall; build: GetJobBuildCall; containers: GetJobContainersCall; deployment: GetJobDeploymentCall; healthChecks: GetJobHealthchecksCall; pullRequests: GetJobPullrequestsCall; runs: GetJobRunsCall; run: GetJobRunCall; runtimeEnvironment: GetJobRuntimeenvironmentCall; runtimeEnvironmentDetails: GetJobRuntimeenvironmentdetailsCall; logs: GetJobLogsCall; buildLogs: GetJobBuildlogsCall; logTail: TailJobLogsCall; buildLogTail: TailJobBuildlogsCall; metrics: GetJobMetricsCall; buildMetrics: GetJobBuildMetricsCall; metricsRange: GetJobMetricsRangeCall; buildMetricsRange: GetJobBuildMetricsRangeCall; }; llmModelDeployment: GetLlmmodeldeploymentCall; pipeline: GetPipelineCall; previewTemplate: GetPreviewtemplateCall; previewTemplateRun: GetPreviewtemplaterunCall; releaseFlow: GetReleaseflowCall; releaseFlowRun: GetReleaseflowrunCall; previewBlueprint: GetPreviewblueprintCall; previewBlueprintRun: GetPreviewblueprintrunCall; secret: GetSecretCall; secretLink: GetSecretlinkCall; secretDetails: GetSecretdetailsCall; service: GetServiceCall & { branches: GetServiceBranchesCall; builds: GetServiceBuildsCall; buildArguments: GetServiceBuildargumentsCall; buildArgumentDetails: GetServiceBuildargumentdetailsCall; build: GetServiceBuildCall; containers: GetServiceContainersCall; deployment: GetServiceDeploymentCall; healthChecks: GetServiceHealthchecksCall; ports: GetServicePortsCall; pullRequests: GetServicePullrequestsCall; runtimeEnvironment: GetServiceRuntimeenvironmentCall; runtimeEnvironmentDetails: GetServiceRuntimeenvironmentdetailsCall; logs: GetServiceLogsCall; buildLogs: GetServiceBuildlogsCall; logTail: TailServiceLogsCall; buildLogTail: TailServiceBuildlogsCall; metrics: GetServiceMetricsCall; buildMetrics: GetServiceBuildMetricsCall; metricsRange: GetServiceMetricsRangeCall; buildMetricsRange: GetServiceBuildMetricsRangeCall; }; volume: GetVolumeCall & { backups: GetVolumeBackupsCall; backup: GetVolumeBackupCall; }; workflow: GetWorkflowCall; workflowRun: GetWorkflowrunCall; globalSecret: GetGlobalsecretCall; tag: GetTagCall; team: GetTeamCall; teamRole: GetTeamroleCall; template: GetTemplateCall; templateRun: GetTemplaterunCall; }; list: { backupDestinations: ListBackupdestinationsCall; backupDestinationsBackups: ListBackupdestinationsbackupsCall; invoices: ListInvoicesCall; cloud: { providers: ListCloudProvidersCall; clusters: ListCloudClustersCall; cluster: { nodes: ListCloudClusterNodesCall; }; integrations: ListCloudIntegrationsCall; nodeTypes: ListCloudNodetypesCall; regions: ListCloudRegionsCall; }; orgDirectoryGroupMembers: ListOrgdirectorygroupmembersCall; domains: ListDomainsCall; subdomain: { path: ListSubdomainPathCall; }; egressIps: ListEgressipsCall; logSinks: ListLogsinksCall; notifications: ListNotificationsCall; registryCredentials: ListRegistrycredentialsCall; sshIdentities: ListSshidentitiesCall; vcs: ListVcsCall; repos: ListReposCall; branches: ListBranchesCall; loadBalancers: ListLoadbalancersCall; orgMembers: ListOrgmembersCall; orgRoles: ListOrgrolesCall; orgRoleMembers: ListOrgrolemembersCall; plans: ListPlansCall; projects: ListProjectsCall; addons: ListAddonsCall; externalAddons: ListExternaladdonsCall; jobs: ListJobsCall; llmModelDeployments: ListLlmmodeldeploymentsCall; pipelines: ListPipelinesCall; pipelineTemplatePreviews: ListPipelinetemplatepreviewsCall; previewTemplateRuns: ListPreviewtemplaterunsCall; releaseFlowRuns: ListReleaseflowrunsCall; previewBlueprints: ListPreviewblueprintsCall; blueprintTemplatePreviews: ListBlueprinttemplatepreviewsCall; previewBlueprintRuns: ListPreviewblueprintrunsCall; secrets: ListSecretsCall; services: ListServicesCall; volumes: ListVolumesCall; workflows: ListWorkflowsCall; workflowRuns: ListWorkflowrunsCall; regions: ListRegionsCall; globalSecrets: ListGlobalsecretsCall; tags: ListTagsCall; teams: ListTeamsCall; teamMembers: ListTeammembersCall; teamRoles: ListTeamrolesCall; teamRoleMembers: ListTeamrolemembersCall; templates: ListTemplatesCall; templateRuns: ListTemplaterunsCall; }; add: { backupDestination: AddBackupdestinationCall; domain: { subdomain: AddDomainSubdomainCall; }; subdomain: { path: AddSubdomainPathCall; }; registryCredentials: AddRegistrycredentialsCall; sshIdentities: AddSshidentitiesCall; tag: AddTagCall; }; patch: { backupDestination: PatchBackupdestinationCall; cloud: { cluster: PatchCloudClusterCall; integration: PatchCloudIntegrationCall; }; egressIp: PatchEgressipCall; gradualRolloutStrategy: PatchGradualrolloutstrategyCall; loadBalancer: PatchLoadbalancerCall; orgRole: PatchOrgroleCall; project: PatchProjectCall; addon: PatchAddonCall; job: PatchJobCall & { cron: PatchJobCronCall; manual: PatchJobManualCall; }; secret: PatchSecretCall; service: { build: PatchServiceBuildCall; combined: PatchServiceCombinedCall; deployment: PatchServiceDeploymentCall; }; globalSecret: PatchGlobalsecretCall; tag: PatchTagCall; team: PatchTeamCall; teamRole: PatchTeamroleCall; }; delete: { backupDestination: DeleteBackupdestinationCall; cloud: { cluster: DeleteCloudClusterCall; integration: DeleteCloudIntegrationCall; }; domain: DeleteDomainCall; subdomain: DeleteSubdomainCall & { path: DeleteSubdomainPathCall; }; egressIp: DeleteEgressipCall; gradualRolloutStrategy: DeleteGradualrolloutstrategyCall; logSink: DeleteLogsinkCall; notification: DeleteNotificationCall; registryCredentials: DeleteRegistrycredentialsCall; sshIdentities: DeleteSshidentitiesCall; loadBalancer: DeleteLoadbalancerCall; orgRole: DeleteOrgroleCall; orgRoleMember: DeleteOrgrolememberCall; project: DeleteProjectCall; addon: DeleteAddonCall & { backupSchedule: DeleteAddonBackupscheduleCall; }; backup: DeleteBackupCall; externalAddon: DeleteExternaladdonCall; job: DeleteJobCall; llmModelDeployment: DeleteLlmmodeldeploymentCall; pipelineTemplatePreview: DeletePipelinetemplatepreviewCall; previewBlueprint: DeletePreviewblueprintCall; blueprintTemplatePreview: DeleteBlueprinttemplatepreviewCall; secret: DeleteSecretCall; secretLink: DeleteSecretlinkCall; service: DeleteServiceCall; volume: DeleteVolumeCall & { backup: DeleteVolumeBackupCall; }; globalSecret: DeleteGlobalsecretCall; tag: DeleteTagCall; teamMember: DeleteTeammemberCall; teamRole: DeleteTeamroleCall; teamRoleMember: DeleteTeamrolememberCall; template: DeleteTemplateCall; }; create: { cloud: { cluster: CreateCloudClusterCall; integration: CreateCloudIntegrationCall; }; domain: CreateDomainCall; egressIp: CreateEgressipCall; gradualRolloutStrategy: CreateGradualrolloutstrategyCall; logSink: CreateLogsinkCall; notification: CreateNotificationCall; customVcs: { token: CreateCustomvcsTokenCall; }; loadBalancer: CreateLoadbalancerCall; orgRole: CreateOrgroleCall; orgRoleMember: CreateOrgrolememberCall; project: CreateProjectCall; addon: CreateAddonCall & { backupSchedule: CreateAddonBackupscheduleCall; }; externalAddon: CreateExternaladdonCall; job: CreateJobCall & { cron: CreateJobCronCall; manual: CreateJobManualCall; }; llmModelDeployment: CreateLlmmodeldeploymentCall; previewBlueprint: CreatePreviewblueprintCall; secret: CreateSecretCall; service: { build: CreateServiceBuildCall; combined: CreateServiceCombinedCall; deployment: CreateServiceDeploymentCall; }; volume: CreateVolumeCall; workflow: CreateWorkflowCall; globalSecret: CreateGlobalsecretCall; team: CreateTeamCall; teamMemberInvite: CreateTeammemberinviteCall; teamRole: CreateTeamroleCall; teamRoleMember: CreateTeamrolememberCall; template: CreateTemplateCall; }; put: { cloud: { cluster: PutCloudClusterCall; integration: PutCloudIntegrationCall; }; domain: { subdomain: PutDomainSubdomainCall; }; egressIp: PutEgressipCall; gradualRolloutStrategy: PutGradualrolloutstrategyCall; sshIdentities: PutSshidentitiesCall; loadBalancer: PutLoadbalancerCall; orgRole: PutOrgroleCall; project: PutProjectCall; addon: PutAddonCall; job: PutJobCall & { cron: PutJobCronCall; manual: PutJobManualCall; }; secret: PutSecretCall; service: { build: PutServiceBuildCall; combined: PutServiceCombinedCall; deployment: PutServiceDeploymentCall; }; globalSecret: PutGlobalsecretCall; tag: PutTagCall; teamRole: PutTeamroleCall; }; cordon: { cloud: { cluster: { node: CordonCloudClusterNodeCall; }; }; }; drain: { cloud: { cluster: { node: DrainCloudClusterNodeCall; }; }; }; uncordon: { cloud: { cluster: { node: UncordonCloudClusterNodeCall; }; }; }; import: { domainCertificate: ImportDomaincertificateCall; addon: { backup: ImportAddonBackupCall; }; }; assign: { subdomain: { service: AssignSubdomainServiceCall; path: AssignSubdomainPathCall; }; }; unassign: { subdomain: UnassignSubdomainCall & { path: UnassignSubdomainPathCall; }; }; disable: { subdomain: { cdn: DisableSubdomainCdnCall; }; }; enable: { subdomain: { cdn: EnableSubdomainCdnCall; }; }; update: { subdomain: { path: UpdateSubdomainPathCall; }; logSink: UpdateLogsinkCall; notification: UpdateNotificationCall; registryCredentials: UpdateRegistrycredentialsCall; sshIdentities: UpdateSshidentitiesCall; addon: { networkSettings: UpdateAddonNetworksettingsCall; security: UpdateAddonSecurityCall; version: UpdateAddonVersionCall; }; externalAddon: UpdateExternaladdonCall; job: { buildArguments: UpdateJobBuildargumentsCall; buildOptions: UpdateJobBuildoptionsCall; buildSource: UpdateJobBuildsourceCall; deployment: UpdateJobDeploymentCall; healthChecks: UpdateJobHealthchecksCall; runtimeEnvironment: UpdateJobRuntimeenvironmentCall; settings: UpdateJobSettingsCall; }; llmModelDeployment: UpdateLlmmodeldeploymentCall; previewTemplate: UpdatePreviewtemplateCall; releaseFlow: UpdateReleaseflowCall; previewBlueprint: UpdatePreviewblueprintCall; secret: UpdateSecretCall; secretLink: UpdateSecretlinkCall; service: { buildArguments: UpdateServiceBuildargumentsCall; buildOptions: UpdateServiceBuildoptionsCall; buildSource: UpdateServiceBuildsourceCall; deployment: UpdateServiceDeploymentCall; healthChecks: UpdateServiceHealthchecksCall; ports: UpdateServicePortsCall; runtimeEnvironment: UpdateServiceRuntimeenvironmentCall; }; volume: UpdateVolumeCall; workflow: UpdateWorkflowCall; template: UpdateTemplateCall; }; verify: { subdomain: VerifySubdomainCall; domain: VerifyDomainCall; }; pause: { logSink: PauseLogsinkCall; addon: PauseAddonCall; job: PauseJobCall; blueprintTemplatePreview: PauseBlueprinttemplatepreviewCall; service: PauseServiceCall; }; resume: { logSink: ResumeLogsinkCall; addon: ResumeAddonCall; job: ResumeJobCall; blueprintTemplatePreview: ResumeBlueprinttemplatepreviewCall; service: ResumeServiceCall; }; backup: { addon: BackupAddonCall; volume: BackupVolumeCall; }; abort: { addon: { backup: AbortAddonBackupCall; restore: AbortAddonRestoreCall; }; job: { build: AbortJobBuildCall; run: AbortJobRunCall; }; releaseFlowRun: AbortReleaseflowrunCall; previewBlueprintRun: AbortPreviewblueprintrunCall; service: { build: AbortServiceBuildCall; }; workflowRun: AbortWorkflowrunCall; templateRun: AbortTemplaterunCall; }; restore: { addon: { backup: RestoreAddonBackupCall; }; }; retain: { addon: { backup: RetainAddonBackupCall; }; }; reset: { addon: ResetAddonCall; blueprintTemplatePreview: ResetBlueprinttemplatepreviewCall; service: { buildCache: ResetServiceBuildcacheCall; }; }; restart: { addon: RestartAddonCall; service: RestartServiceCall; }; scale: { addon: ScaleAddonCall; job: ScaleJobCall; service: ScaleServiceCall; }; start: { job: { build: StartJobBuildCall; run: StartJobRunCall; }; service: { build: StartServiceBuildCall; }; }; suspend: { job: SuspendJobCall; }; run: { previewTemplate: RunPreviewtemplateCall; releaseFlow: RunReleaseflowCall; previewBlueprint: RunPreviewblueprintCall; workflow: RunWorkflowCall; template: RunTemplateCall; }; attach: { volume: AttachVolumeCall; }; detach: { volume: DetachVolumeCall; }; endpoints: { download: { service: { files: InstanceType['downloadServiceFiles']; }; serviceStream: { files: InstanceType['downloadServiceFileStream']; }; job: { files: InstanceType['downloadJobFiles']; }; jobStream: { files: InstanceType['downloadJobFileStream']; }; }; upload: { service: { files: InstanceType['uploadServiceFiles']; }; serviceStream: { files: InstanceType['uploadServiceFileStream']; }; job: { files: InstanceType['uploadJobFiles']; }; jobStream: { files: InstanceType['uploadJobFileStream']; }; }; get: { addon: GetAddonEndpoint & { types: GetAddonTypesEndpoint; backupSchedules: GetAddonBackupschedulesEndpoint; backups: GetAddonBackupsEndpoint; backup: GetAddonBackupEndpoint & { download: GetAddonBackupDownloadEndpoint; restores: GetAddonBackupRestoresEndpoint; }; containers: GetAddonContainersEndpoint; credentials: GetAddonCredentialsEndpoint; restores: GetAddonRestoresEndpoint; version: GetAddonVersionEndpoint; }; backupDestination: GetBackupdestinationEndpoint; invoice: { details: GetInvoiceDetailsEndpoint; }; cloud: { cluster: GetCloudClusterEndpoint; integration: GetCloudIntegrationEndpoint; }; orgDirectoryGroups: GetOrgdirectorygroupsEndpoint; dnsId: GetDnsidEndpoint; domain: GetDomainEndpoint; domainCertificate: GetDomaincertificateEndpoint; subdomain: GetSubdomainEndpoint & { path: GetSubdomainPathEndpoint; }; egressIp: GetEgressipEndpoint; logSink: GetLogsinkEndpoint; notification: GetNotificationEndpoint; registryCredentials: GetRegistrycredentialsEndpoint; sshIdentities: GetSshidentitiesEndpoint; loadBalancer: GetLoadbalancerEndpoint; orgRole: GetOrgroleEndpoint; project: GetProjectEndpoint; externalAddon: GetExternaladdonEndpoint; job: GetJobEndpoint & { branches: GetJobBranchesEndpoint; builds: GetJobBuildsEndpoint; buildArguments: GetJobBuildargumentsEndpoint; buildArgumentDetails: GetJobBuildargumentdetailsEndpoint; build: GetJobBuildEndpoint; containers: GetJobContainersEndpoint; deployment: GetJobDeploymentEndpoint; healthChecks: GetJobHealthchecksEndpoint; pullRequests: GetJobPullrequestsEndpoint; runs: GetJobRunsEndpoint; run: GetJobRunEndpoint; runtimeEnvironment: GetJobRuntimeenvironmentEndpoint; runtimeEnvironmentDetails: GetJobRuntimeenvironmentdetailsEndpoint; }; llmModelDeployment: GetLlmmodeldeploymentEndpoint; pipeline: GetPipelineEndpoint; previewTemplate: GetPreviewtemplateEndpoint; previewTemplateRun: GetPreviewtemplaterunEndpoint; releaseFlow: GetReleaseflowEndpoint; releaseFlowRun: GetReleaseflowrunEndpoint; previewBlueprint: GetPreviewblueprintEndpoint; previewBlueprintRun: GetPreviewblueprintrunEndpoint; secret: GetSecretEndpoint; secretLink: GetSecretlinkEndpoint; secretDetails: GetSecretdetailsEndpoint; service: GetServiceEndpoint & { branches: GetServiceBranchesEndpoint; builds: GetServiceBuildsEndpoint; buildArguments: GetServiceBuildargumentsEndpoint; buildArgumentDetails: GetServiceBuildargumentdetailsEndpoint; build: GetServiceBuildEndpoint; containers: GetServiceContainersEndpoint; deployment: GetServiceDeploymentEndpoint; healthChecks: GetServiceHealthchecksEndpoint; ports: GetServicePortsEndpoint; pullRequests: GetServicePullrequestsEndpoint; runtimeEnvironment: GetServiceRuntimeenvironmentEndpoint; runtimeEnvironmentDetails: GetServiceRuntimeenvironmentdetailsEndpoint; }; volume: GetVolumeEndpoint & { backups: GetVolumeBackupsEndpoint; backup: GetVolumeBackupEndpoint; }; workflow: GetWorkflowEndpoint; workflowRun: GetWorkflowrunEndpoint; globalSecret: GetGlobalsecretEndpoint; tag: GetTagEndpoint; team: GetTeamEndpoint; teamRole: GetTeamroleEndpoint; template: GetTemplateEndpoint; templateRun: GetTemplaterunEndpoint; }; list: { backupDestinations: ListBackupdestinationsEndpoint; backupDestinationsBackups: ListBackupdestinationsbackupsEndpoint; invoices: ListInvoicesEndpoint; cloud: { providers: ListCloudProvidersEndpoint; clusters: ListCloudClustersEndpoint; cluster: { nodes: ListCloudClusterNodesEndpoint; }; integrations: ListCloudIntegrationsEndpoint; nodeTypes: ListCloudNodetypesEndpoint; regions: ListCloudRegionsEndpoint; }; orgDirectoryGroupMembers: ListOrgdirectorygroupmembersEndpoint; domains: ListDomainsEndpoint; subdomain: { path: ListSubdomainPathEndpoint; }; egressIps: ListEgressipsEndpoint; logSinks: ListLogsinksEndpoint; notifications: ListNotificationsEndpoint; registryCredentials: ListRegistrycredentialsEndpoint; sshIdentities: ListSshidentitiesEndpoint; vcs: ListVcsEndpoint; repos: ListReposEndpoint; branches: ListBranchesEndpoint; loadBalancers: ListLoadbalancersEndpoint; orgMembers: ListOrgmembersEndpoint; orgRoles: ListOrgrolesEndpoint; orgRoleMembers: ListOrgrolemembersEndpoint; plans: ListPlansEndpoint; projects: ListProjectsEndpoint; addons: ListAddonsEndpoint; externalAddons: ListExternaladdonsEndpoint; jobs: ListJobsEndpoint; llmModelDeployments: ListLlmmodeldeploymentsEndpoint; pipelines: ListPipelinesEndpoint; pipelineTemplatePreviews: ListPipelinetemplatepreviewsEndpoint; previewTemplateRuns: ListPreviewtemplaterunsEndpoint; releaseFlowRuns: ListReleaseflowrunsEndpoint; previewBlueprints: ListPreviewblueprintsEndpoint; blueprintTemplatePreviews: ListBlueprinttemplatepreviewsEndpoint; previewBlueprintRuns: ListPreviewblueprintrunsEndpoint; secrets: ListSecretsEndpoint; services: ListServicesEndpoint; volumes: ListVolumesEndpoint; workflows: ListWorkflowsEndpoint; workflowRuns: ListWorkflowrunsEndpoint; regions: ListRegionsEndpoint; globalSecrets: ListGlobalsecretsEndpoint; tags: ListTagsEndpoint; teams: ListTeamsEndpoint; teamMembers: ListTeammembersEndpoint; teamRoles: ListTeamrolesEndpoint; teamRoleMembers: ListTeamrolemembersEndpoint; templates: ListTemplatesEndpoint; templateRuns: ListTemplaterunsEndpoint; }; add: { backupDestination: AddBackupdestinationEndpoint; domain: { subdomain: AddDomainSubdomainEndpoint; }; subdomain: { path: AddSubdomainPathEndpoint; }; registryCredentials: AddRegistrycredentialsEndpoint; sshIdentities: AddSshidentitiesEndpoint; tag: AddTagEndpoint; }; patch: { backupDestination: PatchBackupdestinationEndpoint; cloud: { cluster: PatchCloudClusterEndpoint; integration: PatchCloudIntegrationEndpoint; }; egressIp: PatchEgressipEndpoint; gradualRolloutStrategy: PatchGradualrolloutstrategyEndpoint; loadBalancer: PatchLoadbalancerEndpoint; orgRole: PatchOrgroleEndpoint; project: PatchProjectEndpoint; addon: PatchAddonEndpoint; job: PatchJobEndpoint & { cron: PatchJobCronEndpoint; manual: PatchJobManualEndpoint; }; secret: PatchSecretEndpoint; service: { build: PatchServiceBuildEndpoint; combined: PatchServiceCombinedEndpoint; deployment: PatchServiceDeploymentEndpoint; }; globalSecret: PatchGlobalsecretEndpoint; tag: PatchTagEndpoint; team: PatchTeamEndpoint; teamRole: PatchTeamroleEndpoint; }; delete: { backupDestination: DeleteBackupdestinationEndpoint; cloud: { cluster: DeleteCloudClusterEndpoint; integration: DeleteCloudIntegrationEndpoint; }; domain: DeleteDomainEndpoint; subdomain: DeleteSubdomainEndpoint & { path: DeleteSubdomainPathEndpoint; }; egressIp: DeleteEgressipEndpoint; gradualRolloutStrategy: DeleteGradualrolloutstrategyEndpoint; logSink: DeleteLogsinkEndpoint; notification: DeleteNotificationEndpoint; registryCredentials: DeleteRegistrycredentialsEndpoint; sshIdentities: DeleteSshidentitiesEndpoint; loadBalancer: DeleteLoadbalancerEndpoint; orgRole: DeleteOrgroleEndpoint; orgRoleMember: DeleteOrgrolememberEndpoint; project: DeleteProjectEndpoint; addon: DeleteAddonEndpoint & { backupSchedule: DeleteAddonBackupscheduleEndpoint; }; backup: DeleteBackupEndpoint; externalAddon: DeleteExternaladdonEndpoint; job: DeleteJobEndpoint; llmModelDeployment: DeleteLlmmodeldeploymentEndpoint; pipelineTemplatePreview: DeletePipelinetemplatepreviewEndpoint; previewBlueprint: DeletePreviewblueprintEndpoint; blueprintTemplatePreview: DeleteBlueprinttemplatepreviewEndpoint; secret: DeleteSecretEndpoint; secretLink: DeleteSecretlinkEndpoint; service: DeleteServiceEndpoint; volume: DeleteVolumeEndpoint & { backup: DeleteVolumeBackupEndpoint; }; globalSecret: DeleteGlobalsecretEndpoint; tag: DeleteTagEndpoint; teamMember: DeleteTeammemberEndpoint; teamRole: DeleteTeamroleEndpoint; teamRoleMember: DeleteTeamrolememberEndpoint; template: DeleteTemplateEndpoint; }; create: { cloud: { cluster: CreateCloudClusterEndpoint; integration: CreateCloudIntegrationEndpoint; }; domain: CreateDomainEndpoint; egressIp: CreateEgressipEndpoint; gradualRolloutStrategy: CreateGradualrolloutstrategyEndpoint; logSink: CreateLogsinkEndpoint; notification: CreateNotificationEndpoint; customVcs: { token: CreateCustomvcsTokenEndpoint; }; loadBalancer: CreateLoadbalancerEndpoint; orgRole: CreateOrgroleEndpoint; orgRoleMember: CreateOrgrolememberEndpoint; project: CreateProjectEndpoint; addon: CreateAddonEndpoint & { backupSchedule: CreateAddonBackupscheduleEndpoint; }; externalAddon: CreateExternaladdonEndpoint; job: CreateJobEndpoint & { cron: CreateJobCronEndpoint; manual: CreateJobManualEndpoint; }; llmModelDeployment: CreateLlmmodeldeploymentEndpoint; previewBlueprint: CreatePreviewblueprintEndpoint; secret: CreateSecretEndpoint; service: { build: CreateServiceBuildEndpoint; combined: CreateServiceCombinedEndpoint; deployment: CreateServiceDeploymentEndpoint; }; volume: CreateVolumeEndpoint; workflow: CreateWorkflowEndpoint; globalSecret: CreateGlobalsecretEndpoint; team: CreateTeamEndpoint; teamMemberInvite: CreateTeammemberinviteEndpoint; teamRole: CreateTeamroleEndpoint; teamRoleMember: CreateTeamrolememberEndpoint; template: CreateTemplateEndpoint; }; put: { cloud: { cluster: PutCloudClusterEndpoint; integration: PutCloudIntegrationEndpoint; }; domain: { subdomain: PutDomainSubdomainEndpoint; }; egressIp: PutEgressipEndpoint; gradualRolloutStrategy: PutGradualrolloutstrategyEndpoint; sshIdentities: PutSshidentitiesEndpoint; loadBalancer: PutLoadbalancerEndpoint; orgRole: PutOrgroleEndpoint; project: PutProjectEndpoint; addon: PutAddonEndpoint; job: PutJobEndpoint & { cron: PutJobCronEndpoint; manual: PutJobManualEndpoint; }; secret: PutSecretEndpoint; service: { build: PutServiceBuildEndpoint; combined: PutServiceCombinedEndpoint; deployment: PutServiceDeploymentEndpoint; }; globalSecret: PutGlobalsecretEndpoint; tag: PutTagEndpoint; teamRole: PutTeamroleEndpoint; }; cordon: { cloud: { cluster: { node: CordonCloudClusterNodeEndpoint; }; }; }; drain: { cloud: { cluster: { node: DrainCloudClusterNodeEndpoint; }; }; }; uncordon: { cloud: { cluster: { node: UncordonCloudClusterNodeEndpoint; }; }; }; import: { domainCertificate: ImportDomaincertificateEndpoint; addon: { backup: ImportAddonBackupEndpoint; }; }; assign: { subdomain: { service: AssignSubdomainServiceEndpoint; path: AssignSubdomainPathEndpoint; }; }; unassign: { subdomain: UnassignSubdomainEndpoint & { path: UnassignSubdomainPathEndpoint; }; }; disable: { subdomain: { cdn: DisableSubdomainCdnEndpoint; }; }; enable: { subdomain: { cdn: EnableSubdomainCdnEndpoint; }; }; update: { subdomain: { path: UpdateSubdomainPathEndpoint; }; logSink: UpdateLogsinkEndpoint; notification: UpdateNotificationEndpoint; registryCredentials: UpdateRegistrycredentialsEndpoint; sshIdentities: UpdateSshidentitiesEndpoint; addon: { networkSettings: UpdateAddonNetworksettingsEndpoint; security: UpdateAddonSecurityEndpoint; version: UpdateAddonVersionEndpoint; }; externalAddon: UpdateExternaladdonEndpoint; job: { buildArguments: UpdateJobBuildargumentsEndpoint; buildOptions: UpdateJobBuildoptionsEndpoint; buildSource: UpdateJobBuildsourceEndpoint; deployment: UpdateJobDeploymentEndpoint; healthChecks: UpdateJobHealthchecksEndpoint; runtimeEnvironment: UpdateJobRuntimeenvironmentEndpoint; settings: UpdateJobSettingsEndpoint; }; llmModelDeployment: UpdateLlmmodeldeploymentEndpoint; previewTemplate: UpdatePreviewtemplateEndpoint; releaseFlow: UpdateReleaseflowEndpoint; previewBlueprint: UpdatePreviewblueprintEndpoint; secret: UpdateSecretEndpoint; secretLink: UpdateSecretlinkEndpoint; service: { buildArguments: UpdateServiceBuildargumentsEndpoint; buildOptions: UpdateServiceBuildoptionsEndpoint; buildSource: UpdateServiceBuildsourceEndpoint; deployment: UpdateServiceDeploymentEndpoint; healthChecks: UpdateServiceHealthchecksEndpoint; ports: UpdateServicePortsEndpoint; runtimeEnvironment: UpdateServiceRuntimeenvironmentEndpoint; }; volume: UpdateVolumeEndpoint; workflow: UpdateWorkflowEndpoint; template: UpdateTemplateEndpoint; }; verify: { subdomain: VerifySubdomainEndpoint; domain: VerifyDomainEndpoint; }; pause: { logSink: PauseLogsinkEndpoint; addon: PauseAddonEndpoint; job: PauseJobEndpoint; blueprintTemplatePreview: PauseBlueprinttemplatepreviewEndpoint; service: PauseServiceEndpoint; }; resume: { logSink: ResumeLogsinkEndpoint; addon: ResumeAddonEndpoint; job: ResumeJobEndpoint; blueprintTemplatePreview: ResumeBlueprinttemplatepreviewEndpoint; service: ResumeServiceEndpoint; }; backup: { addon: BackupAddonEndpoint; volume: BackupVolumeEndpoint; }; abort: { addon: { backup: AbortAddonBackupEndpoint; restore: AbortAddonRestoreEndpoint; }; job: { build: AbortJobBuildEndpoint; run: AbortJobRunEndpoint; }; releaseFlowRun: AbortReleaseflowrunEndpoint; previewBlueprintRun: AbortPreviewblueprintrunEndpoint; service: { build: AbortServiceBuildEndpoint; }; workflowRun: AbortWorkflowrunEndpoint; templateRun: AbortTemplaterunEndpoint; }; restore: { addon: { backup: RestoreAddonBackupEndpoint; }; }; retain: { addon: { backup: RetainAddonBackupEndpoint; }; }; reset: { addon: ResetAddonEndpoint; blueprintTemplatePreview: ResetBlueprinttemplatepreviewEndpoint; service: { buildCache: ResetServiceBuildcacheEndpoint; }; }; restart: { addon: RestartAddonEndpoint; service: RestartServiceEndpoint; }; scale: { addon: ScaleAddonEndpoint; job: ScaleJobEndpoint; service: ScaleServiceEndpoint; }; start: { job: { build: StartJobBuildEndpoint; run: StartJobRunEndpoint; }; service: { build: StartServiceBuildEndpoint; }; }; suspend: { job: SuspendJobEndpoint; }; run: { previewTemplate: RunPreviewtemplateEndpoint; releaseFlow: RunReleaseflowEndpoint; previewBlueprint: RunPreviewblueprintEndpoint; workflow: RunWorkflowEndpoint; template: RunTemplateEndpoint; }; attach: { volume: AttachVolumeEndpoint; }; detach: { volume: DetachVolumeEndpoint; }; }; constructor(contextProvider: ApiClientContextProvider, apiClientOpts?: ApiClientOpts); protected baseUrl: () => string | undefined; } export { AbortAddonBackupEndpoint, AbortAddonRestoreEndpoint, AbortJobBuildEndpoint, AbortJobRunEndpoint, AbortPreviewblueprintrunEndpoint, AbortReleaseflowrunEndpoint, AbortServiceBuildEndpoint, AbortTemplaterunEndpoint, AbortWorkflowrunEndpoint, AddBackupdestinationEndpoint, AddDomainSubdomainEndpoint, AddRegistrycredentialsEndpoint, AddSshidentitiesEndpoint, AddSubdomainPathEndpoint, AddTagEndpoint, ApiClient, ApiClientContextProvider, ApiClientFileContextProvider, ApiClientInMemoryContextProvider, ApiEndpoint, AssignSubdomainPathEndpoint, AssignSubdomainServiceEndpoint, AttachVolumeEndpoint, BackupAddonEndpoint, BackupVolumeEndpoint, CopyType, CordonCloudClusterNodeEndpoint, CreateAddonBackupscheduleEndpoint, CreateAddonEndpoint, CreateCloudClusterEndpoint, CreateCloudIntegrationEndpoint, CreateCustomvcsTokenEndpoint, CreateDomainEndpoint, CreateEgressipEndpoint, CreateExternaladdonEndpoint, CreateGlobalsecretEndpoint, CreateGradualrolloutstrategyEndpoint, CreateJobCronEndpoint, CreateJobEndpoint, CreateJobManualEndpoint, CreateLlmmodeldeploymentEndpoint, CreateLoadbalancerEndpoint, CreateLogsinkEndpoint, CreateNotificationEndpoint, CreateOrgroleEndpoint, CreateOrgrolememberEndpoint, CreatePreviewblueprintEndpoint, CreateProjectEndpoint, CreateSecretEndpoint, CreateServiceBuildEndpoint, CreateServiceCombinedEndpoint, CreateServiceDeploymentEndpoint, CreateTeamEndpoint, CreateTeammemberinviteEndpoint, CreateTeamroleEndpoint, CreateTeamrolememberEndpoint, CreateTemplateEndpoint, CreateVolumeEndpoint, CreateWorkflowEndpoint, DeleteAddonBackupscheduleEndpoint, DeleteAddonEndpoint, DeleteApiEndpoint, DeleteBackupEndpoint, DeleteBackupdestinationEndpoint, DeleteBlueprinttemplatepreviewEndpoint, DeleteCloudClusterEndpoint, DeleteCloudIntegrationEndpoint, DeleteDomainEndpoint, DeleteEgressipEndpoint, DeleteExternaladdonEndpoint, DeleteGlobalsecretEndpoint, DeleteGradualrolloutstrategyEndpoint, DeleteJobEndpoint, DeleteLlmmodeldeploymentEndpoint, DeleteLoadbalancerEndpoint, DeleteLogsinkEndpoint, DeleteNotificationEndpoint, DeleteOrgroleEndpoint, DeleteOrgrolememberEndpoint, DeletePipelinetemplatepreviewEndpoint, DeletePreviewblueprintEndpoint, DeleteProjectEndpoint, DeleteRegistrycredentialsEndpoint, DeleteSecretEndpoint, DeleteSecretlinkEndpoint, DeleteServiceEndpoint, DeleteSshidentitiesEndpoint, DeleteSubdomainEndpoint, DeleteSubdomainPathEndpoint, DeleteTagEndpoint, DeleteTeammemberEndpoint, DeleteTeamroleEndpoint, DeleteTeamrolememberEndpoint, DeleteTemplateEndpoint, DeleteVolumeBackupEndpoint, DeleteVolumeEndpoint, DetachVolumeEndpoint, DisableSubdomainCdnEndpoint, DrainCloudClusterNodeEndpoint, EnableSubdomainCdnEndpoint, ExecCommandStandard, GetAddonBackupDownloadEndpoint, GetAddonBackupEndpoint, GetAddonBackupRestoresEndpoint, GetAddonBackupsEndpoint, GetAddonBackupschedulesEndpoint, GetAddonContainersEndpoint, GetAddonCredentialsEndpoint, GetAddonEndpoint, GetAddonRestoresEndpoint, GetAddonTypesEndpoint, GetAddonVersionEndpoint, GetApiEndpoint, GetApiEndpointPaginated, GetBackupdestinationEndpoint, GetCloudClusterEndpoint, GetCloudIntegrationEndpoint, GetDnsidEndpoint, GetDomainEndpoint, GetDomaincertificateEndpoint, GetEgressipEndpoint, GetExternaladdonEndpoint, GetGlobalsecretEndpoint, GetInvoiceDetailsEndpoint, GetJobBranchesEndpoint, GetJobBuildEndpoint, GetJobBuildargumentdetailsEndpoint, GetJobBuildargumentsEndpoint, GetJobBuildsEndpoint, GetJobContainersEndpoint, GetJobDeploymentEndpoint, GetJobEndpoint, GetJobHealthchecksEndpoint, GetJobPullrequestsEndpoint, GetJobRunEndpoint, GetJobRunsEndpoint, GetJobRuntimeenvironmentEndpoint, GetJobRuntimeenvironmentdetailsEndpoint, GetLlmmodeldeploymentEndpoint, GetLoadbalancerEndpoint, GetLogsinkEndpoint, GetNotificationEndpoint, GetOrgdirectorygroupsEndpoint, GetOrgroleEndpoint, GetPipelineEndpoint, GetPreviewblueprintEndpoint, GetPreviewblueprintrunEndpoint, GetPreviewtemplateEndpoint, GetPreviewtemplaterunEndpoint, GetProjectEndpoint, GetRegistrycredentialsEndpoint, GetReleaseflowEndpoint, GetReleaseflowrunEndpoint, GetSecretEndpoint, GetSecretdetailsEndpoint, GetSecretlinkEndpoint, GetServiceBranchesEndpoint, GetServiceBuildEndpoint, GetServiceBuildargumentdetailsEndpoint, GetServiceBuildargumentsEndpoint, GetServiceBuildsEndpoint, GetServiceContainersEndpoint, GetServiceDeploymentEndpoint, GetServiceEndpoint, GetServiceHealthchecksEndpoint, GetServicePortsEndpoint, GetServicePullrequestsEndpoint, GetServiceRuntimeenvironmentEndpoint, GetServiceRuntimeenvironmentdetailsEndpoint, GetSshidentitiesEndpoint, GetSubdomainEndpoint, GetSubdomainPathEndpoint, GetTagEndpoint, GetTeamEndpoint, GetTeamroleEndpoint, GetTemplateEndpoint, GetTemplaterunEndpoint, GetVolumeBackupEndpoint, GetVolumeBackupsEndpoint, GetVolumeEndpoint, GetWorkflowEndpoint, GetWorkflowrunEndpoint, ImportAddonBackupEndpoint, ImportDomaincertificateEndpoint, ListAddonsEndpoint, ListBackupdestinationsEndpoint, ListBackupdestinationsbackupsEndpoint, ListBlueprinttemplatepreviewsEndpoint, ListBranchesEndpoint, ListCloudClusterNodesEndpoint, ListCloudClustersEndpoint, ListCloudIntegrationsEndpoint, ListCloudNodetypesEndpoint, ListCloudProvidersEndpoint, ListCloudRegionsEndpoint, ListDomainsEndpoint, ListEgressipsEndpoint, ListExternaladdonsEndpoint, ListGlobalsecretsEndpoint, ListInvoicesEndpoint, ListJobsEndpoint, ListLlmmodeldeploymentsEndpoint, ListLoadbalancersEndpoint, ListLogsinksEndpoint, ListNotificationsEndpoint, ListOrgdirectorygroupmembersEndpoint, ListOrgmembersEndpoint, ListOrgrolemembersEndpoint, ListOrgrolesEndpoint, ListPipelinesEndpoint, ListPipelinetemplatepreviewsEndpoint, ListPlansEndpoint, ListPreviewblueprintrunsEndpoint, ListPreviewblueprintsEndpoint, ListPreviewtemplaterunsEndpoint, ListProjectsEndpoint, ListRegionsEndpoint, ListRegistrycredentialsEndpoint, ListReleaseflowrunsEndpoint, ListReposEndpoint, ListSecretsEndpoint, ListServicesEndpoint, ListSshidentitiesEndpoint, ListSubdomainPathEndpoint, ListTagsEndpoint, ListTeammembersEndpoint, ListTeamrolemembersEndpoint, ListTeamrolesEndpoint, ListTeamsEndpoint, ListTemplaterunsEndpoint, ListTemplatesEndpoint, ListVcsEndpoint, ListVolumesEndpoint, ListWorkflowrunsEndpoint, ListWorkflowsEndpoint, LogType, MetricType, NorthflankApiCallError, NorthflankExecCommand, NorthflankFileCopy, NorthflankLogFetch, NorthflankMetricFetch, NorthflankPortForwarder, PatchAddonEndpoint, PatchApiEndpoint, PatchBackupdestinationEndpoint, PatchCloudClusterEndpoint, PatchCloudIntegrationEndpoint, PatchEgressipEndpoint, PatchGlobalsecretEndpoint, PatchGradualrolloutstrategyEndpoint, PatchJobCronEndpoint, PatchJobEndpoint, PatchJobManualEndpoint, PatchLoadbalancerEndpoint, PatchOrgroleEndpoint, PatchProjectEndpoint, PatchSecretEndpoint, PatchServiceBuildEndpoint, PatchServiceCombinedEndpoint, PatchServiceDeploymentEndpoint, PatchTagEndpoint, PatchTeamEndpoint, PatchTeamroleEndpoint, PauseAddonEndpoint, PauseBlueprinttemplatepreviewEndpoint, PauseJobEndpoint, PauseLogsinkEndpoint, PauseServiceEndpoint, PostApiEndpoint, PutAddonEndpoint, PutApiEndpoint, PutCloudClusterEndpoint, PutCloudIntegrationEndpoint, PutDomainSubdomainEndpoint, PutEgressipEndpoint, PutGlobalsecretEndpoint, PutGradualrolloutstrategyEndpoint, PutJobCronEndpoint, PutJobEndpoint, PutJobManualEndpoint, PutLoadbalancerEndpoint, PutOrgroleEndpoint, PutProjectEndpoint, PutSecretEndpoint, PutServiceBuildEndpoint, PutServiceCombinedEndpoint, PutServiceDeploymentEndpoint, PutSshidentitiesEndpoint, PutTagEndpoint, PutTeamroleEndpoint, ResetAddonEndpoint, ResetBlueprinttemplatepreviewEndpoint, ResetServiceBuildcacheEndpoint, RestartAddonEndpoint, RestartServiceEndpoint, RestoreAddonBackupEndpoint, ResumeAddonEndpoint, ResumeBlueprinttemplatepreviewEndpoint, ResumeJobEndpoint, ResumeLogsinkEndpoint, ResumeServiceEndpoint, RetainAddonBackupEndpoint, RunPreviewblueprintEndpoint, RunPreviewtemplateEndpoint, RunReleaseflowEndpoint, RunTemplateEndpoint, RunWorkflowEndpoint, ScaleAddonEndpoint, ScaleJobEndpoint, ScaleServiceEndpoint, StartJobBuildEndpoint, StartJobRunEndpoint, StartServiceBuildEndpoint, SuspendJobEndpoint, UnassignSubdomainEndpoint, UnassignSubdomainPathEndpoint, UncordonCloudClusterNodeEndpoint, UpdateAddonNetworksettingsEndpoint, UpdateAddonSecurityEndpoint, UpdateAddonVersionEndpoint, UpdateExternaladdonEndpoint, UpdateJobBuildargumentsEndpoint, UpdateJobBuildoptionsEndpoint, UpdateJobBuildsourceEndpoint, UpdateJobDeploymentEndpoint, UpdateJobHealthchecksEndpoint, UpdateJobRuntimeenvironmentEndpoint, UpdateJobSettingsEndpoint, UpdateLlmmodeldeploymentEndpoint, UpdateLogsinkEndpoint, UpdateNotificationEndpoint, UpdatePreviewblueprintEndpoint, UpdatePreviewtemplateEndpoint, UpdateRegistrycredentialsEndpoint, UpdateReleaseflowEndpoint, UpdateSecretEndpoint, UpdateSecretlinkEndpoint, UpdateServiceBuildargumentsEndpoint, UpdateServiceBuildoptionsEndpoint, UpdateServiceBuildsourceEndpoint, UpdateServiceDeploymentEndpoint, UpdateServiceHealthchecksEndpoint, UpdateServicePortsEndpoint, UpdateServiceRuntimeenvironmentEndpoint, UpdateSshidentitiesEndpoint, UpdateSubdomainPathEndpoint, UpdateTemplateEndpoint, UpdateVolumeEndpoint, UpdateWorkflowEndpoint, VerifyDomainEndpoint, VerifySubdomainEndpoint }; export type { AbortAddonBackupCall, AbortAddonBackupParameters, AbortAddonBackupRequest, AbortAddonBackupResult, AbortAddonRestoreCall, AbortAddonRestoreData, AbortAddonRestoreOptions, AbortAddonRestoreParameters, AbortAddonRestoreRequest, AbortAddonRestoreResult, AbortJobBuildCall, AbortJobBuildParameters, AbortJobBuildRequest, AbortJobBuildResult, AbortJobRunCall, AbortJobRunParameters, AbortJobRunRequest, AbortJobRunResult, AbortPreviewblueprintrunCall, AbortPreviewblueprintrunParameters, AbortPreviewblueprintrunRequest, AbortPreviewblueprintrunResult, AbortReleaseflowrunCall, AbortReleaseflowrunParameters, AbortReleaseflowrunRequest, AbortReleaseflowrunResult, AbortServiceBuildCall, AbortServiceBuildParameters, AbortServiceBuildRequest, AbortServiceBuildResult, AbortTemplaterunCall, AbortTemplaterunParameters, AbortTemplaterunRequest, AbortTemplaterunResult, AbortWorkflowrunCall, AbortWorkflowrunParameters, AbortWorkflowrunRequest, AbortWorkflowrunResult, AddBackupdestinationCall, AddBackupdestinationData, AddBackupdestinationParameters, AddBackupdestinationRequest, AddBackupdestinationResult, AddDomainSubdomainCall, AddDomainSubdomainData, AddDomainSubdomainParameters, AddDomainSubdomainRequest, AddDomainSubdomainResult, AddRegistrycredentialsCall, AddRegistrycredentialsData, AddRegistrycredentialsParameters, AddRegistrycredentialsRequest, AddRegistrycredentialsResult, AddSshidentitiesCall, AddSshidentitiesData, AddSshidentitiesParameters, AddSshidentitiesRequest, AddSshidentitiesResult, AddSubdomainPathCall, AddSubdomainPathData, AddSubdomainPathParameters, AddSubdomainPathRequest, AddSubdomainPathResult, AddTagCall, AddTagData, AddTagParameters, AddTagRequest, AddTagResult, ApiCallError, ApiCallResponse, ApiClientContext, ApiClientContextWrapper, ApiClientOpts, AssignSubdomainPathCall, AssignSubdomainPathData, AssignSubdomainPathParameters, AssignSubdomainPathRequest, AssignSubdomainPathResult, AssignSubdomainServiceCall, AssignSubdomainServiceData, AssignSubdomainServiceParameters, AssignSubdomainServiceRequest, AssignSubdomainServiceResult, AttachVolumeCall, AttachVolumeData, AttachVolumeParameters, AttachVolumeRequest, AttachVolumeResult, BackupAddonCall, BackupAddonData, BackupAddonParameters, BackupAddonRequest, BackupAddonResult, BackupVolumeCall, BackupVolumeData, BackupVolumeParameters, BackupVolumeRequest, BackupVolumeResult, CommandResult, CordonCloudClusterNodeCall, CordonCloudClusterNodeParameters, CordonCloudClusterNodeRequest, CordonCloudClusterNodeResult, CreateAddonBackupscheduleCall, CreateAddonBackupscheduleData, CreateAddonBackupscheduleParameters, CreateAddonBackupscheduleRequest, CreateAddonBackupscheduleResult, CreateAddonCall, CreateAddonData, CreateAddonParameters, CreateAddonRequest, CreateAddonResult, CreateCloudClusterCall, CreateCloudClusterData, CreateCloudClusterParameters, CreateCloudClusterRequest, CreateCloudClusterResult, CreateCloudIntegrationCall, CreateCloudIntegrationData, CreateCloudIntegrationParameters, CreateCloudIntegrationRequest, CreateCloudIntegrationResult, CreateCustomvcsTokenCall, CreateCustomvcsTokenOptions, CreateCustomvcsTokenParameters, CreateCustomvcsTokenRequest, CreateCustomvcsTokenResult, CreateDomainCall, CreateDomainData, CreateDomainParameters, CreateDomainRequest, CreateDomainResult, CreateEgressipCall, CreateEgressipData, CreateEgressipParameters, CreateEgressipRequest, CreateEgressipResult, CreateExternaladdonCall, CreateExternaladdonData, CreateExternaladdonParameters, CreateExternaladdonRequest, CreateExternaladdonResult, CreateGlobalsecretCall, CreateGlobalsecretData, CreateGlobalsecretParameters, CreateGlobalsecretRequest, CreateGlobalsecretResult, CreateGradualrolloutstrategyCall, CreateGradualrolloutstrategyData, CreateGradualrolloutstrategyParameters, CreateGradualrolloutstrategyRequest, CreateGradualrolloutstrategyResult, CreateJobCall, CreateJobCronCall, CreateJobCronData, CreateJobCronParameters, CreateJobCronRequest, CreateJobCronResult, CreateJobData, CreateJobManualCall, CreateJobManualData, CreateJobManualParameters, CreateJobManualRequest, CreateJobManualResult, CreateJobParameters, CreateJobRequest, CreateJobResult, CreateLlmmodeldeploymentCall, CreateLlmmodeldeploymentData, CreateLlmmodeldeploymentParameters, CreateLlmmodeldeploymentRequest, CreateLlmmodeldeploymentResult, CreateLoadbalancerCall, CreateLoadbalancerData, CreateLoadbalancerParameters, CreateLoadbalancerRequest, CreateLoadbalancerResult, CreateLogsinkCall, CreateLogsinkData, CreateLogsinkParameters, CreateLogsinkRequest, CreateLogsinkResult, CreateNotificationCall, CreateNotificationData, CreateNotificationParameters, CreateNotificationRequest, CreateNotificationResult, CreateOrgroleCall, CreateOrgroleData, CreateOrgroleRequest, CreateOrgroleResult, CreateOrgrolememberCall, CreateOrgrolememberData, CreateOrgrolememberParameters, CreateOrgrolememberRequest, CreateOrgrolememberResult, CreatePreviewblueprintCall, CreatePreviewblueprintData, CreatePreviewblueprintParameters, CreatePreviewblueprintRequest, CreatePreviewblueprintResult, CreateProjectCall, CreateProjectData, CreateProjectParameters, CreateProjectRequest, CreateProjectResult, CreateSecretCall, CreateSecretData, CreateSecretParameters, CreateSecretRequest, CreateSecretResult, CreateServiceBuildCall, CreateServiceBuildData, CreateServiceBuildParameters, CreateServiceBuildRequest, CreateServiceBuildResult, CreateServiceCombinedCall, CreateServiceCombinedData, CreateServiceCombinedParameters, CreateServiceCombinedRequest, CreateServiceCombinedResult, CreateServiceDeploymentCall, CreateServiceDeploymentData, CreateServiceDeploymentParameters, CreateServiceDeploymentRequest, CreateServiceDeploymentResult, CreateTeamCall, CreateTeamData, CreateTeamRequest, CreateTeamResult, CreateTeammemberinviteCall, CreateTeammemberinviteData, CreateTeammemberinviteParameters, CreateTeammemberinviteRequest, CreateTeammemberinviteResult, CreateTeamroleCall, CreateTeamroleData, CreateTeamroleParameters, CreateTeamroleRequest, CreateTeamroleResult, CreateTeamrolememberCall, CreateTeamrolememberData, CreateTeamrolememberParameters, CreateTeamrolememberRequest, CreateTeamrolememberResult, CreateTemplateCall, CreateTemplateData, CreateTemplateParameters, CreateTemplateRequest, CreateTemplateResult, CreateVolumeCall, CreateVolumeData, CreateVolumeParameters, CreateVolumeRequest, CreateVolumeResult, CreateWorkflowCall, CreateWorkflowData, CreateWorkflowParameters, CreateWorkflowRequest, CreateWorkflowResult, DeleteAddonBackupscheduleCall, DeleteAddonBackupscheduleParameters, DeleteAddonBackupscheduleRequest, DeleteAddonBackupscheduleResult, DeleteAddonCall, DeleteAddonParameters, DeleteAddonRequest, DeleteAddonResult, DeleteBackupCall, DeleteBackupParameters, DeleteBackupRequest, DeleteBackupResult, DeleteBackupdestinationCall, DeleteBackupdestinationParameters, DeleteBackupdestinationRequest, DeleteBackupdestinationResult, DeleteBlueprinttemplatepreviewCall, DeleteBlueprinttemplatepreviewData, DeleteBlueprinttemplatepreviewOptions, DeleteBlueprinttemplatepreviewParameters, DeleteBlueprinttemplatepreviewRequest, DeleteBlueprinttemplatepreviewResult, DeleteCloudClusterCall, DeleteCloudClusterParameters, DeleteCloudClusterRequest, DeleteCloudClusterResult, DeleteCloudIntegrationCall, DeleteCloudIntegrationParameters, DeleteCloudIntegrationRequest, DeleteCloudIntegrationResult, DeleteDomainCall, DeleteDomainParameters, DeleteDomainRequest, DeleteDomainResult, DeleteEgressipCall, DeleteEgressipParameters, DeleteEgressipRequest, DeleteEgressipResult, DeleteExternaladdonCall, DeleteExternaladdonParameters, DeleteExternaladdonRequest, DeleteExternaladdonResult, DeleteGlobalsecretCall, DeleteGlobalsecretParameters, DeleteGlobalsecretRequest, DeleteGlobalsecretResult, DeleteGradualrolloutstrategyCall, DeleteGradualrolloutstrategyParameters, DeleteGradualrolloutstrategyRequest, DeleteGradualrolloutstrategyResult, DeleteJobCall, DeleteJobParameters, DeleteJobRequest, DeleteJobResult, DeleteLlmmodeldeploymentCall, DeleteLlmmodeldeploymentParameters, DeleteLlmmodeldeploymentRequest, DeleteLlmmodeldeploymentResult, DeleteLoadbalancerCall, DeleteLoadbalancerParameters, DeleteLoadbalancerRequest, DeleteLoadbalancerResult, DeleteLogsinkCall, DeleteLogsinkParameters, DeleteLogsinkRequest, DeleteLogsinkResult, DeleteNotificationCall, DeleteNotificationParameters, DeleteNotificationRequest, DeleteNotificationResult, DeleteOrgroleCall, DeleteOrgroleParameters, DeleteOrgroleRequest, DeleteOrgroleResult, DeleteOrgrolememberCall, DeleteOrgrolememberParameters, DeleteOrgrolememberRequest, DeleteOrgrolememberResult, DeletePipelinetemplatepreviewCall, DeletePipelinetemplatepreviewData, DeletePipelinetemplatepreviewOptions, DeletePipelinetemplatepreviewParameters, DeletePipelinetemplatepreviewRequest, DeletePipelinetemplatepreviewResult, DeletePreviewblueprintCall, DeletePreviewblueprintParameters, DeletePreviewblueprintRequest, DeletePreviewblueprintResult, DeleteProjectCall, DeleteProjectOptions, DeleteProjectParameters, DeleteProjectRequest, DeleteProjectResult, DeleteRegistrycredentialsCall, DeleteRegistrycredentialsParameters, DeleteRegistrycredentialsRequest, DeleteRegistrycredentialsResult, DeleteSecretCall, DeleteSecretParameters, DeleteSecretRequest, DeleteSecretResult, DeleteSecretlinkCall, DeleteSecretlinkParameters, DeleteSecretlinkRequest, DeleteSecretlinkResult, DeleteServiceCall, DeleteServiceOptions, DeleteServiceParameters, DeleteServiceRequest, DeleteServiceResult, DeleteSshidentitiesCall, DeleteSshidentitiesParameters, DeleteSshidentitiesRequest, DeleteSshidentitiesResult, DeleteSubdomainCall, DeleteSubdomainParameters, DeleteSubdomainPathCall, DeleteSubdomainPathParameters, DeleteSubdomainPathRequest, DeleteSubdomainPathResult, DeleteSubdomainRequest, DeleteSubdomainResult, DeleteTagCall, DeleteTagParameters, DeleteTagRequest, DeleteTagResult, DeleteTeammemberCall, DeleteTeammemberParameters, DeleteTeammemberRequest, DeleteTeammemberResult, DeleteTeamroleCall, DeleteTeamroleParameters, DeleteTeamroleRequest, DeleteTeamroleResult, DeleteTeamrolememberCall, DeleteTeamrolememberParameters, DeleteTeamrolememberRequest, DeleteTeamrolememberResult, DeleteTemplateCall, DeleteTemplateParameters, DeleteTemplateRequest, DeleteTemplateResult, DeleteVolumeBackupCall, DeleteVolumeBackupParameters, DeleteVolumeBackupRequest, DeleteVolumeBackupResult, DeleteVolumeCall, DeleteVolumeParameters, DeleteVolumeRequest, DeleteVolumeResult, DetachVolumeCall, DetachVolumeData, DetachVolumeParameters, DetachVolumeRequest, DetachVolumeResult, DisableSubdomainCdnCall, DisableSubdomainCdnData, DisableSubdomainCdnParameters, DisableSubdomainCdnRequest, DisableSubdomainCdnResult, DownloadOptions, DrainCloudClusterNodeCall, DrainCloudClusterNodeParameters, DrainCloudClusterNodeRequest, DrainCloudClusterNodeResult, EnableSubdomainCdnCall, EnableSubdomainCdnData, EnableSubdomainCdnParameters, EnableSubdomainCdnRequest, EnableSubdomainCdnResult, ExecCommand, ExecCommandData, ExecSessionData, GetAddonBackupCall, GetAddonBackupDownloadCall, GetAddonBackupDownloadParameters, GetAddonBackupDownloadRequest, GetAddonBackupDownloadResult, GetAddonBackupLogsCall, GetAddonBackupParameters, GetAddonBackupRequest, GetAddonBackupRestoresCall, GetAddonBackupRestoresOptions, GetAddonBackupRestoresParameters, GetAddonBackupRestoresRequest, GetAddonBackupRestoresResult, GetAddonBackupResult, GetAddonBackupsCall, GetAddonBackupsOptions, GetAddonBackupsParameters, GetAddonBackupsRequest, GetAddonBackupsResult, GetAddonBackupschedulesCall, GetAddonBackupschedulesOptions, GetAddonBackupschedulesParameters, GetAddonBackupschedulesRequest, GetAddonBackupschedulesResult, GetAddonCall, GetAddonContainersCall, GetAddonContainersOptions, GetAddonContainersParameters, GetAddonContainersRequest, GetAddonContainersResult, GetAddonCredentialsCall, GetAddonCredentialsParameters, GetAddonCredentialsRequest, GetAddonCredentialsResult, GetAddonLogsCall, GetAddonMetricsCall, GetAddonMetricsRangeCall, GetAddonParameters, GetAddonRequest, GetAddonRestoresCall, GetAddonRestoresLogsCall, GetAddonRestoresOptions, GetAddonRestoresParameters, GetAddonRestoresRequest, GetAddonRestoresResult, GetAddonResult, GetAddonTypesCall, GetAddonTypesRequest, GetAddonTypesResult, GetAddonVersionCall, GetAddonVersionParameters, GetAddonVersionRequest, GetAddonVersionResult, GetBackupdestinationCall, GetBackupdestinationParameters, GetBackupdestinationRequest, GetBackupdestinationResult, GetCloudClusterCall, GetCloudClusterParameters, GetCloudClusterRequest, GetCloudClusterResult, GetCloudIntegrationCall, GetCloudIntegrationParameters, GetCloudIntegrationRequest, GetCloudIntegrationResult, GetDnsidCall, GetDnsidParameters, GetDnsidRequest, GetDnsidResult, GetDomainCall, GetDomainParameters, GetDomainRequest, GetDomainResult, GetDomaincertificateCall, GetDomaincertificateParameters, GetDomaincertificateRequest, GetDomaincertificateResult, GetEgressipCall, GetEgressipParameters, GetEgressipRequest, GetEgressipResult, GetExternaladdonCall, GetExternaladdonParameters, GetExternaladdonRequest, GetExternaladdonResult, GetGlobalsecretCall, GetGlobalsecretParameters, GetGlobalsecretRequest, GetGlobalsecretResult, GetInvoiceDetailsCall, GetInvoiceDetailsOptions, GetInvoiceDetailsParameters, GetInvoiceDetailsRequest, GetInvoiceDetailsResult, GetJobBranchesCall, GetJobBranchesOptions, GetJobBranchesParameters, GetJobBranchesRequest, GetJobBranchesResult, GetJobBuildCall, GetJobBuildMetricsCall, GetJobBuildMetricsRangeCall, GetJobBuildParameters, GetJobBuildRequest, GetJobBuildResult, GetJobBuildargumentdetailsCall, GetJobBuildargumentdetailsParameters, GetJobBuildargumentdetailsRequest, GetJobBuildargumentdetailsResult, GetJobBuildargumentsCall, GetJobBuildargumentsOptions, GetJobBuildargumentsParameters, GetJobBuildargumentsRequest, GetJobBuildargumentsResult, GetJobBuildlogsCall, GetJobBuildsCall, GetJobBuildsOptions, GetJobBuildsParameters, GetJobBuildsRequest, GetJobBuildsResult, GetJobCall, GetJobContainersCall, GetJobContainersOptions, GetJobContainersParameters, GetJobContainersRequest, GetJobContainersResult, GetJobDeploymentCall, GetJobDeploymentParameters, GetJobDeploymentRequest, GetJobDeploymentResult, GetJobHealthchecksCall, GetJobHealthchecksParameters, GetJobHealthchecksRequest, GetJobHealthchecksResult, GetJobLogsCall, GetJobMetricsCall, GetJobMetricsRangeCall, GetJobParameters, GetJobPullrequestsCall, GetJobPullrequestsOptions, GetJobPullrequestsParameters, GetJobPullrequestsRequest, GetJobPullrequestsResult, GetJobRequest, GetJobResult, GetJobRunCall, GetJobRunParameters, GetJobRunRequest, GetJobRunResult, GetJobRunsCall, GetJobRunsOptions, GetJobRunsParameters, GetJobRunsRequest, GetJobRunsResult, GetJobRuntimeenvironmentCall, GetJobRuntimeenvironmentOptions, GetJobRuntimeenvironmentParameters, GetJobRuntimeenvironmentRequest, GetJobRuntimeenvironmentResult, GetJobRuntimeenvironmentdetailsCall, GetJobRuntimeenvironmentdetailsParameters, GetJobRuntimeenvironmentdetailsRequest, GetJobRuntimeenvironmentdetailsResult, GetLlmmodeldeploymentCall, GetLlmmodeldeploymentParameters, GetLlmmodeldeploymentRequest, GetLlmmodeldeploymentResult, GetLoadbalancerCall, GetLoadbalancerParameters, GetLoadbalancerRequest, GetLoadbalancerResult, GetLogsinkCall, GetLogsinkParameters, GetLogsinkRequest, GetLogsinkResult, GetNotificationCall, GetNotificationParameters, GetNotificationRequest, GetNotificationResult, GetOrgdirectorygroupsCall, GetOrgdirectorygroupsRequest, GetOrgdirectorygroupsResult, GetOrgroleCall, GetOrgroleParameters, GetOrgroleRequest, GetOrgroleResult, GetPipelineCall, GetPipelineParameters, GetPipelineRequest, GetPipelineResult, GetPreviewblueprintCall, GetPreviewblueprintParameters, GetPreviewblueprintRequest, GetPreviewblueprintResult, GetPreviewblueprintrunCall, GetPreviewblueprintrunParameters, GetPreviewblueprintrunRequest, GetPreviewblueprintrunResult, GetPreviewtemplateCall, GetPreviewtemplateOptions, GetPreviewtemplateParameters, GetPreviewtemplateRequest, GetPreviewtemplateResult, GetPreviewtemplaterunCall, GetPreviewtemplaterunParameters, GetPreviewtemplaterunRequest, GetPreviewtemplaterunResult, GetProjectCall, GetProjectParameters, GetProjectRequest, GetProjectResult, GetRegistrycredentialsCall, GetRegistrycredentialsParameters, GetRegistrycredentialsRequest, GetRegistrycredentialsResult, GetReleaseflowCall, GetReleaseflowParameters, GetReleaseflowRequest, GetReleaseflowResult, GetReleaseflowrunCall, GetReleaseflowrunParameters, GetReleaseflowrunRequest, GetReleaseflowrunResult, GetSecretCall, GetSecretOptions, GetSecretParameters, GetSecretRequest, GetSecretResult, GetSecretdetailsCall, GetSecretdetailsParameters, GetSecretdetailsRequest, GetSecretdetailsResult, GetSecretlinkCall, GetSecretlinkParameters, GetSecretlinkRequest, GetSecretlinkResult, GetServiceBranchesCall, GetServiceBranchesOptions, GetServiceBranchesParameters, GetServiceBranchesRequest, GetServiceBranchesResult, GetServiceBuildCall, GetServiceBuildMetricsCall, GetServiceBuildMetricsRangeCall, GetServiceBuildParameters, GetServiceBuildRequest, GetServiceBuildResult, GetServiceBuildargumentdetailsCall, GetServiceBuildargumentdetailsParameters, GetServiceBuildargumentdetailsRequest, GetServiceBuildargumentdetailsResult, GetServiceBuildargumentsCall, GetServiceBuildargumentsOptions, GetServiceBuildargumentsParameters, GetServiceBuildargumentsRequest, GetServiceBuildargumentsResult, GetServiceBuildlogsCall, GetServiceBuildsCall, GetServiceBuildsOptions, GetServiceBuildsParameters, GetServiceBuildsRequest, GetServiceBuildsResult, GetServiceCall, GetServiceContainersCall, GetServiceContainersOptions, GetServiceContainersParameters, GetServiceContainersRequest, GetServiceContainersResult, GetServiceDeploymentCall, GetServiceDeploymentParameters, GetServiceDeploymentRequest, GetServiceDeploymentResult, GetServiceHealthchecksCall, GetServiceHealthchecksParameters, GetServiceHealthchecksRequest, GetServiceHealthchecksResult, GetServiceLogsCall, GetServiceMetricsCall, GetServiceMetricsRangeCall, GetServiceParameters, GetServicePortsCall, GetServicePortsParameters, GetServicePortsRequest, GetServicePortsResult, GetServicePullrequestsCall, GetServicePullrequestsOptions, GetServicePullrequestsParameters, GetServicePullrequestsRequest, GetServicePullrequestsResult, GetServiceRequest, GetServiceResult, GetServiceRuntimeenvironmentCall, GetServiceRuntimeenvironmentOptions, GetServiceRuntimeenvironmentParameters, GetServiceRuntimeenvironmentRequest, GetServiceRuntimeenvironmentResult, GetServiceRuntimeenvironmentdetailsCall, GetServiceRuntimeenvironmentdetailsParameters, GetServiceRuntimeenvironmentdetailsRequest, GetServiceRuntimeenvironmentdetailsResult, GetSshidentitiesCall, GetSshidentitiesParameters, GetSshidentitiesRequest, GetSshidentitiesResult, GetSubdomainCall, GetSubdomainParameters, GetSubdomainPathCall, GetSubdomainPathParameters, GetSubdomainPathRequest, GetSubdomainPathResult, GetSubdomainRequest, GetSubdomainResult, GetTagCall, GetTagParameters, GetTagRequest, GetTagResult, GetTeamCall, GetTeamParameters, GetTeamRequest, GetTeamResult, GetTeamroleCall, GetTeamroleParameters, GetTeamroleRequest, GetTeamroleResult, GetTemplateCall, GetTemplateOptions, GetTemplateParameters, GetTemplateRequest, GetTemplateResult, GetTemplaterunCall, GetTemplaterunParameters, GetTemplaterunRequest, GetTemplaterunResult, GetVolumeBackupCall, GetVolumeBackupParameters, GetVolumeBackupRequest, GetVolumeBackupResult, GetVolumeBackupsCall, GetVolumeBackupsOptions, GetVolumeBackupsParameters, GetVolumeBackupsRequest, GetVolumeBackupsResult, GetVolumeCall, GetVolumeParameters, GetVolumeRequest, GetVolumeResult, GetWorkflowCall, GetWorkflowParameters, GetWorkflowRequest, GetWorkflowResult, GetWorkflowrunCall, GetWorkflowrunParameters, GetWorkflowrunRequest, GetWorkflowrunResult, ImportAddonBackupCall, ImportAddonBackupData, ImportAddonBackupParameters, ImportAddonBackupRequest, ImportAddonBackupResult, ImportDomaincertificateCall, ImportDomaincertificateData, ImportDomaincertificateParameters, ImportDomaincertificateRequest, ImportDomaincertificateResult, ListAddonsCall, ListAddonsOptions, ListAddonsParameters, ListAddonsRequest, ListAddonsResult, ListBackupdestinationsCall, ListBackupdestinationsOptions, ListBackupdestinationsParameters, ListBackupdestinationsRequest, ListBackupdestinationsResult, ListBackupdestinationsbackupsCall, ListBackupdestinationsbackupsOptions, ListBackupdestinationsbackupsParameters, ListBackupdestinationsbackupsRequest, ListBackupdestinationsbackupsResult, ListBlueprinttemplatepreviewsCall, ListBlueprinttemplatepreviewsOptions, ListBlueprinttemplatepreviewsParameters, ListBlueprinttemplatepreviewsRequest, ListBlueprinttemplatepreviewsResult, ListBranchesCall, ListBranchesOptions, ListBranchesParameters, ListBranchesRequest, ListBranchesResult, ListCloudClusterNodesCall, ListCloudClusterNodesOptions, ListCloudClusterNodesParameters, ListCloudClusterNodesRequest, ListCloudClusterNodesResult, ListCloudClustersCall, ListCloudClustersOptions, ListCloudClustersParameters, ListCloudClustersRequest, ListCloudClustersResult, ListCloudIntegrationsCall, ListCloudIntegrationsOptions, ListCloudIntegrationsParameters, ListCloudIntegrationsRequest, ListCloudIntegrationsResult, ListCloudNodetypesCall, ListCloudNodetypesOptions, ListCloudNodetypesRequest, ListCloudNodetypesResult, ListCloudProvidersCall, ListCloudProvidersRequest, ListCloudProvidersResult, ListCloudRegionsCall, ListCloudRegionsOptions, ListCloudRegionsRequest, ListCloudRegionsResult, ListDomainsCall, ListDomainsOptions, ListDomainsParameters, ListDomainsRequest, ListDomainsResult, ListEgressipsCall, ListEgressipsOptions, ListEgressipsParameters, ListEgressipsRequest, ListEgressipsResult, ListExternaladdonsCall, ListExternaladdonsOptions, ListExternaladdonsParameters, ListExternaladdonsRequest, ListExternaladdonsResult, ListGlobalsecretsCall, ListGlobalsecretsOptions, ListGlobalsecretsParameters, ListGlobalsecretsRequest, ListGlobalsecretsResult, ListInvoicesCall, ListInvoicesOptions, ListInvoicesParameters, ListInvoicesRequest, ListInvoicesResult, ListJobsCall, ListJobsOptions, ListJobsParameters, ListJobsRequest, ListJobsResult, ListLlmmodeldeploymentsCall, ListLlmmodeldeploymentsOptions, ListLlmmodeldeploymentsParameters, ListLlmmodeldeploymentsRequest, ListLlmmodeldeploymentsResult, ListLoadbalancersCall, ListLoadbalancersOptions, ListLoadbalancersParameters, ListLoadbalancersRequest, ListLoadbalancersResult, ListLogsinksCall, ListLogsinksOptions, ListLogsinksParameters, ListLogsinksRequest, ListLogsinksResult, ListNotificationsCall, ListNotificationsOptions, ListNotificationsParameters, ListNotificationsRequest, ListNotificationsResult, ListOrgdirectorygroupmembersCall, ListOrgdirectorygroupmembersOptions, ListOrgdirectorygroupmembersParameters, ListOrgdirectorygroupmembersRequest, ListOrgdirectorygroupmembersResult, ListOrgmembersCall, ListOrgmembersOptions, ListOrgmembersRequest, ListOrgmembersResult, ListOrgrolemembersCall, ListOrgrolemembersOptions, ListOrgrolemembersParameters, ListOrgrolemembersRequest, ListOrgrolemembersResult, ListOrgrolesCall, ListOrgrolesOptions, ListOrgrolesRequest, ListOrgrolesResult, ListPipelinesCall, ListPipelinesOptions, ListPipelinesParameters, ListPipelinesRequest, ListPipelinesResult, ListPipelinetemplatepreviewsCall, ListPipelinetemplatepreviewsOptions, ListPipelinetemplatepreviewsParameters, ListPipelinetemplatepreviewsRequest, ListPipelinetemplatepreviewsResult, ListPlansCall, ListPlansRequest, ListPlansResult, ListPreviewblueprintrunsCall, ListPreviewblueprintrunsOptions, ListPreviewblueprintrunsParameters, ListPreviewblueprintrunsRequest, ListPreviewblueprintrunsResult, ListPreviewblueprintsCall, ListPreviewblueprintsOptions, ListPreviewblueprintsParameters, ListPreviewblueprintsRequest, ListPreviewblueprintsResult, ListPreviewtemplaterunsCall, ListPreviewtemplaterunsOptions, ListPreviewtemplaterunsParameters, ListPreviewtemplaterunsRequest, ListPreviewtemplaterunsResult, ListProjectsCall, ListProjectsOptions, ListProjectsParameters, ListProjectsRequest, ListProjectsResult, ListRegionsCall, ListRegionsRequest, ListRegionsResult, ListRegistrycredentialsCall, ListRegistrycredentialsOptions, ListRegistrycredentialsParameters, ListRegistrycredentialsRequest, ListRegistrycredentialsResult, ListReleaseflowrunsCall, ListReleaseflowrunsOptions, ListReleaseflowrunsParameters, ListReleaseflowrunsRequest, ListReleaseflowrunsResult, ListReposCall, ListReposOptions, ListReposParameters, ListReposRequest, ListReposResult, ListSecretsCall, ListSecretsOptions, ListSecretsParameters, ListSecretsRequest, ListSecretsResult, ListServicesCall, ListServicesOptions, ListServicesParameters, ListServicesRequest, ListServicesResult, ListSshidentitiesCall, ListSshidentitiesOptions, ListSshidentitiesParameters, ListSshidentitiesRequest, ListSshidentitiesResult, ListSubdomainPathCall, ListSubdomainPathParameters, ListSubdomainPathRequest, ListSubdomainPathResult, ListTagsCall, ListTagsOptions, ListTagsParameters, ListTagsRequest, ListTagsResult, ListTeammembersCall, ListTeammembersOptions, ListTeammembersParameters, ListTeammembersRequest, ListTeammembersResult, ListTeamrolemembersCall, ListTeamrolemembersOptions, ListTeamrolemembersParameters, ListTeamrolemembersRequest, ListTeamrolemembersResult, ListTeamrolesCall, ListTeamrolesOptions, ListTeamrolesParameters, ListTeamrolesRequest, ListTeamrolesResult, ListTeamsCall, ListTeamsOptions, ListTeamsRequest, ListTeamsResult, ListTemplaterunsCall, ListTemplaterunsOptions, ListTemplaterunsParameters, ListTemplaterunsRequest, ListTemplaterunsResult, ListTemplatesCall, ListTemplatesOptions, ListTemplatesParameters, ListTemplatesRequest, ListTemplatesResult, ListVcsCall, ListVcsParameters, ListVcsRequest, ListVcsResult, ListVolumesCall, ListVolumesOptions, ListVolumesParameters, ListVolumesRequest, ListVolumesResult, ListWorkflowrunsCall, ListWorkflowrunsOptions, ListWorkflowrunsParameters, ListWorkflowrunsRequest, ListWorkflowrunsResult, ListWorkflowsCall, ListWorkflowsOptions, ListWorkflowsParameters, ListWorkflowsRequest, ListWorkflowsResult, LogLine, MetricUnit, MetricValue, MetricsEntry, MetricsRangeRequestData, MetricsSingleRequestData, PatchAddonCall, PatchAddonData, PatchAddonParameters, PatchAddonRequest, PatchAddonResult, PatchBackupdestinationCall, PatchBackupdestinationData, PatchBackupdestinationParameters, PatchBackupdestinationRequest, PatchBackupdestinationResult, PatchCloudClusterCall, PatchCloudClusterData, PatchCloudClusterParameters, PatchCloudClusterRequest, PatchCloudClusterResult, PatchCloudIntegrationCall, PatchCloudIntegrationData, PatchCloudIntegrationParameters, PatchCloudIntegrationRequest, PatchCloudIntegrationResult, PatchEgressipCall, PatchEgressipData, PatchEgressipParameters, PatchEgressipRequest, PatchEgressipResult, PatchGlobalsecretCall, PatchGlobalsecretData, PatchGlobalsecretParameters, PatchGlobalsecretRequest, PatchGlobalsecretResult, PatchGradualrolloutstrategyCall, PatchGradualrolloutstrategyData, PatchGradualrolloutstrategyParameters, PatchGradualrolloutstrategyRequest, PatchGradualrolloutstrategyResult, PatchJobCall, PatchJobCronCall, PatchJobCronData, PatchJobCronParameters, PatchJobCronRequest, PatchJobCronResult, PatchJobData, PatchJobManualCall, PatchJobManualData, PatchJobManualParameters, PatchJobManualRequest, PatchJobManualResult, PatchJobParameters, PatchJobRequest, PatchJobResult, PatchLoadbalancerCall, PatchLoadbalancerData, PatchLoadbalancerParameters, PatchLoadbalancerRequest, PatchLoadbalancerResult, PatchOrgroleCall, PatchOrgroleData, PatchOrgroleParameters, PatchOrgroleRequest, PatchOrgroleResult, PatchProjectCall, PatchProjectData, PatchProjectParameters, PatchProjectRequest, PatchProjectResult, PatchSecretCall, PatchSecretData, PatchSecretParameters, PatchSecretRequest, PatchSecretResult, PatchServiceBuildCall, PatchServiceBuildData, PatchServiceBuildParameters, PatchServiceBuildRequest, PatchServiceBuildResult, PatchServiceCombinedCall, PatchServiceCombinedData, PatchServiceCombinedParameters, PatchServiceCombinedRequest, PatchServiceCombinedResult, PatchServiceDeploymentCall, PatchServiceDeploymentData, PatchServiceDeploymentParameters, PatchServiceDeploymentRequest, PatchServiceDeploymentResult, PatchTagCall, PatchTagData, PatchTagParameters, PatchTagRequest, PatchTagResult, PatchTeamCall, PatchTeamData, PatchTeamParameters, PatchTeamRequest, PatchTeamResult, PatchTeamroleCall, PatchTeamroleData, PatchTeamroleParameters, PatchTeamroleRequest, PatchTeamroleResult, PauseAddonCall, PauseAddonParameters, PauseAddonRequest, PauseAddonResult, PauseBlueprinttemplatepreviewCall, PauseBlueprinttemplatepreviewParameters, PauseBlueprinttemplatepreviewRequest, PauseBlueprinttemplatepreviewResult, PauseJobCall, PauseJobParameters, PauseJobRequest, PauseJobResult, PauseLogsinkCall, PauseLogsinkParameters, PauseLogsinkRequest, PauseLogsinkResult, PauseServiceCall, PauseServiceParameters, PauseServiceRequest, PauseServiceResult, PortForwardingInfo, PortForwardingResult, PutAddonCall, PutAddonData, PutAddonParameters, PutAddonRequest, PutAddonResult, PutCloudClusterCall, PutCloudClusterData, PutCloudClusterParameters, PutCloudClusterRequest, PutCloudClusterResult, PutCloudIntegrationCall, PutCloudIntegrationData, PutCloudIntegrationParameters, PutCloudIntegrationRequest, PutCloudIntegrationResult, PutDomainSubdomainCall, PutDomainSubdomainData, PutDomainSubdomainParameters, PutDomainSubdomainRequest, PutDomainSubdomainResult, PutEgressipCall, PutEgressipData, PutEgressipParameters, PutEgressipRequest, PutEgressipResult, PutGlobalsecretCall, PutGlobalsecretData, PutGlobalsecretParameters, PutGlobalsecretRequest, PutGlobalsecretResult, PutGradualrolloutstrategyCall, PutGradualrolloutstrategyData, PutGradualrolloutstrategyParameters, PutGradualrolloutstrategyRequest, PutGradualrolloutstrategyResult, PutJobCall, PutJobCronCall, PutJobCronData, PutJobCronParameters, PutJobCronRequest, PutJobCronResult, PutJobData, PutJobManualCall, PutJobManualData, PutJobManualParameters, PutJobManualRequest, PutJobManualResult, PutJobParameters, PutJobRequest, PutJobResult, PutLoadbalancerCall, PutLoadbalancerData, PutLoadbalancerParameters, PutLoadbalancerRequest, PutLoadbalancerResult, PutOrgroleCall, PutOrgroleData, PutOrgroleRequest, PutOrgroleResult, PutProjectCall, PutProjectData, PutProjectParameters, PutProjectRequest, PutProjectResult, PutSecretCall, PutSecretData, PutSecretParameters, PutSecretRequest, PutSecretResult, PutServiceBuildCall, PutServiceBuildData, PutServiceBuildParameters, PutServiceBuildRequest, PutServiceBuildResult, PutServiceCombinedCall, PutServiceCombinedData, PutServiceCombinedParameters, PutServiceCombinedRequest, PutServiceCombinedResult, PutServiceDeploymentCall, PutServiceDeploymentData, PutServiceDeploymentParameters, PutServiceDeploymentRequest, PutServiceDeploymentResult, PutSshidentitiesCall, PutSshidentitiesData, PutSshidentitiesParameters, PutSshidentitiesRequest, PutSshidentitiesResult, PutTagCall, PutTagData, PutTagParameters, PutTagRequest, PutTagResult, PutTeamroleCall, PutTeamroleData, PutTeamroleParameters, PutTeamroleRequest, PutTeamroleResult, ResetAddonCall, ResetAddonParameters, ResetAddonRequest, ResetAddonResult, ResetBlueprinttemplatepreviewCall, ResetBlueprinttemplatepreviewData, ResetBlueprinttemplatepreviewParameters, ResetBlueprinttemplatepreviewRequest, ResetBlueprinttemplatepreviewResult, ResetServiceBuildcacheCall, ResetServiceBuildcacheParameters, ResetServiceBuildcacheRequest, ResetServiceBuildcacheResult, RestartAddonCall, RestartAddonParameters, RestartAddonRequest, RestartAddonResult, RestartServiceCall, RestartServiceParameters, RestartServiceRequest, RestartServiceResult, RestoreAddonBackupCall, RestoreAddonBackupOptions, RestoreAddonBackupParameters, RestoreAddonBackupRequest, RestoreAddonBackupResult, ResumeAddonCall, ResumeAddonParameters, ResumeAddonRequest, ResumeAddonResult, ResumeBlueprinttemplatepreviewCall, ResumeBlueprinttemplatepreviewParameters, ResumeBlueprinttemplatepreviewRequest, ResumeBlueprinttemplatepreviewResult, ResumeJobCall, ResumeJobData, ResumeJobParameters, ResumeJobRequest, ResumeJobResult, ResumeLogsinkCall, ResumeLogsinkParameters, ResumeLogsinkRequest, ResumeLogsinkResult, ResumeServiceCall, ResumeServiceData, ResumeServiceParameters, ResumeServiceRequest, ResumeServiceResult, RetainAddonBackupCall, RetainAddonBackupParameters, RetainAddonBackupRequest, RetainAddonBackupResult, RunPreviewblueprintCall, RunPreviewblueprintData, RunPreviewblueprintParameters, RunPreviewblueprintRequest, RunPreviewblueprintResult, RunPreviewtemplateCall, RunPreviewtemplateData, RunPreviewtemplateParameters, RunPreviewtemplateRequest, RunPreviewtemplateResult, RunReleaseflowCall, RunReleaseflowData, RunReleaseflowParameters, RunReleaseflowRequest, RunReleaseflowResult, RunTemplateCall, RunTemplateData, RunTemplateParameters, RunTemplateRequest, RunTemplateResult, RunWorkflowCall, RunWorkflowData, RunWorkflowParameters, RunWorkflowRequest, RunWorkflowResult, ScaleAddonCall, ScaleAddonData, ScaleAddonParameters, ScaleAddonRequest, ScaleAddonResult, ScaleJobCall, ScaleJobData, ScaleJobParameters, ScaleJobRequest, ScaleJobResult, ScaleServiceCall, ScaleServiceData, ScaleServiceParameters, ScaleServiceRequest, ScaleServiceResult, StartJobBuildCall, StartJobBuildData, StartJobBuildParameters, StartJobBuildRequest, StartJobBuildResult, StartJobRunCall, StartJobRunData, StartJobRunParameters, StartJobRunRequest, StartJobRunResult, StartServiceBuildCall, StartServiceBuildData, StartServiceBuildParameters, StartServiceBuildRequest, StartServiceBuildResult, SuspendJobCall, SuspendJobData, SuspendJobParameters, SuspendJobRequest, SuspendJobResult, TailAddonBackupLogsCall, TailAddonLogsCall, TailAddonRestoresLogsCall, TailJobBuildlogsCall, TailJobLogsCall, TailServiceBuildlogsCall, TailServiceLogsCall, UnassignSubdomainCall, UnassignSubdomainOptions, UnassignSubdomainParameters, UnassignSubdomainPathCall, UnassignSubdomainPathParameters, UnassignSubdomainPathRequest, UnassignSubdomainPathResult, UnassignSubdomainRequest, UnassignSubdomainResult, UncordonCloudClusterNodeCall, UncordonCloudClusterNodeParameters, UncordonCloudClusterNodeRequest, UncordonCloudClusterNodeResult, UpdateAddonNetworksettingsCall, UpdateAddonNetworksettingsData, UpdateAddonNetworksettingsParameters, UpdateAddonNetworksettingsRequest, UpdateAddonNetworksettingsResult, UpdateAddonSecurityCall, UpdateAddonSecurityData, UpdateAddonSecurityParameters, UpdateAddonSecurityRequest, UpdateAddonSecurityResult, UpdateAddonVersionCall, UpdateAddonVersionData, UpdateAddonVersionParameters, UpdateAddonVersionRequest, UpdateAddonVersionResult, UpdateExternaladdonCall, UpdateExternaladdonData, UpdateExternaladdonParameters, UpdateExternaladdonRequest, UpdateExternaladdonResult, UpdateJobBuildargumentsCall, UpdateJobBuildargumentsData, UpdateJobBuildargumentsParameters, UpdateJobBuildargumentsRequest, UpdateJobBuildargumentsResult, UpdateJobBuildoptionsCall, UpdateJobBuildoptionsData, UpdateJobBuildoptionsParameters, UpdateJobBuildoptionsRequest, UpdateJobBuildoptionsResult, UpdateJobBuildsourceCall, UpdateJobBuildsourceData, UpdateJobBuildsourceParameters, UpdateJobBuildsourceRequest, UpdateJobBuildsourceResult, UpdateJobDeploymentCall, UpdateJobDeploymentData, UpdateJobDeploymentParameters, UpdateJobDeploymentRequest, UpdateJobDeploymentResult, UpdateJobHealthchecksCall, UpdateJobHealthchecksData, UpdateJobHealthchecksParameters, UpdateJobHealthchecksRequest, UpdateJobHealthchecksResult, UpdateJobRuntimeenvironmentCall, UpdateJobRuntimeenvironmentData, UpdateJobRuntimeenvironmentParameters, UpdateJobRuntimeenvironmentRequest, UpdateJobRuntimeenvironmentResult, UpdateJobSettingsCall, UpdateJobSettingsData, UpdateJobSettingsParameters, UpdateJobSettingsRequest, UpdateJobSettingsResult, UpdateLlmmodeldeploymentCall, UpdateLlmmodeldeploymentData, UpdateLlmmodeldeploymentParameters, UpdateLlmmodeldeploymentRequest, UpdateLlmmodeldeploymentResult, UpdateLogsinkCall, UpdateLogsinkData, UpdateLogsinkParameters, UpdateLogsinkRequest, UpdateLogsinkResult, UpdateNotificationCall, UpdateNotificationData, UpdateNotificationParameters, UpdateNotificationRequest, UpdateNotificationResult, UpdatePreviewblueprintCall, UpdatePreviewblueprintData, UpdatePreviewblueprintParameters, UpdatePreviewblueprintRequest, UpdatePreviewblueprintResult, UpdatePreviewtemplateCall, UpdatePreviewtemplateData, UpdatePreviewtemplateParameters, UpdatePreviewtemplateRequest, UpdatePreviewtemplateResult, UpdateRegistrycredentialsCall, UpdateRegistrycredentialsData, UpdateRegistrycredentialsParameters, UpdateRegistrycredentialsRequest, UpdateRegistrycredentialsResult, UpdateReleaseflowCall, UpdateReleaseflowData, UpdateReleaseflowParameters, UpdateReleaseflowRequest, UpdateReleaseflowResult, UpdateSecretCall, UpdateSecretData, UpdateSecretParameters, UpdateSecretRequest, UpdateSecretResult, UpdateSecretlinkCall, UpdateSecretlinkData, UpdateSecretlinkParameters, UpdateSecretlinkRequest, UpdateSecretlinkResult, UpdateServiceBuildargumentsCall, UpdateServiceBuildargumentsData, UpdateServiceBuildargumentsParameters, UpdateServiceBuildargumentsRequest, UpdateServiceBuildargumentsResult, UpdateServiceBuildoptionsCall, UpdateServiceBuildoptionsData, UpdateServiceBuildoptionsParameters, UpdateServiceBuildoptionsRequest, UpdateServiceBuildoptionsResult, UpdateServiceBuildsourceCall, UpdateServiceBuildsourceData, UpdateServiceBuildsourceParameters, UpdateServiceBuildsourceRequest, UpdateServiceBuildsourceResult, UpdateServiceDeploymentCall, UpdateServiceDeploymentData, UpdateServiceDeploymentParameters, UpdateServiceDeploymentRequest, UpdateServiceDeploymentResult, UpdateServiceHealthchecksCall, UpdateServiceHealthchecksData, UpdateServiceHealthchecksParameters, UpdateServiceHealthchecksRequest, UpdateServiceHealthchecksResult, UpdateServicePortsCall, UpdateServicePortsData, UpdateServicePortsParameters, UpdateServicePortsRequest, UpdateServicePortsResult, UpdateServiceRuntimeenvironmentCall, UpdateServiceRuntimeenvironmentData, UpdateServiceRuntimeenvironmentParameters, UpdateServiceRuntimeenvironmentRequest, UpdateServiceRuntimeenvironmentResult, UpdateSshidentitiesCall, UpdateSshidentitiesData, UpdateSshidentitiesParameters, UpdateSshidentitiesRequest, UpdateSshidentitiesResult, UpdateSubdomainPathCall, UpdateSubdomainPathData, UpdateSubdomainPathParameters, UpdateSubdomainPathRequest, UpdateSubdomainPathResult, UpdateTemplateCall, UpdateTemplateData, UpdateTemplateParameters, UpdateTemplateRequest, UpdateTemplateResult, UpdateVolumeCall, UpdateVolumeData, UpdateVolumeParameters, UpdateVolumeRequest, UpdateVolumeResult, UpdateWorkflowCall, UpdateWorkflowData, UpdateWorkflowParameters, UpdateWorkflowRequest, UpdateWorkflowResult, UploadOptions, VerifyDomainCall, VerifyDomainParameters, VerifyDomainRequest, VerifyDomainResult, VerifySubdomainCall, VerifySubdomainParameters, VerifySubdomainRequest, VerifySubdomainResult };