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 [Go API 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 "@pulumiverse/scaleway";
 *
 * const main = new scaleway.job.Definition("main", {
 *     name: "testjob",
 *     cpuLimit: 140,
 *     memoryLimit: 256,
 *     imageUri: "docker.io/alpine:latest",
 *     command: "ls",
 *     timeout: "10m",
 *     env: {
 *         foo: "bar",
 *     },
 *     cron: {
 *         schedule: "5 4 1 * *",
 *         timezone: "Europe/Paris",
 *     },
 * });
 * ```
 *
 * ### With Secret Reference
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const main = new scaleway.job.Definition("main", {
 *     name: "testjob",
 *     cpuLimit: 140,
 *     memoryLimit: 256,
 *     imageUri: "docker.io/alpine:latest",
 *     command: "ls",
 *     timeout: "10m",
 *     cron: {
 *         schedule: "5 4 1 * *",
 *         timezone: "Europe/Paris",
 *     },
 *     secretReferences: [
 *         {
 *             secretId: "11111111-1111-1111-1111-111111111111",
 *             file: "/home/dev/secret_file",
 *         },
 *         {
 *             secretId: jobSecret.id,
 *             secretVersion: "1",
 *             environment: "FOO",
 *         },
 *     ],
 * });
 * ```
 *
 * ## Import
 *
 * Serverless Jobs can be imported using the `{region}/{id}`, e.g.
 *
 * ```sh
 * $ pulumi import scaleway:index/jobDefinition:JobDefinition job fr-par/11111111-1111-1111-1111-111111111111
 * ```
 *
 * @deprecated scaleway.index/jobdefinition.JobDefinition has been deprecated in favor of scaleway.job/definition.Definition
 */
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<pulumi.ID>, 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 arguments that will be passed to the startup command at runtime (in list of string format). Overrides the default arguments defined in the job image. Environment variables and secrets can be included, and will be expanded before the arguments are used.
     */
    readonly args: pulumi.Output<string[] | undefined>;
    /**
     * The command that will be run in the container if specified.
     *
     * @deprecated Please use startupCommand instead
     */
    readonly command: pulumi.Output<string | undefined>;
    /**
     * The amount of vCPU computing resources to allocate to each container running the job.
     */
    readonly cpuLimit: pulumi.Output<number>;
    /**
     * The cron configuration
     */
    readonly cron: pulumi.Output<outputs.JobDefinitionCron | undefined>;
    /**
     * The description of the job
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * 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<string>;
    /**
     * The local storage capacity of the job in MiB.
     */
    readonly localStorageCapacity: pulumi.Output<number>;
    /**
     * The memory computing resources in MB to allocate to each container running the job.
     */
    readonly memoryLimit: pulumi.Output<number>;
    /**
     * The name of the job.
     */
    readonly name: pulumi.Output<string>;
    /**
     * `projectId`) The ID of the project the Job is associated with.
     */
    readonly projectId: pulumi.Output<string>;
    /**
     * `region`) The region of the Job.
     */
    readonly region: pulumi.Output<string | undefined>;
    /**
     * Defines a retry policy for the job.
     */
    readonly retryPolicy: pulumi.Output<outputs.JobDefinitionRetryPolicy | undefined>;
    /**
     * A reference to a secret stored in Secret Manager.
     */
    readonly secretReferences: pulumi.Output<outputs.JobDefinitionSecretReference[] | undefined>;
    /**
     * The command (main executable or entrypoint script) that will be run in the container (in list of string format). Overrides the default command defined in the job image.
     */
    readonly startupCommands: pulumi.Output<string[] | undefined>;
    /**
     * The job run timeout, in Go Time format (ex: `2h30m25s`)
     */
    readonly timeout: pulumi.Output<string>;
    /**
     * 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.
     */
    /** @deprecated scaleway.index/jobdefinition.JobDefinition has been deprecated in favor of scaleway.job/definition.Definition */
    constructor(name: string, args: JobDefinitionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering JobDefinition resources.
 */
export interface JobDefinitionState {
    /**
     * The arguments that will be passed to the startup command at runtime (in list of string format). Overrides the default arguments defined in the job image. Environment variables and secrets can be included, and will be expanded before the arguments are used.
     */
    args?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The command that will be run in the container if specified.
     *
     * @deprecated Please use startupCommand instead
     */
    command?: pulumi.Input<string | undefined>;
    /**
     * The amount of vCPU computing resources to allocate to each container running the job.
     */
    cpuLimit?: pulumi.Input<number | undefined>;
    /**
     * The cron configuration
     */
    cron?: pulumi.Input<inputs.JobDefinitionCron | undefined>;
    /**
     * The description of the job
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * The environment variables of the container.
     */
    env?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The uri of the container image that will be used for the job run.
     */
    imageUri?: pulumi.Input<string | undefined>;
    /**
     * The local storage capacity of the job in MiB.
     */
    localStorageCapacity?: pulumi.Input<number | undefined>;
    /**
     * The memory computing resources in MB to allocate to each container running the job.
     */
    memoryLimit?: pulumi.Input<number | undefined>;
    /**
     * The name of the job.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * `projectId`) The ID of the project the Job is associated with.
     */
    projectId?: pulumi.Input<string | undefined>;
    /**
     * `region`) The region of the Job.
     */
    region?: pulumi.Input<string | undefined>;
    /**
     * Defines a retry policy for the job.
     */
    retryPolicy?: pulumi.Input<inputs.JobDefinitionRetryPolicy | undefined>;
    /**
     * A reference to a secret stored in Secret Manager.
     */
    secretReferences?: pulumi.Input<pulumi.Input<inputs.JobDefinitionSecretReference>[] | undefined>;
    /**
     * The command (main executable or entrypoint script) that will be run in the container (in list of string format). Overrides the default command defined in the job image.
     */
    startupCommands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The job run timeout, in Go Time format (ex: `2h30m25s`)
     */
    timeout?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a JobDefinition resource.
 */
export interface JobDefinitionArgs {
    /**
     * The arguments that will be passed to the startup command at runtime (in list of string format). Overrides the default arguments defined in the job image. Environment variables and secrets can be included, and will be expanded before the arguments are used.
     */
    args?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The command that will be run in the container if specified.
     *
     * @deprecated Please use startupCommand instead
     */
    command?: pulumi.Input<string | undefined>;
    /**
     * The amount of vCPU computing resources to allocate to each container running the job.
     */
    cpuLimit: pulumi.Input<number>;
    /**
     * The cron configuration
     */
    cron?: pulumi.Input<inputs.JobDefinitionCron | undefined>;
    /**
     * The description of the job
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * The environment variables of the container.
     */
    env?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The uri of the container image that will be used for the job run.
     */
    imageUri: pulumi.Input<string>;
    /**
     * The local storage capacity of the job in MiB.
     */
    localStorageCapacity: pulumi.Input<number>;
    /**
     * The memory computing resources in MB to allocate to each container running the job.
     */
    memoryLimit: pulumi.Input<number>;
    /**
     * The name of the job.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * `projectId`) The ID of the project the Job is associated with.
     */
    projectId?: pulumi.Input<string | undefined>;
    /**
     * `region`) The region of the Job.
     */
    region?: pulumi.Input<string | undefined>;
    /**
     * Defines a retry policy for the job.
     */
    retryPolicy?: pulumi.Input<inputs.JobDefinitionRetryPolicy | undefined>;
    /**
     * A reference to a secret stored in Secret Manager.
     */
    secretReferences?: pulumi.Input<pulumi.Input<inputs.JobDefinitionSecretReference>[] | undefined>;
    /**
     * The command (main executable or entrypoint script) that will be run in the container (in list of string format). Overrides the default command defined in the job image.
     */
    startupCommands?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The job run timeout, in Go Time format (ex: `2h30m25s`)
     */
    timeout?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=jobDefinition.d.ts.map