import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a training or a batch prediction job. * Auto-naming is currently not supported for this resource. * Note - this resource's API doesn't support deletion. When deleted, the resource will persist * on Google Cloud even though it will be deleted from Pulumi state. */ export declare class Job extends pulumi.CustomResource { /** * Get an existing Job 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Job; /** * Returns true if the given object is an instance of Job. 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 Job; /** * When the job was created. */ readonly createTime: pulumi.Output; /** * When the job processing was completed. */ readonly endTime: pulumi.Output; /** * The details of a failure or a cancellation. */ readonly errorMessage: pulumi.Output; /** * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a job from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform job updates in order to avoid race conditions: An `etag` is returned in the response to `GetJob`, and systems are expected to put that etag in the request to `UpdateJob` to ensure that their change will be applied to the same version of the job. */ readonly etag: pulumi.Output; /** * The user-specified id of the job. */ readonly jobId: pulumi.Output; /** * It's only effect when the job is in QUEUED state. If it's positive, it indicates the job's position in the job scheduler. It's 0 when the job is already scheduled. */ readonly jobPosition: pulumi.Output; /** * Optional. One or more labels that you can add, to organize your jobs. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * Input parameters to create a prediction job. */ readonly predictionInput: pulumi.Output; /** * The current prediction job result. */ readonly predictionOutput: pulumi.Output; readonly project: pulumi.Output; /** * When the job processing was started. */ readonly startTime: pulumi.Output; /** * The detailed state of a job. */ readonly state: pulumi.Output; /** * Input parameters to create a training job. */ readonly trainingInput: pulumi.Output; /** * The current training job result. */ readonly trainingOutput: pulumi.Output; /** * Create a Job 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: JobArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Job resource. */ export interface JobArgs { /** * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a job from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform job updates in order to avoid race conditions: An `etag` is returned in the response to `GetJob`, and systems are expected to put that etag in the request to `UpdateJob` to ensure that their change will be applied to the same version of the job. */ etag?: pulumi.Input; /** * The user-specified id of the job. */ jobId: pulumi.Input; /** * Optional. One or more labels that you can add, to organize your jobs. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Input parameters to create a prediction job. */ predictionInput?: pulumi.Input; /** * The current prediction job result. */ predictionOutput?: pulumi.Input; project?: pulumi.Input; /** * Input parameters to create a training job. */ trainingInput?: pulumi.Input; /** * The current training job result. */ trainingOutput?: pulumi.Input; }