import * as pulumi from "@pulumi/pulumi"; /** * Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return ALREADY_EXISTS error. */ export declare class Workflow extends pulumi.CustomResource { /** * Get an existing Workflow 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): Workflow; /** * Returns true if the given object is an instance of Workflow. 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 Workflow; /** * The timestamp of when the workflow was created. */ readonly createTime: pulumi.Output; /** * Description of the workflow provided by the user. Must be at most 1000 unicode characters long. */ readonly description: pulumi.Output; /** * Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores and dashes. Label keys must start with a letter. International characters are allowed. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow} */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * The timestamp that the latest revision of the workflow was created. */ readonly revisionCreateTime: pulumi.Output; /** * The revision of the workflow. A new revision of a workflow is created as a result of updating the following properties of a workflow: - Service account - Workflow code to be executed The format is "000001-a4d", where the first 6 characters define the zero-padded revision ordinal number. They are followed by a hyphen and 3 hexadecimal random characters. */ readonly revisionId: pulumi.Output; /** * The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision. */ readonly serviceAccount: pulumi.Output; /** * Workflow code to be executed. The size limit is 128KB. */ readonly sourceContents: pulumi.Output; /** * State of the workflow deployment. */ readonly state: pulumi.Output; /** * The last update timestamp of the workflow. */ readonly updateTime: pulumi.Output; /** * Required. The ID of the workflow to be created. It has to fulfill the following requirements: * Must contain only letters, numbers, underscores and hyphens. * Must start with a letter. * Must be between 1-64 characters. * Must end with a number or a letter. * Must be unique within the customer project and location. */ readonly workflowId: pulumi.Output; /** * Create a Workflow 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: WorkflowArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Workflow resource. */ export interface WorkflowArgs { /** * Description of the workflow provided by the user. Must be at most 1000 unicode characters long. */ description?: pulumi.Input; /** * Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores and dashes. Label keys must start with a letter. International characters are allowed. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * The resource name of the workflow. Format: projects/{project}/locations/{location}/workflows/{workflow} */ name?: pulumi.Input; project?: pulumi.Input; /** * The service account associated with the latest workflow version. This service account represents the identity of the workflow and determines what permissions the workflow has. Format: projects/{project}/serviceAccounts/{account} or {account} Using `-` as a wildcard for the `{project}` or not providing one at all will infer the project from the account. The `{account}` value can be the `email` address or the `unique_id` of the service account. If not provided, workflow will use the project's default service account. Modifying this field for an existing workflow results in a new workflow revision. */ serviceAccount?: pulumi.Input; /** * Workflow code to be executed. The size limit is 128KB. */ sourceContents?: pulumi.Input; /** * Required. The ID of the workflow to be created. It has to fulfill the following requirements: * Must contain only letters, numbers, underscores and hyphens. * Must start with a letter. * Must be between 1-64 characters. * Must end with a number or a letter. * Must be unique within the customer project and location. */ workflowId: pulumi.Input; }