import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages a Scaleway Serverless Job Definition. For more information, see [the documentation](https://pkg.go.dev/github.com/scaleway/scaleway-sdk-go@master/api/jobs/v1alpha1). * * ## Example Usage * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@ediri/scaleway"; * * const main = new scaleway.JobDefinition("main", { * cpuLimit: 140, * memoryLimit: 256, * imageUri: "docker.io/alpine:latest", * command: "ls", * timeout: "10m", * env: { * foo: "bar", * }, * cron: { * schedule: "5 4 1 * *", * timezone: "Europe/Paris", * }, * }); * ``` * * ## Import * * Serverless Jobs can be imported using the `{region}/{id}`, e.g. * * bash * * ```sh * $ pulumi import scaleway:index/jobDefinition:JobDefinition job fr-par/11111111-1111-1111-1111-111111111111 * ``` */ export declare class JobDefinition extends pulumi.CustomResource { /** * Get an existing JobDefinition resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: JobDefinitionState, opts?: pulumi.CustomResourceOptions): JobDefinition; /** * Returns true if the given object is an instance of JobDefinition. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is JobDefinition; /** * The command that will be run in the container if specified. */ readonly command: pulumi.Output; /** * The amount of vCPU computing resources to allocate to each container running the job. */ readonly cpuLimit: pulumi.Output; /** * The cron configuration */ readonly cron: pulumi.Output; /** * The description of the job */ readonly description: pulumi.Output; /** * The environment variables of the container. */ readonly env: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The uri of the container image that will be used for the job run. */ readonly imageUri: pulumi.Output; /** * The memory computing resources in MB to allocate to each container running the job. */ readonly memoryLimit: pulumi.Output; /** * The name of the job. */ readonly name: pulumi.Output; /** * `projectId`) The ID of the project the Job is associated with. */ readonly projectId: pulumi.Output; /** * `region`) The region of the Job. */ readonly region: pulumi.Output; /** * The job run timeout, in Go Time format (ex: `2h30m25s`) */ readonly timeout: pulumi.Output; /** * Create a JobDefinition resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: JobDefinitionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering JobDefinition resources. */ export interface JobDefinitionState { /** * The command that will be run in the container if specified. */ command?: pulumi.Input; /** * The amount of vCPU computing resources to allocate to each container running the job. */ cpuLimit?: pulumi.Input; /** * The cron configuration */ cron?: pulumi.Input; /** * The description of the job */ description?: pulumi.Input; /** * The environment variables of the container. */ env?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The uri of the container image that will be used for the job run. */ imageUri?: pulumi.Input; /** * The memory computing resources in MB to allocate to each container running the job. */ memoryLimit?: pulumi.Input; /** * The name of the job. */ name?: pulumi.Input; /** * `projectId`) The ID of the project the Job is associated with. */ projectId?: pulumi.Input; /** * `region`) The region of the Job. */ region?: pulumi.Input; /** * The job run timeout, in Go Time format (ex: `2h30m25s`) */ timeout?: pulumi.Input; } /** * The set of arguments for constructing a JobDefinition resource. */ export interface JobDefinitionArgs { /** * The command that will be run in the container if specified. */ command?: pulumi.Input; /** * The amount of vCPU computing resources to allocate to each container running the job. */ cpuLimit: pulumi.Input; /** * The cron configuration */ cron?: pulumi.Input; /** * The description of the job */ description?: pulumi.Input; /** * The environment variables of the container. */ env?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The uri of the container image that will be used for the job run. */ imageUri?: pulumi.Input; /** * The memory computing resources in MB to allocate to each container running the job. */ memoryLimit: pulumi.Input; /** * The name of the job. */ name?: pulumi.Input; /** * `projectId`) The ID of the project the Job is associated with. */ projectId?: pulumi.Input; /** * `region`) The region of the Job. */ region?: pulumi.Input; /** * The job run timeout, in Go Time format (ex: `2h30m25s`) */ timeout?: pulumi.Input; }