public sealed class WorkflowTemplate : IMessage<WorkflowTemplate>, IEquatable<WorkflowTemplate>, IDeepCloneable<WorkflowTemplate>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Dataproc v1 API class WorkflowTemplate.
Optional. Timeout duration for the DAG of jobs, expressed in seconds (see
JSON representation of
duration).
The timeout duration must be from 10 minutes ("600s") to 24 hours
("86400s"). The timer begins when the first job is submitted. If the
workflow is running at the end of the timeout period, any remaining jobs
are cancelled, the workflow is ended, and if the workflow was running on a
managed
cluster,
the cluster is deleted.
For projects.regions.workflowTemplates, the resource name of the
template has the following format:
projects/{project_id}/regions/{region}/workflowTemplates/{template_id}
For projects.locations.workflowTemplates, the resource name of the
template has the following format:
projects/{project_id}/locations/{location}/workflowTemplates/{template_id}
public RepeatedField<TemplateParameter> Parameters { get; }
Optional. Template parameters whose values are substituted into the
template. Values for parameters must be provided when the template is
instantiated.
Optional. Used to perform a consistent read-modify-write.
This field should be left blank for a CreateWorkflowTemplate request. It
is required for an UpdateWorkflowTemplate request, and must match the
current server version. A typical update template flow would fetch the
current template with a GetWorkflowTemplate request, which will return
the current template with the version field filled in with the
current server version. The user updates other fields in the template,
then returns it as part of the UpdateWorkflowTemplate request.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the Google Cloud Dataproc v1 API's \u003ccode\u003eWorkflowTemplate\u003c/code\u003e is 5.17.0, with various older versions available for reference.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eWorkflowTemplate\u003c/code\u003e is a Dataproc resource used to define a workflow template with a directed acyclic graph (DAG) of jobs, which is implemented through multiple interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of \u003ccode\u003eWorkflowTemplate\u003c/code\u003e include \u003ccode\u003eJobs\u003c/code\u003e (the DAG), \u003ccode\u003ePlacement\u003c/code\u003e (scheduling info), \u003ccode\u003eParameters\u003c/code\u003e (template values), \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eUpdateTime\u003c/code\u003e, and \u003ccode\u003eVersion\u003c/code\u003e, which are vital for workflow management and consistency.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eWorkflowTemplate\u003c/code\u003e supports configuration options like \u003ccode\u003eDagTimeout\u003c/code\u003e for setting job duration, \u003ccode\u003eEncryptionConfig\u003c/code\u003e for securing job arguments, and \u003ccode\u003eLabels\u003c/code\u003e for organizing and categorizing templates.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eWorkflowTemplate\u003c/code\u003e can be created using a default constructor, or an overloaded constructor using an existing \u003ccode\u003eWorkflowTemplate\u003c/code\u003e as a model.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Dataproc v1 API - Class WorkflowTemplate (5.20.0)\n\nVersion latestkeyboard_arrow_down\n\n- [5.20.0 (latest)](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.19.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.19.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.18.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.18.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.17.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.17.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.16.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.16.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.15.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.15.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.14.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.14.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.13.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.13.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.12.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.12.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.11.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.11.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.10.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.10.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.9.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.9.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.8.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.8.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.7.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.7.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.6.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.6.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.5.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.5.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.4.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.4.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.3.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.3.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.2.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.2.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.1.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.1.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.0.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/4.0.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.4.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.3.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.2.0/Google.Cloud.Dataproc.V1.WorkflowTemplate)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.1.0/Google.Cloud.Dataproc.V1.WorkflowTemplate) \n\n public sealed class WorkflowTemplate : IMessage\u003cWorkflowTemplate\u003e, IEquatable\u003cWorkflowTemplate\u003e, IDeepCloneable\u003cWorkflowTemplate\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Dataproc v1 API class WorkflowTemplate.\n\nA Dataproc workflow template resource. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e WorkflowTemplate \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[WorkflowTemplate](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.WorkflowTemplate), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[WorkflowTemplate](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.WorkflowTemplate), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[WorkflowTemplate](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.WorkflowTemplate), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Dataproc.V1](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Dataproc.V1.dll\n\nConstructors\n------------\n\n### WorkflowTemplate()\n\n public WorkflowTemplate()\n\n### WorkflowTemplate(WorkflowTemplate)\n\n public WorkflowTemplate(WorkflowTemplate other)\n\nProperties\n----------\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The time template was created.\n\n### DagTimeout\n\n public Duration DagTimeout { get; set; }\n\nOptional. Timeout duration for the DAG of jobs, expressed in seconds (see\n[JSON representation of\nduration](https://developers.google.com/protocol-buffers/docs/proto3#json)).\nThe timeout duration must be from 10 minutes (\"600s\") to 24 hours\n(\"86400s\"). The timer begins when the first job is submitted. If the\nworkflow is running at the end of the timeout period, any remaining jobs\nare cancelled, the workflow is ended, and if the workflow was running on a\n[managed\ncluster](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),\nthe cluster is deleted.\n\n### EncryptionConfig\n\n public WorkflowTemplate.Types.EncryptionConfig EncryptionConfig { get; set; }\n\nOptional. Encryption settings for encrypting workflow template job\narguments.\n\n### Id\n\n public string Id { get; set; }\n\n### Jobs\n\n public RepeatedField\u003cOrderedJob\u003e Jobs { get; }\n\nRequired. The Directed Acyclic Graph of Jobs to submit.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nOptional. The labels to associate with this template. These labels\nwill be propagated to all jobs and clusters created by the workflow\ninstance.\n\nLabel **keys** must contain 1 to 63 characters, and must conform to\n[RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).\n\nLabel **values** may be empty, but, if present, must contain 1 to 63\ncharacters, and must conform to\n[RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).\n\nNo more than 32 labels can be associated with a template.\n\n### Name\n\n public string Name { get; set; }\n\nOutput only. The resource name of the workflow template, as described\nin \u003chttps://cloud.google.com/apis/design/resource_names\u003e.\n\n- For `projects.regions.workflowTemplates`, the resource name of the\n template has the following format:\n `projects/{project_id}/regions/{region}/workflowTemplates/{template_id}`\n\n- For `projects.locations.workflowTemplates`, the resource name of the\n template has the following format:\n `projects/{project_id}/locations/{location}/workflowTemplates/{template_id}`\n\n### Parameters\n\n public RepeatedField\u003cTemplateParameter\u003e Parameters { get; }\n\nOptional. Template parameters whose values are substituted into the\ntemplate. Values for parameters must be provided when the template is\ninstantiated.\n\n### Placement\n\n public WorkflowTemplatePlacement Placement { get; set; }\n\nRequired. WorkflowTemplate scheduling information.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The time template was last updated.\n\n### Version\n\n public int Version { get; set; }\n\nOptional. Used to perform a consistent read-modify-write.\n\nThis field should be left blank for a `CreateWorkflowTemplate` request. It\nis required for an `UpdateWorkflowTemplate` request, and must match the\ncurrent server version. A typical update template flow would fetch the\ncurrent template with a `GetWorkflowTemplate` request, which will return\nthe current template with the `version` field filled in with the\ncurrent server version. The user updates other fields in the template,\nthen returns it as part of the `UpdateWorkflowTemplate` request.\n\n### WorkflowTemplateName\n\n public WorkflowTemplateName WorkflowTemplateName { get; set; }\n\n[WorkflowTemplateName](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.WorkflowTemplateName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.WorkflowTemplate#Google_Cloud_Dataproc_V1_WorkflowTemplate_Name) resource name property."]]