# Copyright 2025 Google LLC. All Rights Reserved.
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
info:
  title: Dataproc/WorkflowTemplate
  description: The Dataproc WorkflowTemplate resource
  x-dcl-struct-name: WorkflowTemplate
  x-dcl-has-iam: false
paths:
  get:
    description: The function used to get information about a WorkflowTemplate
    parameters:
    - name: workflowTemplate
      required: true
      description: A full instance of a WorkflowTemplate
  apply:
    description: The function used to apply information about a WorkflowTemplate
    parameters:
    - name: workflowTemplate
      required: true
      description: A full instance of a WorkflowTemplate
  delete:
    description: The function used to delete a WorkflowTemplate
    parameters:
    - name: workflowTemplate
      required: true
      description: A full instance of a WorkflowTemplate
  deleteAll:
    description: The function used to delete all WorkflowTemplate
    parameters:
    - name: project
      required: true
      schema:
        type: string
    - name: location
      required: true
      schema:
        type: string
  list:
    description: The function used to list information about many WorkflowTemplate
    parameters:
    - name: project
      required: true
      schema:
        type: string
    - name: location
      required: true
      schema:
        type: string
components:
  schemas:
    WorkflowTemplate:
      title: WorkflowTemplate
      x-dcl-id: projects/{{project}}/locations/{{location}}/workflowTemplates/{{name}}
      x-dcl-parent-container: project
      x-dcl-labels: labels
      x-dcl-has-create: true
      x-dcl-has-iam: false
      x-dcl-read-timeout: 0
      x-dcl-apply-timeout: 0
      x-dcl-delete-timeout: 0
      type: object
      required:
      - name
      - placement
      - jobs
      - project
      - location
      properties:
        createTime:
          type: string
          format: date-time
          x-dcl-go-name: CreateTime
          readOnly: true
          description: Output only. The time template was created.
          x-kubernetes-immutable: true
        dagTimeout:
          type: string
          x-dcl-go-name: DagTimeout
          description: Optional. Timeout duration for the DAG of jobs, expressed in
            seconds (see [JSON representation of duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
            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](/dataproc/docs/concepts/workflows/using-workflows#configuring_or_selecting_a_cluster),
            the cluster is deleted.
          x-kubernetes-immutable: true
        encryptionConfig:
          type: object
          x-dcl-go-name: EncryptionConfig
          x-dcl-go-type: WorkflowTemplateEncryptionConfig
          description: Optional. The encryption configuration for the workflow template.
          x-kubernetes-immutable: true
          properties:
            kmsKey:
              type: string
              x-dcl-go-name: KmsKey
              description: Optional. The Cloud KMS key name to use for encryption.
              x-kubernetes-immutable: true
              x-dcl-references:
              - resource: Cloudkms/CryptoKey
                field: selfLink
        jobs:
          type: array
          x-dcl-go-name: Jobs
          description: Required. The Directed Acyclic Graph of Jobs to submit.
          x-kubernetes-immutable: true
          x-dcl-send-empty: true
          x-dcl-list-type: list
          items:
            type: object
            x-dcl-go-type: WorkflowTemplateJobs
            required:
            - stepId
            properties:
              hadoopJob:
                type: object
                x-dcl-go-name: HadoopJob
                x-dcl-go-type: WorkflowTemplateJobsHadoopJob
                description: Optional. Job is a Hadoop job.
                x-kubernetes-immutable: true
                properties:
                  archiveUris:
                    type: array
                    x-dcl-go-name: ArchiveUris
                    description: 'Optional. HCFS URIs of archives to be extracted
                      in the working directory of Hadoop drivers and tasks. Supported
                      file types: .jar, .tar, .tar.gz, .tgz, or .zip.'
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  args:
                    type: array
                    x-dcl-go-name: Args
                    description: Optional. The arguments to pass to the driver. Do
                      not include arguments, such as `-libjars` or `-Dfoo=bar`, that
                      can be set as job properties, since a collision may occur that
                      causes an incorrect job submission.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  fileUris:
                    type: array
                    x-dcl-go-name: FileUris
                    description: Optional. HCFS (Hadoop Compatible Filesystem) URIs
                      of files to be copied to the working directory of Hadoop drivers
                      and distributed tasks. Useful for naively parallel tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  jarFileUris:
                    type: array
                    x-dcl-go-name: JarFileUris
                    description: Optional. Jar file URIs to add to the CLASSPATHs
                      of the Hadoop driver and tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsHadoopJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  mainClass:
                    type: string
                    x-dcl-go-name: MainClass
                    description: The name of the driver's main class. The jar file
                      containing the class must be in the default CLASSPATH or specified
                      in `jar_file_uris`.
                    x-kubernetes-immutable: true
                  mainJarFileUri:
                    type: string
                    x-dcl-go-name: MainJarFileUri
                    description: 'The HCFS URI of the jar file containing the main
                      class. Examples: ''gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar''
                      ''hdfs:/tmp/test-samples/custom-wordcount.jar'' ''file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'''
                    x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values,
                      used to configure Hadoop. Properties that conflict with values
                      set by the Dataproc API may be overwritten. Can include properties
                      set in /etc/hadoop/conf/*-site and classes in user code.
                    x-kubernetes-immutable: true
              hiveJob:
                type: object
                x-dcl-go-name: HiveJob
                x-dcl-go-type: WorkflowTemplateJobsHiveJob
                description: Optional. Job is a Hive job.
                x-kubernetes-immutable: true
                properties:
                  continueOnFailure:
                    type: boolean
                    x-dcl-go-name: ContinueOnFailure
                    description: Optional. Whether to continue executing queries if
                      a query fails. The default value is `false`. Setting to `true`
                      can be useful when executing independent parallel queries.
                    x-kubernetes-immutable: true
                  jarFileUris:
                    type: array
                    x-dcl-go-name: JarFileUris
                    description: Optional. HCFS URIs of jar files to add to the CLASSPATH
                      of the Hive server and Hadoop MapReduce (MR) tasks. Can contain
                      Hive SerDes and UDFs.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names and values,
                      used to configure Hive. Properties that conflict with values
                      set by the Dataproc API may be overwritten. Can include properties
                      set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml,
                      and classes in user code.
                    x-kubernetes-immutable: true
                  queryFileUri:
                    type: string
                    x-dcl-go-name: QueryFileUri
                    description: The HCFS URI of the script that contains Hive queries.
                    x-kubernetes-immutable: true
                  queryList:
                    type: object
                    x-dcl-go-name: QueryList
                    x-dcl-go-type: WorkflowTemplateJobsHiveJobQueryList
                    description: A list of queries.
                    x-kubernetes-immutable: true
                    required:
                    - queries
                    properties:
                      queries:
                        type: array
                        x-dcl-go-name: Queries
                        description: 'Required. The queries to execute. You do not
                          need to end a query expression with a semicolon. Multiple
                          queries can be specified in one string by separating each
                          with a semicolon. Here is an example of a Dataproc API snippet
                          that uses a QueryList to specify a HiveJob: "hiveJob": {
                          "queryList": { "queries": [ "query1", "query2", "query3;query4",
                          ] } }'
                        x-kubernetes-immutable: true
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
                  scriptVariables:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: ScriptVariables
                    description: 'Optional. Mapping of query variable names to values
                      (equivalent to the Hive command: `SET name="value";`).'
                    x-kubernetes-immutable: true
              labels:
                type: object
                additionalProperties:
                  type: string
                x-dcl-go-name: Labels
                description: 'Optional. The labels to associate with this job. Label
                  keys must be between 1 and 63 characters long, and must conform
                  to the following regular expression: p{Ll}p{Lo}{0,62} Label values
                  must be between 1 and 63 characters long, and must conform to the
                  following regular expression: [p{Ll}p{Lo}p{N}_-]{0,63} No more than
                  32 labels can be associated with a given job.'
                x-kubernetes-immutable: true
              pigJob:
                type: object
                x-dcl-go-name: PigJob
                x-dcl-go-type: WorkflowTemplateJobsPigJob
                description: Optional. Job is a Pig job.
                x-kubernetes-immutable: true
                properties:
                  continueOnFailure:
                    type: boolean
                    x-dcl-go-name: ContinueOnFailure
                    description: Optional. Whether to continue executing queries if
                      a query fails. The default value is `false`. Setting to `true`
                      can be useful when executing independent parallel queries.
                    x-kubernetes-immutable: true
                  jarFileUris:
                    type: array
                    x-dcl-go-name: JarFileUris
                    description: Optional. HCFS URIs of jar files to add to the CLASSPATH
                      of the Pig Client and Hadoop MapReduce (MR) tasks. Can contain
                      Pig UDFs.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsPigJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values,
                      used to configure Pig. Properties that conflict with values
                      set by the Dataproc API may be overwritten. Can include properties
                      set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties,
                      and classes in user code.
                    x-kubernetes-immutable: true
                  queryFileUri:
                    type: string
                    x-dcl-go-name: QueryFileUri
                    description: The HCFS URI of the script that contains the Pig
                      queries.
                    x-kubernetes-immutable: true
                  queryList:
                    type: object
                    x-dcl-go-name: QueryList
                    x-dcl-go-type: WorkflowTemplateJobsPigJobQueryList
                    description: A list of queries.
                    x-kubernetes-immutable: true
                    required:
                    - queries
                    properties:
                      queries:
                        type: array
                        x-dcl-go-name: Queries
                        description: 'Required. The queries to execute. You do not
                          need to end a query expression with a semicolon. Multiple
                          queries can be specified in one string by separating each
                          with a semicolon. Here is an example of a Dataproc API snippet
                          that uses a QueryList to specify a HiveJob: "hiveJob": {
                          "queryList": { "queries": [ "query1", "query2", "query3;query4",
                          ] } }'
                        x-kubernetes-immutable: true
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
                  scriptVariables:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: ScriptVariables
                    description: 'Optional. Mapping of query variable names to values
                      (equivalent to the Pig command: `name=[value]`).'
                    x-kubernetes-immutable: true
              prerequisiteStepIds:
                type: array
                x-dcl-go-name: PrerequisiteStepIds
                description: Optional. The optional list of prerequisite job step_ids.
                  If not specified, the job will start at the beginning of workflow.
                x-kubernetes-immutable: true
                x-dcl-send-empty: true
                x-dcl-list-type: list
                items:
                  type: string
                  x-dcl-go-type: string
              prestoJob:
                type: object
                x-dcl-go-name: PrestoJob
                x-dcl-go-type: WorkflowTemplateJobsPrestoJob
                description: Optional. Job is a Presto job.
                x-kubernetes-immutable: true
                properties:
                  clientTags:
                    type: array
                    x-dcl-go-name: ClientTags
                    description: Optional. Presto client tags to attach to this query
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  continueOnFailure:
                    type: boolean
                    x-dcl-go-name: ContinueOnFailure
                    description: Optional. Whether to continue executing queries if
                      a query fails. The default value is `false`. Setting to `true`
                      can be useful when executing independent parallel queries.
                    x-kubernetes-immutable: true
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsPrestoJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  outputFormat:
                    type: string
                    x-dcl-go-name: OutputFormat
                    description: Optional. The format in which query output will be
                      displayed. See the Presto documentation for supported output
                      formats
                    x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values.
                      Used to set Presto [session properties](https://prestodb.io/docs/current/sql/set-session.html)
                      Equivalent to using the --session flag in the Presto CLI
                    x-kubernetes-immutable: true
                  queryFileUri:
                    type: string
                    x-dcl-go-name: QueryFileUri
                    description: The HCFS URI of the script that contains SQL queries.
                    x-kubernetes-immutable: true
                  queryList:
                    type: object
                    x-dcl-go-name: QueryList
                    x-dcl-go-type: WorkflowTemplateJobsPrestoJobQueryList
                    description: A list of queries.
                    x-kubernetes-immutable: true
                    required:
                    - queries
                    properties:
                      queries:
                        type: array
                        x-dcl-go-name: Queries
                        description: 'Required. The queries to execute. You do not
                          need to end a query expression with a semicolon. Multiple
                          queries can be specified in one string by separating each
                          with a semicolon. Here is an example of a Dataproc API snippet
                          that uses a QueryList to specify a HiveJob: "hiveJob": {
                          "queryList": { "queries": [ "query1", "query2", "query3;query4",
                          ] } }'
                        x-kubernetes-immutable: true
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
              pysparkJob:
                type: object
                x-dcl-go-name: PysparkJob
                x-dcl-go-type: WorkflowTemplateJobsPysparkJob
                description: Optional. Job is a PySpark job.
                x-kubernetes-immutable: true
                required:
                - mainPythonFileUri
                properties:
                  archiveUris:
                    type: array
                    x-dcl-go-name: ArchiveUris
                    description: 'Optional. HCFS URIs of archives to be extracted
                      into the working directory of each executor. Supported file
                      types: .jar, .tar, .tar.gz, .tgz, and .zip.'
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  args:
                    type: array
                    x-dcl-go-name: Args
                    description: Optional. The arguments to pass to the driver. Do
                      not include arguments, such as `--conf`, that can be set as
                      job properties, since a collision may occur that causes an incorrect
                      job submission.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  fileUris:
                    type: array
                    x-dcl-go-name: FileUris
                    description: Optional. HCFS URIs of files to be placed in the
                      working directory of each executor. Useful for naively parallel
                      tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  jarFileUris:
                    type: array
                    x-dcl-go-name: JarFileUris
                    description: Optional. HCFS URIs of jar files to add to the CLASSPATHs
                      of the Python driver and tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsPysparkJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  mainPythonFileUri:
                    type: string
                    x-dcl-go-name: MainPythonFileUri
                    description: Required. The HCFS URI of the main Python file to
                      use as the driver. Must be a .py file.
                    x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values,
                      used to configure PySpark. Properties that conflict with values
                      set by the Dataproc API may be overwritten. Can include properties
                      set in /etc/spark/conf/spark-defaults.conf and classes in user
                      code.
                    x-kubernetes-immutable: true
                  pythonFileUris:
                    type: array
                    x-dcl-go-name: PythonFileUris
                    description: 'Optional. HCFS file URIs of Python files to pass
                      to the PySpark framework. Supported file types: .py, .egg, and
                      .zip.'
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
              scheduling:
                type: object
                x-dcl-go-name: Scheduling
                x-dcl-go-type: WorkflowTemplateJobsScheduling
                description: Optional. Job scheduling configuration.
                x-kubernetes-immutable: true
                properties:
                  maxFailuresPerHour:
                    type: integer
                    format: int64
                    x-dcl-go-name: MaxFailuresPerHour
                    description: Optional. Maximum number of times per hour a driver
                      may be restarted as a result of driver exiting with non-zero
                      code before job is reported failed. A job may be reported as
                      thrashing if driver exits with non-zero code 4 times within
                      10 minute window. Maximum value is 10.
                    x-kubernetes-immutable: true
                  maxFailuresTotal:
                    type: integer
                    format: int64
                    x-dcl-go-name: MaxFailuresTotal
                    description: Optional. Maximum number of times in total a driver
                      may be restarted as a result of driver exiting with non-zero
                      code before job is reported failed. Maximum value is 240.
                    x-kubernetes-immutable: true
              sparkJob:
                type: object
                x-dcl-go-name: SparkJob
                x-dcl-go-type: WorkflowTemplateJobsSparkJob
                description: Optional. Job is a Spark job.
                x-kubernetes-immutable: true
                properties:
                  archiveUris:
                    type: array
                    x-dcl-go-name: ArchiveUris
                    description: 'Optional. HCFS URIs of archives to be extracted
                      into the working directory of each executor. Supported file
                      types: .jar, .tar, .tar.gz, .tgz, and .zip.'
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  args:
                    type: array
                    x-dcl-go-name: Args
                    description: Optional. The arguments to pass to the driver. Do
                      not include arguments, such as `--conf`, that can be set as
                      job properties, since a collision may occur that causes an incorrect
                      job submission.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  fileUris:
                    type: array
                    x-dcl-go-name: FileUris
                    description: Optional. HCFS URIs of files to be placed in the
                      working directory of each executor. Useful for naively parallel
                      tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  jarFileUris:
                    type: array
                    x-dcl-go-name: JarFileUris
                    description: Optional. HCFS URIs of jar files to add to the CLASSPATHs
                      of the Spark driver and tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsSparkJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  mainClass:
                    type: string
                    x-dcl-go-name: MainClass
                    description: The name of the driver's main class. The jar file
                      that contains the class must be in the default CLASSPATH or
                      specified in `jar_file_uris`.
                    x-kubernetes-immutable: true
                  mainJarFileUri:
                    type: string
                    x-dcl-go-name: MainJarFileUri
                    description: The HCFS URI of the jar file that contains the main
                      class.
                    x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values,
                      used to configure Spark. Properties that conflict with values
                      set by the Dataproc API may be overwritten. Can include properties
                      set in /etc/spark/conf/spark-defaults.conf and classes in user
                      code.
                    x-kubernetes-immutable: true
              sparkRJob:
                type: object
                x-dcl-go-name: SparkRJob
                x-dcl-go-type: WorkflowTemplateJobsSparkRJob
                description: Optional. Job is a SparkR job.
                x-kubernetes-immutable: true
                required:
                - mainRFileUri
                properties:
                  archiveUris:
                    type: array
                    x-dcl-go-name: ArchiveUris
                    description: 'Optional. HCFS URIs of archives to be extracted
                      into the working directory of each executor. Supported file
                      types: .jar, .tar, .tar.gz, .tgz, and .zip.'
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  args:
                    type: array
                    x-dcl-go-name: Args
                    description: Optional. The arguments to pass to the driver. Do
                      not include arguments, such as `--conf`, that can be set as
                      job properties, since a collision may occur that causes an incorrect
                      job submission.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  fileUris:
                    type: array
                    x-dcl-go-name: FileUris
                    description: Optional. HCFS URIs of files to be placed in the
                      working directory of each executor. Useful for naively parallel
                      tasks.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsSparkRJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  mainRFileUri:
                    type: string
                    x-dcl-go-name: MainRFileUri
                    description: Required. The HCFS URI of the main R file to use
                      as the driver. Must be a .R file.
                    x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values,
                      used to configure SparkR. Properties that conflict with values
                      set by the Dataproc API may be overwritten. Can include properties
                      set in /etc/spark/conf/spark-defaults.conf and classes in user
                      code.
                    x-kubernetes-immutable: true
              sparkSqlJob:
                type: object
                x-dcl-go-name: SparkSqlJob
                x-dcl-go-type: WorkflowTemplateJobsSparkSqlJob
                description: Optional. Job is a SparkSql job.
                x-kubernetes-immutable: true
                properties:
                  jarFileUris:
                    type: array
                    x-dcl-go-name: JarFileUris
                    description: Optional. HCFS URIs of jar files to be added to the
                      Spark CLASSPATH.
                    x-kubernetes-immutable: true
                    x-dcl-send-empty: true
                    x-dcl-list-type: list
                    items:
                      type: string
                      x-dcl-go-type: string
                  loggingConfig:
                    type: object
                    x-dcl-go-name: LoggingConfig
                    x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobLoggingConfig
                    description: Optional. The runtime log config for job execution.
                    x-kubernetes-immutable: true
                    properties:
                      driverLogLevels:
                        type: object
                        additionalProperties:
                          type: string
                        x-dcl-go-name: DriverLogLevels
                        description: 'The per-package log levels for the driver. This
                          may include "root" package name to configure rootLogger.
                          Examples: ''com.google = FATAL'', ''root = INFO'', ''org.apache
                          = DEBUG'''
                        x-kubernetes-immutable: true
                  properties:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: Properties
                    description: Optional. A mapping of property names to values,
                      used to configure Spark SQL's SparkConf. Properties that conflict
                      with values set by the Dataproc API may be overwritten.
                    x-kubernetes-immutable: true
                  queryFileUri:
                    type: string
                    x-dcl-go-name: QueryFileUri
                    description: The HCFS URI of the script that contains SQL queries.
                    x-kubernetes-immutable: true
                  queryList:
                    type: object
                    x-dcl-go-name: QueryList
                    x-dcl-go-type: WorkflowTemplateJobsSparkSqlJobQueryList
                    description: A list of queries.
                    x-kubernetes-immutable: true
                    required:
                    - queries
                    properties:
                      queries:
                        type: array
                        x-dcl-go-name: Queries
                        description: 'Required. The queries to execute. You do not
                          need to end a query expression with a semicolon. Multiple
                          queries can be specified in one string by separating each
                          with a semicolon. Here is an example of a Dataproc API snippet
                          that uses a QueryList to specify a HiveJob: "hiveJob": {
                          "queryList": { "queries": [ "query1", "query2", "query3;query4",
                          ] } }'
                        x-kubernetes-immutable: true
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
                  scriptVariables:
                    type: object
                    additionalProperties:
                      type: string
                    x-dcl-go-name: ScriptVariables
                    description: 'Optional. Mapping of query variable names to values
                      (equivalent to the Spark SQL command: SET `name="value";`).'
                    x-kubernetes-immutable: true
              stepId:
                type: string
                x-dcl-go-name: StepId
                description: Required. The step id. The id must be unique among all
                  jobs within the template. The step id is used as prefix for job
                  id, as job `goog-dataproc-workflow-step-id` label, and in prerequisiteStepIds
                  field from other steps. The id must contain only letters (a-z, A-Z),
                  numbers (0-9), underscores (_), and hyphens (-). Cannot begin or
                  end with underscore or hyphen. Must consist of between 3 and 50
                  characters.
                x-kubernetes-immutable: true
        labels:
          type: object
          additionalProperties:
            type: string
          x-dcl-go-name: Labels
          description: Optional. The labels to associate with this template. These
            labels will be propagated to all jobs and clusters created by the workflow
            instance. Label **keys** must contain 1 to 63 characters, and must conform
            to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values**
            may be empty, but, if present, must contain 1 to 63 characters, and must
            conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than
            32 labels can be associated with a template.
          x-kubernetes-immutable: true
        location:
          type: string
          x-dcl-go-name: Location
          description: The location for the resource
          x-kubernetes-immutable: true
          x-dcl-parameter: true
        name:
          type: string
          x-dcl-go-name: Name
          description: 'Output only. The resource name of the workflow template, as
            described in https://cloud.google.com/apis/design/resource_names. * 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}`'
          x-kubernetes-immutable: true
          x-dcl-parameter: true
          x-dcl-has-long-form: true
        parameters:
          type: array
          x-dcl-go-name: Parameters
          description: Optional. Template parameters whose values are substituted
            into the template. Values for parameters must be provided when the template
            is instantiated.
          x-kubernetes-immutable: true
          x-dcl-send-empty: true
          x-dcl-list-type: list
          items:
            type: object
            x-dcl-go-type: WorkflowTemplateParameters
            required:
            - name
            - fields
            properties:
              description:
                type: string
                x-dcl-go-name: Description
                description: Optional. Brief description of the parameter. Must not
                  exceed 1024 characters.
                x-kubernetes-immutable: true
              fields:
                type: array
                x-dcl-go-name: Fields
                description: 'Required. Paths to all fields that the parameter replaces.
                  A field is allowed to appear in at most one parameter''s list of
                  field paths. A field path is similar in syntax to a google.protobuf.FieldMask.
                  For example, a field path that references the zone field of a workflow
                  template''s cluster selector would be specified as `placement.clusterSelector.zone`.
                  Also, field paths can reference fields using the following syntax:
                  * Values in maps can be referenced by key: * labels[''key''] * placement.clusterSelector.clusterLabels[''key'']
                  * placement.managedCluster.labels[''key''] * placement.clusterSelector.clusterLabels[''key'']
                  * jobs[''step-id''].labels[''key''] * Jobs in the jobs list can
                  be referenced by step-id: * jobs[''step-id''].hadoopJob.mainJarFileUri
                  * jobs[''step-id''].hiveJob.queryFileUri * jobs[''step-id''].pySparkJob.mainPythonFileUri
                  * jobs[''step-id''].hadoopJob.jarFileUris[0] * jobs[''step-id''].hadoopJob.archiveUris[0]
                  * jobs[''step-id''].hadoopJob.fileUris[0] * jobs[''step-id''].pySparkJob.pythonFileUris[0]
                  * Items in repeated fields can be referenced by a zero-based index:
                  * jobs[''step-id''].sparkJob.args[0] * Other examples: * jobs[''step-id''].hadoopJob.properties[''key'']
                  * jobs[''step-id''].hadoopJob.args[0] * jobs[''step-id''].hiveJob.scriptVariables[''key'']
                  * jobs[''step-id''].hadoopJob.mainJarFileUri * placement.clusterSelector.zone
                  It may not be possible to parameterize maps and repeated fields
                  in their entirety since only individual map values and individual
                  items in repeated fields can be referenced. For example, the following
                  field paths are invalid: - placement.clusterSelector.clusterLabels
                  - jobs[''step-id''].sparkJob.args'
                x-kubernetes-immutable: true
                x-dcl-send-empty: true
                x-dcl-list-type: list
                items:
                  type: string
                  x-dcl-go-type: string
              name:
                type: string
                x-dcl-go-name: Name
                description: Required. Parameter name. The parameter name is used
                  as the key, and paired with the parameter value, which are passed
                  to the template when the template is instantiated. The name must
                  contain only capital letters (A-Z), numbers (0-9), and underscores
                  (_), and must not start with a number. The maximum length is 40
                  characters.
                x-kubernetes-immutable: true
              validation:
                type: object
                x-dcl-go-name: Validation
                x-dcl-go-type: WorkflowTemplateParametersValidation
                description: Optional. Validation rules to be applied to this parameter's
                  value.
                x-kubernetes-immutable: true
                properties:
                  regex:
                    type: object
                    x-dcl-go-name: Regex
                    x-dcl-go-type: WorkflowTemplateParametersValidationRegex
                    description: Validation based on regular expressions.
                    x-kubernetes-immutable: true
                    required:
                    - regexes
                    properties:
                      regexes:
                        type: array
                        x-dcl-go-name: Regexes
                        description: Required. RE2 regular expressions used to validate
                          the parameter's value. The value must match the regex in
                          its entirety (substring matches are not sufficient).
                        x-kubernetes-immutable: true
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
                  values:
                    type: object
                    x-dcl-go-name: Values
                    x-dcl-go-type: WorkflowTemplateParametersValidationValues
                    description: Validation based on a list of allowed values.
                    x-kubernetes-immutable: true
                    required:
                    - values
                    properties:
                      values:
                        type: array
                        x-dcl-go-name: Values
                        description: Required. List of allowed values for the parameter.
                        x-kubernetes-immutable: true
                        x-dcl-send-empty: true
                        x-dcl-list-type: list
                        items:
                          type: string
                          x-dcl-go-type: string
        placement:
          type: object
          x-dcl-go-name: Placement
          x-dcl-go-type: WorkflowTemplatePlacement
          description: Required. WorkflowTemplate scheduling information.
          x-kubernetes-immutable: true
          properties:
            clusterSelector:
              type: object
              x-dcl-go-name: ClusterSelector
              x-dcl-go-type: WorkflowTemplatePlacementClusterSelector
              description: Optional. A selector that chooses target cluster for jobs
                based on metadata. The selector is evaluated at the time each job
                is submitted.
              x-kubernetes-immutable: true
              required:
              - clusterLabels
              properties:
                clusterLabels:
                  type: object
                  additionalProperties:
                    type: string
                  x-dcl-go-name: ClusterLabels
                  description: Required. The cluster labels. Cluster must have all
                    labels to match.
                  x-kubernetes-immutable: true
                zone:
                  type: string
                  x-dcl-go-name: Zone
                  description: Optional. The zone where workflow process executes.
                    This parameter does not affect the selection of the cluster. If
                    unspecified, the zone of the first cluster matching the selector
                    is used.
                  x-kubernetes-immutable: true
            managedCluster:
              type: object
              x-dcl-go-name: ManagedCluster
              x-dcl-go-type: WorkflowTemplatePlacementManagedCluster
              description: A cluster that is managed by the workflow.
              x-kubernetes-immutable: true
              required:
              - clusterName
              - config
              properties:
                clusterName:
                  type: string
                  x-dcl-go-name: ClusterName
                  description: Required. The cluster name prefix. A unique cluster
                    name will be formed by appending a random suffix. The name must
                    contain only lower-case letters (a-z), numbers (0-9), and hyphens
                    (-). Must begin with a letter. Cannot begin or end with hyphen.
                    Must consist of between 2 and 35 characters.
                  x-kubernetes-immutable: true
                config:
                  type: object
                  x-dcl-go-name: Config
                  x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfig
                  description: Required. The cluster configuration.
                  x-kubernetes-immutable: true
                  properties:
                    autoscalingConfig:
                      type: object
                      x-dcl-go-name: AutoscalingConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigAutoscalingConfig
                      description: Optional. Autoscaling config for the policy associated
                        with the cluster. Cluster does not autoscale if this field
                        is unset.
                      x-kubernetes-immutable: true
                      properties:
                        policy:
                          type: string
                          x-dcl-go-name: Policy
                          description: 'Optional. The autoscaling policy used by the
                            cluster. Only resource names including projectid and location
                            (region) are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`
                            * `projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]`
                            Note that the policy must be in the same project and Dataproc
                            region.'
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Dataproc/AutoscalingPolicy
                            field: name
                    encryptionConfig:
                      type: object
                      x-dcl-go-name: EncryptionConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEncryptionConfig
                      description: Optional. Encryption settings for the cluster.
                      x-kubernetes-immutable: true
                      properties:
                        gcePdKmsKeyName:
                          type: string
                          x-dcl-go-name: GcePdKmsKeyName
                          description: Optional. The Cloud KMS key name to use for
                            PD disk encryption for all instances in the cluster.
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Cloudkms/CryptoKey
                            field: selfLink
                    endpointConfig:
                      type: object
                      x-dcl-go-name: EndpointConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigEndpointConfig
                      description: Optional. Port/endpoint configuration for this
                        cluster
                      x-kubernetes-immutable: true
                      properties:
                        enableHttpPortAccess:
                          type: boolean
                          x-dcl-go-name: EnableHttpPortAccess
                          description: Optional. If true, enable http access to specific
                            ports on the cluster from external sources. Defaults to
                            false.
                          x-kubernetes-immutable: true
                        httpPorts:
                          type: object
                          additionalProperties:
                            type: string
                          x-dcl-go-name: HttpPorts
                          readOnly: true
                          description: Output only. The map of port descriptions to
                            URLs. Will only be populated if enable_http_port_access
                            is true.
                          x-kubernetes-immutable: true
                    gceClusterConfig:
                      type: object
                      x-dcl-go-name: GceClusterConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig
                      description: Optional. The shared Compute Engine config settings
                        for all instances in a cluster.
                      x-kubernetes-immutable: true
                      properties:
                        internalIPOnly:
                          type: boolean
                          x-dcl-go-name: InternalIPOnly
                          description: Optional. If true, all instances in the cluster
                            will only have internal IP addresses. By default, clusters
                            are not restricted to internal IP addresses, and will
                            have ephemeral external IP addresses assigned to each
                            instance. This `internal_ip_only` restriction can only
                            be enabled for subnetwork enabled networks, and all off-cluster
                            dependencies must be configured to be accessible without
                            external IP addresses.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                          x-dcl-go-name: Metadata
                          description: The Compute Engine metadata entries to add
                            to all instances (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
                          x-kubernetes-immutable: true
                        network:
                          type: string
                          x-dcl-go-name: Network
                          description: 'Optional. The Compute Engine network to be
                            used for machine communications. Cannot be specified with
                            subnetwork_uri. If neither `network_uri` nor `subnetwork_uri`
                            is specified, the "default" network of the project is
                            used, if it exists. Cannot be a "Custom Subnet Network"
                            (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks)
                            for more information). A full URL, partial URI, or short
                            name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`
                            * `projects/[project_id]/regions/global/default` * `default`'
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Compute/Network
                            field: selfLink
                        nodeGroupAffinity:
                          type: object
                          x-dcl-go-name: NodeGroupAffinity
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity
                          description: Optional. Node Group Affinity for sole-tenant
                            clusters.
                          x-kubernetes-immutable: true
                          required:
                          - nodeGroup
                          properties:
                            nodeGroup:
                              type: string
                              x-dcl-go-name: NodeGroup
                              description: 'Required. The URI of a sole-tenant [node
                                group resource](https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups)
                                that the cluster will be created on. A full URL, partial
                                URI, or node group name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`
                                * `projects/[project_id]/zones/us-central1-a/nodeGroups/node-group-1`
                                * `node-group-1`'
                              x-kubernetes-immutable: true
                              x-dcl-references:
                              - resource: Compute/NodeGroup
                                field: selfLink
                        privateIPv6GoogleAccess:
                          type: string
                          x-dcl-go-name: PrivateIPv6GoogleAccess
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigPrivateIPv6GoogleAccessEnum
                          description: 'Optional. The type of IPv6 access for a cluster.
                            Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,
                            INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL'
                          x-kubernetes-immutable: true
                          enum:
                          - PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED
                          - INHERIT_FROM_SUBNETWORK
                          - OUTBOUND
                          - BIDIRECTIONAL
                        reservationAffinity:
                          type: object
                          x-dcl-go-name: ReservationAffinity
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity
                          description: Optional. Reservation Affinity for consuming
                            Zonal reservation.
                          x-kubernetes-immutable: true
                          properties:
                            consumeReservationType:
                              type: string
                              x-dcl-go-name: ConsumeReservationType
                              x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinityConsumeReservationTypeEnum
                              description: 'Optional. Type of reservation to consume
                                Possible values: TYPE_UNSPECIFIED, NO_RESERVATION,
                                ANY_RESERVATION, SPECIFIC_RESERVATION'
                              x-kubernetes-immutable: true
                              enum:
                              - TYPE_UNSPECIFIED
                              - NO_RESERVATION
                              - ANY_RESERVATION
                              - SPECIFIC_RESERVATION
                            key:
                              type: string
                              x-dcl-go-name: Key
                              description: Optional. Corresponds to the label key
                                of reservation resource.
                              x-kubernetes-immutable: true
                            values:
                              type: array
                              x-dcl-go-name: Values
                              description: Optional. Corresponds to the label values
                                of reservation resource.
                              x-kubernetes-immutable: true
                              x-dcl-send-empty: true
                              x-dcl-list-type: list
                              items:
                                type: string
                                x-dcl-go-type: string
                        serviceAccount:
                          type: string
                          x-dcl-go-name: ServiceAccount
                          description: Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc)
                            (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity))
                            used by Dataproc cluster VM instances to access Google
                            Cloud Platform services. If not specified, the [Compute
                            Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
                            is used.
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Iam/ServiceAccount
                            field: email
                        serviceAccountScopes:
                          type: array
                          x-dcl-go-name: ServiceAccountScopes
                          description: 'Optional. The URIs of service account scopes
                            to be included in Compute Engine instances. The following
                            base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly
                            * https://www.googleapis.com/auth/devstorage.read_write
                            * https://www.googleapis.com/auth/logging.write If no
                            scopes are specified, the following defaults are also
                            provided: * https://www.googleapis.com/auth/bigquery *
                            https://www.googleapis.com/auth/bigtable.admin.table *
                            https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control'
                          x-kubernetes-immutable: true
                          x-dcl-send-empty: true
                          x-dcl-list-type: list
                          items:
                            type: string
                            x-dcl-go-type: string
                        shieldedInstanceConfig:
                          type: object
                          x-dcl-go-name: ShieldedInstanceConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig
                          description: Optional. Shielded Instance Config for clusters
                            using Compute Engine Shielded VMs.
                          x-kubernetes-immutable: true
                          properties:
                            enableIntegrityMonitoring:
                              type: boolean
                              x-dcl-go-name: EnableIntegrityMonitoring
                              description: Optional. Defines whether instances have
                                integrity monitoring enabled. Integrity monitoring
                                compares the most recent boot measurements to the
                                integrity policy baseline and returns a pair of pass/fail
                                results depending on whether they match or not.
                              x-kubernetes-immutable: true
                            enableSecureBoot:
                              type: boolean
                              x-dcl-go-name: EnableSecureBoot
                              description: Optional. Defines whether the instances
                                have Secure Boot enabled. Secure Boot helps ensure
                                that the system only runs authentic software by verifying
                                the digital signature of all boot components, and
                                halting the boot process if signature verification
                                fails.
                              x-kubernetes-immutable: true
                            enableVtpm:
                              type: boolean
                              x-dcl-go-name: EnableVtpm
                              description: Optional. Defines whether the instance
                                have the vTPM enabled. Virtual Trusted Platform Module
                                protects objects like keys, certificates and enables
                                Measured Boot by performing the measurements needed
                                to create a known good boot baseline, called the integrity
                                policy baseline.
                              x-kubernetes-immutable: true
                        subnetwork:
                          type: string
                          x-dcl-go-name: Subnetwork
                          description: 'Optional. The Compute Engine subnetwork to
                            be used for machine communications. Cannot be specified
                            with network_uri. A full URL, partial URI, or short name
                            are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/subnetworks/sub0`
                            * `projects/[project_id]/regions/us-east1/subnetworks/sub0`
                            * `sub0`'
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Compute/Subnetwork
                            field: selfLink
                        tags:
                          type: array
                          x-dcl-go-name: Tags
                          description: The Compute Engine tags to add to all instances
                            (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
                          x-kubernetes-immutable: true
                          x-dcl-send-empty: true
                          x-dcl-list-type: set
                          items:
                            type: string
                            x-dcl-go-type: string
                        zone:
                          type: string
                          x-dcl-go-name: Zone
                          description: 'Optional. The zone where the Compute Engine
                            cluster will be located. On a create request, it is required
                            in the "global" region. If omitted in a non-global Dataproc
                            region, the service will pick a zone in the corresponding
                            Compute Engine region. On a get request, zone will always
                            be present. A full URL, partial URI, or short name are
                            valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`
                            * `projects/[project_id]/zones/[zone]` * `us-central1-f`'
                          x-kubernetes-immutable: true
                    initializationActions:
                      type: array
                      x-dcl-go-name: InitializationActions
                      description: 'Optional. Commands to execute on each node after
                        config is completed. By default, executables are run on master
                        and all worker nodes. You can test a node''s `role` metadata
                        to run an executable on a master or worker node, as shown
                        below using `curl` (you can also use `wget`): ROLE=$(curl
                        -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
                        if [[ "${ROLE}" == ''Master'' ]]; then ... master specific
                        actions ... else ... worker specific actions ... fi'
                      x-kubernetes-immutable: true
                      x-dcl-send-empty: true
                      x-dcl-list-type: list
                      items:
                        type: object
                        x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigInitializationActions
                        properties:
                          executableFile:
                            type: string
                            x-dcl-go-name: ExecutableFile
                            description: Required. Cloud Storage URI of executable
                              file.
                            x-kubernetes-immutable: true
                          executionTimeout:
                            type: string
                            x-dcl-go-name: ExecutionTimeout
                            description: Optional. Amount of time executable has to
                              complete. Default is 10 minutes (see JSON representation
                              of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
                              Cluster creation fails with an explanatory error message
                              (the name of the executable that caused the error and
                              the exceeded timeout period) if the executable is not
                              completed at end of the timeout period.
                            x-kubernetes-immutable: true
                    lifecycleConfig:
                      type: object
                      x-dcl-go-name: LifecycleConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigLifecycleConfig
                      description: Optional. Lifecycle setting for the cluster.
                      x-kubernetes-immutable: true
                      properties:
                        autoDeleteTime:
                          type: string
                          format: date-time
                          x-dcl-go-name: AutoDeleteTime
                          description: Optional. The time when cluster will be auto-deleted
                            (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).
                          x-kubernetes-immutable: true
                        autoDeleteTtl:
                          type: string
                          x-dcl-go-name: AutoDeleteTtl
                          description: Optional. The lifetime duration of cluster.
                            The cluster will be auto-deleted at the end of this period.
                            Minimum value is 10 minutes; maximum value is 14 days
                            (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
                          x-kubernetes-immutable: true
                        idleDeleteTtl:
                          type: string
                          x-dcl-go-name: IdleDeleteTtl
                          description: Optional. The duration to keep the cluster
                            alive while idling (when no jobs are running). Passing
                            this threshold will cause the cluster to be deleted. Minimum
                            value is 5 minutes; maximum value is 14 days (see JSON
                            representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)).
                          x-kubernetes-immutable: true
                        idleStartTime:
                          type: string
                          format: date-time
                          x-dcl-go-name: IdleStartTime
                          readOnly: true
                          description: Output only. The time when cluster became idle
                            (most recent job finished) and became eligible for deletion
                            due to idleness (see JSON representation of [Timestamp](https://developers.google.com/protocol-buffers/docs/proto3#json)).
                          x-kubernetes-immutable: true
                    masterConfig:
                      type: object
                      x-dcl-go-name: MasterConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfig
                      description: Optional. The Compute Engine config settings for
                        the master instance in a cluster.
                      x-kubernetes-immutable: true
                      x-dcl-server-default: true
                      properties:
                        accelerators:
                          type: array
                          x-dcl-go-name: Accelerators
                          description: Optional. The Compute Engine accelerator configuration
                            for these instances.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          x-dcl-send-empty: true
                          x-dcl-list-type: list
                          items:
                            type: object
                            x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigAccelerators
                            properties:
                              acceleratorCount:
                                type: integer
                                format: int64
                                x-dcl-go-name: AcceleratorCount
                                description: The number of the accelerator cards of
                                  this type exposed to this instance.
                                x-kubernetes-immutable: true
                              acceleratorType:
                                type: string
                                x-dcl-go-name: AcceleratorType
                                description: 'Full URL, partial URI, or short name
                                  of the accelerator type resource to expose to this
                                  instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).
                                  Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
                                  * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
                                  * `nvidia-tesla-k80` **Auto Zone Exception**: If
                                  you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
                                  feature, you must use the short name of the accelerator
                                  type resource, for example, `nvidia-tesla-k80`.'
                                x-kubernetes-immutable: true
                        diskConfig:
                          type: object
                          x-dcl-go-name: DiskConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigDiskConfig
                          description: Optional. Disk option config settings.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          properties:
                            bootDiskSizeGb:
                              type: integer
                              format: int64
                              x-dcl-go-name: BootDiskSizeGb
                              description: Optional. Size in GB of the boot disk (default
                                is 500GB).
                              x-kubernetes-immutable: true
                            bootDiskType:
                              type: string
                              x-dcl-go-name: BootDiskType
                              description: 'Optional. Type of the boot disk (default
                                is "pd-standard"). Valid values: "pd-balanced" (Persistent
                                Disk Balanced Solid State Drive), "pd-ssd" (Persistent
                                Disk Solid State Drive), or "pd-standard" (Persistent
                                Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'
                              x-kubernetes-immutable: true
                            numLocalSsds:
                              type: integer
                              format: int64
                              x-dcl-go-name: NumLocalSsds
                              description: Optional. Number of attached SSDs, from
                                0 to 4 (default is 0). If SSDs are not attached, the
                                boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)
                                data. If one or more SSDs are attached, this runtime
                                bulk data is spread across them, and the boot disk
                                contains only basic config and installed binaries.
                              x-kubernetes-immutable: true
                              x-dcl-server-default: true
                        image:
                          type: string
                          x-dcl-go-name: Image
                          description: 'Optional. The Compute Engine image resource
                            used for cluster instances. The URI can represent an image
                            or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`
                            * `projects/[project_id]/global/images/[image-id]` * `image-id`
                            Image family examples. Dataproc will use the most recent
                            image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`
                            * `projects/[project_id]/global/images/family/[custom-image-family-name]`
                            If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`
                            or the system default.'
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Compute/Image
                            field: selfLink
                        instanceNames:
                          type: array
                          x-dcl-go-name: InstanceNames
                          readOnly: true
                          description: Output only. The list of instance names. Dataproc
                            derives the names from `cluster_name`, `num_instances`,
                            and the instance group.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          x-dcl-list-type: list
                          items:
                            type: string
                            x-dcl-go-type: string
                            x-dcl-references:
                            - resource: Compute/Instance
                              field: selfLink
                        isPreemptible:
                          type: boolean
                          x-dcl-go-name: IsPreemptible
                          readOnly: true
                          description: Output only. Specifies that this instance group
                            contains preemptible instances.
                          x-kubernetes-immutable: true
                        machineType:
                          type: string
                          x-dcl-go-name: MachineType
                          description: 'Optional. The Compute Engine machine type
                            used for cluster instances. A full URL, partial URI, or
                            short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
                            * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
                            * `n1-standard-2` **Auto Zone Exception**: If you are
                            using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
                            feature, you must use the short name of the machine type
                            resource, for example, `n1-standard-2`.'
                          x-kubernetes-immutable: true
                        managedGroupConfig:
                          type: object
                          x-dcl-go-name: ManagedGroupConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigManagedGroupConfig
                          readOnly: true
                          description: Output only. The config for Compute Engine
                            Instance Group Manager that manages this group. This is
                            only used for preemptible instance groups.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          properties:
                            instanceGroupManagerName:
                              type: string
                              x-dcl-go-name: InstanceGroupManagerName
                              readOnly: true
                              description: Output only. The name of the Instance Group
                                Manager for this group.
                              x-kubernetes-immutable: true
                            instanceTemplateName:
                              type: string
                              x-dcl-go-name: InstanceTemplateName
                              readOnly: true
                              description: Output only. The name of the Instance Template
                                used for the Managed Instance Group.
                              x-kubernetes-immutable: true
                        minCpuPlatform:
                          type: string
                          x-dcl-go-name: MinCpuPlatform
                          description: Optional. Specifies the minimum cpu platform
                            for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                        numInstances:
                          type: integer
                          format: int64
                          x-dcl-go-name: NumInstances
                          description: Optional. The number of VM instances in the
                            instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)
                            [master_config](#FIELDS.master_config) groups, **must
                            be set to 3**. For standard cluster [master_config](#FIELDS.master_config)
                            groups, **must be set to 1**.
                          x-kubernetes-immutable: true
                        preemptibility:
                          type: string
                          x-dcl-go-name: Preemptibility
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigMasterConfigPreemptibilityEnum
                          description: 'Optional. Specifies the preemptibility of
                            the instance group. The default value for master and worker
                            groups is `NON_PREEMPTIBLE`. This default cannot be changed.
                            The default value for secondary instances is `PREEMPTIBLE`.
                            Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,
                            PREEMPTIBLE'
                          x-kubernetes-immutable: true
                          enum:
                          - PREEMPTIBILITY_UNSPECIFIED
                          - NON_PREEMPTIBLE
                          - PREEMPTIBLE
                    secondaryWorkerConfig:
                      type: object
                      x-dcl-go-name: SecondaryWorkerConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfig
                      description: Optional. The Compute Engine config settings for
                        additional worker instances in a cluster.
                      x-kubernetes-immutable: true
                      x-dcl-server-default: true
                      properties:
                        accelerators:
                          type: array
                          x-dcl-go-name: Accelerators
                          description: Optional. The Compute Engine accelerator configuration
                            for these instances.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          x-dcl-send-empty: true
                          x-dcl-list-type: list
                          items:
                            type: object
                            x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigAccelerators
                            properties:
                              acceleratorCount:
                                type: integer
                                format: int64
                                x-dcl-go-name: AcceleratorCount
                                description: The number of the accelerator cards of
                                  this type exposed to this instance.
                                x-kubernetes-immutable: true
                              acceleratorType:
                                type: string
                                x-dcl-go-name: AcceleratorType
                                description: 'Full URL, partial URI, or short name
                                  of the accelerator type resource to expose to this
                                  instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).
                                  Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
                                  * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
                                  * `nvidia-tesla-k80` **Auto Zone Exception**: If
                                  you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
                                  feature, you must use the short name of the accelerator
                                  type resource, for example, `nvidia-tesla-k80`.'
                                x-kubernetes-immutable: true
                        diskConfig:
                          type: object
                          x-dcl-go-name: DiskConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigDiskConfig
                          description: Optional. Disk option config settings.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          properties:
                            bootDiskSizeGb:
                              type: integer
                              format: int64
                              x-dcl-go-name: BootDiskSizeGb
                              description: Optional. Size in GB of the boot disk (default
                                is 500GB).
                              x-kubernetes-immutable: true
                            bootDiskType:
                              type: string
                              x-dcl-go-name: BootDiskType
                              description: 'Optional. Type of the boot disk (default
                                is "pd-standard"). Valid values: "pd-balanced" (Persistent
                                Disk Balanced Solid State Drive), "pd-ssd" (Persistent
                                Disk Solid State Drive), or "pd-standard" (Persistent
                                Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'
                              x-kubernetes-immutable: true
                            numLocalSsds:
                              type: integer
                              format: int64
                              x-dcl-go-name: NumLocalSsds
                              description: Optional. Number of attached SSDs, from
                                0 to 4 (default is 0). If SSDs are not attached, the
                                boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)
                                data. If one or more SSDs are attached, this runtime
                                bulk data is spread across them, and the boot disk
                                contains only basic config and installed binaries.
                              x-kubernetes-immutable: true
                              x-dcl-server-default: true
                        image:
                          type: string
                          x-dcl-go-name: Image
                          description: 'Optional. The Compute Engine image resource
                            used for cluster instances. The URI can represent an image
                            or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`
                            * `projects/[project_id]/global/images/[image-id]` * `image-id`
                            Image family examples. Dataproc will use the most recent
                            image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`
                            * `projects/[project_id]/global/images/family/[custom-image-family-name]`
                            If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`
                            or the system default.'
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Compute/Image
                            field: selfLink
                        instanceNames:
                          type: array
                          x-dcl-go-name: InstanceNames
                          readOnly: true
                          description: Output only. The list of instance names. Dataproc
                            derives the names from `cluster_name`, `num_instances`,
                            and the instance group.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          x-dcl-list-type: list
                          items:
                            type: string
                            x-dcl-go-type: string
                            x-dcl-references:
                            - resource: Compute/Instance
                              field: selfLink
                        isPreemptible:
                          type: boolean
                          x-dcl-go-name: IsPreemptible
                          readOnly: true
                          description: Output only. Specifies that this instance group
                            contains preemptible instances.
                          x-kubernetes-immutable: true
                        machineType:
                          type: string
                          x-dcl-go-name: MachineType
                          description: 'Optional. The Compute Engine machine type
                            used for cluster instances. A full URL, partial URI, or
                            short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
                            * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
                            * `n1-standard-2` **Auto Zone Exception**: If you are
                            using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
                            feature, you must use the short name of the machine type
                            resource, for example, `n1-standard-2`.'
                          x-kubernetes-immutable: true
                        managedGroupConfig:
                          type: object
                          x-dcl-go-name: ManagedGroupConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigManagedGroupConfig
                          readOnly: true
                          description: Output only. The config for Compute Engine
                            Instance Group Manager that manages this group. This is
                            only used for preemptible instance groups.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          properties:
                            instanceGroupManagerName:
                              type: string
                              x-dcl-go-name: InstanceGroupManagerName
                              readOnly: true
                              description: Output only. The name of the Instance Group
                                Manager for this group.
                              x-kubernetes-immutable: true
                            instanceTemplateName:
                              type: string
                              x-dcl-go-name: InstanceTemplateName
                              readOnly: true
                              description: Output only. The name of the Instance Template
                                used for the Managed Instance Group.
                              x-kubernetes-immutable: true
                        minCpuPlatform:
                          type: string
                          x-dcl-go-name: MinCpuPlatform
                          description: Optional. Specifies the minimum cpu platform
                            for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                        numInstances:
                          type: integer
                          format: int64
                          x-dcl-go-name: NumInstances
                          description: Optional. The number of VM instances in the
                            instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)
                            [master_config](#FIELDS.master_config) groups, **must
                            be set to 3**. For standard cluster [master_config](#FIELDS.master_config)
                            groups, **must be set to 1**.
                          x-kubernetes-immutable: true
                        preemptibility:
                          type: string
                          x-dcl-go-name: Preemptibility
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecondaryWorkerConfigPreemptibilityEnum
                          description: 'Optional. Specifies the preemptibility of
                            the instance group. The default value for master and worker
                            groups is `NON_PREEMPTIBLE`. This default cannot be changed.
                            The default value for secondary instances is `PREEMPTIBLE`.
                            Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,
                            PREEMPTIBLE'
                          x-kubernetes-immutable: true
                          enum:
                          - PREEMPTIBILITY_UNSPECIFIED
                          - NON_PREEMPTIBLE
                          - PREEMPTIBLE
                    securityConfig:
                      type: object
                      x-dcl-go-name: SecurityConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfig
                      description: Optional. Security settings for the cluster.
                      x-kubernetes-immutable: true
                      properties:
                        kerberosConfig:
                          type: object
                          x-dcl-go-name: KerberosConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSecurityConfigKerberosConfig
                          description: Optional. Kerberos related configuration.
                          x-kubernetes-immutable: true
                          properties:
                            crossRealmTrustAdminServer:
                              type: string
                              x-dcl-go-name: CrossRealmTrustAdminServer
                              description: Optional. The admin server (IP or hostname)
                                for the remote trusted realm in a cross realm trust
                                relationship.
                              x-kubernetes-immutable: true
                            crossRealmTrustKdc:
                              type: string
                              x-dcl-go-name: CrossRealmTrustKdc
                              description: Optional. The KDC (IP or hostname) for
                                the remote trusted realm in a cross realm trust relationship.
                              x-kubernetes-immutable: true
                            crossRealmTrustRealm:
                              type: string
                              x-dcl-go-name: CrossRealmTrustRealm
                              description: Optional. The remote realm the Dataproc
                                on-cluster KDC will trust, should the user enable
                                cross realm trust.
                              x-kubernetes-immutable: true
                            crossRealmTrustSharedPassword:
                              type: string
                              x-dcl-go-name: CrossRealmTrustSharedPassword
                              description: Optional. The Cloud Storage URI of a KMS
                                encrypted file containing the shared password between
                                the on-cluster Kerberos realm and the remote trusted
                                realm, in a cross realm trust relationship.
                              x-kubernetes-immutable: true
                            enableKerberos:
                              type: boolean
                              x-dcl-go-name: EnableKerberos
                              description: 'Optional. Flag to indicate whether to
                                Kerberize the cluster (default: false). Set this field
                                to true to enable Kerberos on a cluster.'
                              x-kubernetes-immutable: true
                            kdcDbKey:
                              type: string
                              x-dcl-go-name: KdcDbKey
                              description: Optional. The Cloud Storage URI of a KMS
                                encrypted file containing the master key of the KDC
                                database.
                              x-kubernetes-immutable: true
                            keyPassword:
                              type: string
                              x-dcl-go-name: KeyPassword
                              description: Optional. The Cloud Storage URI of a KMS
                                encrypted file containing the password to the user
                                provided key. For the self-signed certificate, this
                                password is generated by Dataproc.
                              x-kubernetes-immutable: true
                            keystore:
                              type: string
                              x-dcl-go-name: Keystore
                              description: Optional. The Cloud Storage URI of the
                                keystore file used for SSL encryption. If not provided,
                                Dataproc will provide a self-signed certificate.
                              x-kubernetes-immutable: true
                            keystorePassword:
                              type: string
                              x-dcl-go-name: KeystorePassword
                              description: Optional. The Cloud Storage URI of a KMS
                                encrypted file containing the password to the user
                                provided keystore. For the self-signed certificate,
                                this password is generated by Dataproc.
                              x-kubernetes-immutable: true
                            kmsKey:
                              type: string
                              x-dcl-go-name: KmsKey
                              description: Optional. The uri of the KMS key used to
                                encrypt various sensitive files.
                              x-kubernetes-immutable: true
                              x-dcl-references:
                              - resource: Cloudkms/CryptoKey
                                field: selfLink
                            realm:
                              type: string
                              x-dcl-go-name: Realm
                              description: Optional. The name of the on-cluster Kerberos
                                realm. If not specified, the uppercased domain of
                                hostnames will be the realm.
                              x-kubernetes-immutable: true
                            rootPrincipalPassword:
                              type: string
                              x-dcl-go-name: RootPrincipalPassword
                              description: Optional. The Cloud Storage URI of a KMS
                                encrypted file containing the root principal password.
                              x-kubernetes-immutable: true
                            tgtLifetimeHours:
                              type: integer
                              format: int64
                              x-dcl-go-name: TgtLifetimeHours
                              description: Optional. The lifetime of the ticket granting
                                ticket, in hours. If not specified, or user specifies
                                0, then default value 10 will be used.
                              x-kubernetes-immutable: true
                            truststore:
                              type: string
                              x-dcl-go-name: Truststore
                              description: Optional. The Cloud Storage URI of the
                                truststore file used for SSL encryption. If not provided,
                                Dataproc will provide a self-signed certificate.
                              x-kubernetes-immutable: true
                            truststorePassword:
                              type: string
                              x-dcl-go-name: TruststorePassword
                              description: Optional. The Cloud Storage URI of a KMS
                                encrypted file containing the password to the user
                                provided truststore. For the self-signed certificate,
                                this password is generated by Dataproc.
                              x-kubernetes-immutable: true
                    softwareConfig:
                      type: object
                      x-dcl-go-name: SoftwareConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfig
                      description: Optional. The config settings for software inside
                        the cluster.
                      x-kubernetes-immutable: true
                      properties:
                        imageVersion:
                          type: string
                          x-dcl-go-name: ImageVersion
                          description: Optional. The version of software inside the
                            cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported_dataproc_versions),
                            such as "1.2" (including a subminor version, such as "1.2.29"),
                            or the ["preview" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions).
                            If unspecified, it defaults to the latest Debian version.
                          x-kubernetes-immutable: true
                        optionalComponents:
                          type: array
                          x-dcl-go-name: OptionalComponents
                          description: Optional. The set of components to activate
                            on the cluster.
                          x-kubernetes-immutable: true
                          x-dcl-send-empty: true
                          x-dcl-list-type: list
                          items:
                            type: string
                            x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigSoftwareConfigOptionalComponentsEnum
                            enum:
                            - COMPONENT_UNSPECIFIED
                            - ANACONDA
                            - DOCKER
                            - DRUID
                            - FLINK
                            - HBASE
                            - HIVE_WEBHCAT
                            - JUPYTER
                            - KERBEROS
                            - PRESTO
                            - RANGER
                            - SOLR
                            - ZEPPELIN
                            - ZOOKEEPER
                        properties:
                          type: object
                          additionalProperties:
                            type: string
                          x-dcl-go-name: Properties
                          description: 'Optional. The properties to set on daemon
                            config files. Property keys are specified in `prefix:property`
                            format, for example `core:hadoop.tmp.dir`. The following
                            are supported prefixes and their mappings: * capacity-scheduler:
                            `capacity-scheduler.xml` * core: `core-site.xml` * distcp:
                            `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml`
                            * mapred: `mapred-site.xml` * pig: `pig.properties` *
                            spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For
                            more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).'
                          x-kubernetes-immutable: true
                    stagingBucket:
                      type: string
                      x-dcl-go-name: StagingBucket
                      description: Optional. A Cloud Storage bucket used to stage
                        job dependencies, config files, and job driver console output.
                        If you do not specify a staging bucket, Cloud Dataproc will
                        determine a Cloud Storage location (US, ASIA, or EU) for your
                        cluster's staging bucket according to the Compute Engine zone
                        where your cluster is deployed, and then create and manage
                        this project-level, per-location bucket (see [Dataproc staging
                        bucket](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).
                        **This field requires a Cloud Storage bucket name, not a URI
                        to a Cloud Storage bucket.**
                      x-kubernetes-immutable: true
                      x-dcl-references:
                      - resource: Storage/Bucket
                        field: name
                    tempBucket:
                      type: string
                      x-dcl-go-name: TempBucket
                      description: Optional. A Cloud Storage bucket used to store
                        ephemeral cluster and jobs data, such as Spark and MapReduce
                        history files. If you do not specify a temp bucket, Dataproc
                        will determine a Cloud Storage location (US, ASIA, or EU)
                        for your cluster's temp bucket according to the Compute Engine
                        zone where your cluster is deployed, and then create and manage
                        this project-level, per-location bucket. The default bucket
                        has a TTL of 90 days, but you can use any TTL (or none) if
                        you specify a bucket. **This field requires a Cloud Storage
                        bucket name, not a URI to a Cloud Storage bucket.**
                      x-kubernetes-immutable: true
                      x-dcl-references:
                      - resource: Storage/Bucket
                        field: name
                    workerConfig:
                      type: object
                      x-dcl-go-name: WorkerConfig
                      x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfig
                      description: Optional. The Compute Engine config settings for
                        worker instances in a cluster.
                      x-kubernetes-immutable: true
                      x-dcl-server-default: true
                      properties:
                        accelerators:
                          type: array
                          x-dcl-go-name: Accelerators
                          description: Optional. The Compute Engine accelerator configuration
                            for these instances.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          x-dcl-send-empty: true
                          x-dcl-list-type: list
                          items:
                            type: object
                            x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigAccelerators
                            properties:
                              acceleratorCount:
                                type: integer
                                format: int64
                                x-dcl-go-name: AcceleratorCount
                                description: The number of the accelerator cards of
                                  this type exposed to this instance.
                                x-kubernetes-immutable: true
                              acceleratorType:
                                type: string
                                x-dcl-go-name: AcceleratorType
                                description: 'Full URL, partial URI, or short name
                                  of the accelerator type resource to expose to this
                                  instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/beta/acceleratorTypes).
                                  Examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
                                  * `projects/[project_id]/zones/us-east1-a/acceleratorTypes/nvidia-tesla-k80`
                                  * `nvidia-tesla-k80` **Auto Zone Exception**: If
                                  you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
                                  feature, you must use the short name of the accelerator
                                  type resource, for example, `nvidia-tesla-k80`.'
                                x-kubernetes-immutable: true
                        diskConfig:
                          type: object
                          x-dcl-go-name: DiskConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigDiskConfig
                          description: Optional. Disk option config settings.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          properties:
                            bootDiskSizeGb:
                              type: integer
                              format: int64
                              x-dcl-go-name: BootDiskSizeGb
                              description: Optional. Size in GB of the boot disk (default
                                is 500GB).
                              x-kubernetes-immutable: true
                            bootDiskType:
                              type: string
                              x-dcl-go-name: BootDiskType
                              description: 'Optional. Type of the boot disk (default
                                is "pd-standard"). Valid values: "pd-balanced" (Persistent
                                Disk Balanced Solid State Drive), "pd-ssd" (Persistent
                                Disk Solid State Drive), or "pd-standard" (Persistent
                                Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).'
                              x-kubernetes-immutable: true
                            numLocalSsds:
                              type: integer
                              format: int64
                              x-dcl-go-name: NumLocalSsds
                              description: Optional. Number of attached SSDs, from
                                0 to 4 (default is 0). If SSDs are not attached, the
                                boot disk is used to store runtime logs and [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html)
                                data. If one or more SSDs are attached, this runtime
                                bulk data is spread across them, and the boot disk
                                contains only basic config and installed binaries.
                              x-kubernetes-immutable: true
                              x-dcl-server-default: true
                        image:
                          type: string
                          x-dcl-go-name: Image
                          description: 'Optional. The Compute Engine image resource
                            used for cluster instances. The URI can represent an image
                            or image family. Image examples: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/[image-id]`
                            * `projects/[project_id]/global/images/[image-id]` * `image-id`
                            Image family examples. Dataproc will use the most recent
                            image from the family: * `https://www.googleapis.com/compute/beta/projects/[project_id]/global/images/family/[custom-image-family-name]`
                            * `projects/[project_id]/global/images/family/[custom-image-family-name]`
                            If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version`
                            or the system default.'
                          x-kubernetes-immutable: true
                          x-dcl-references:
                          - resource: Compute/Image
                            field: selfLink
                        instanceNames:
                          type: array
                          x-dcl-go-name: InstanceNames
                          readOnly: true
                          description: Output only. The list of instance names. Dataproc
                            derives the names from `cluster_name`, `num_instances`,
                            and the instance group.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          x-dcl-list-type: list
                          items:
                            type: string
                            x-dcl-go-type: string
                            x-dcl-references:
                            - resource: Compute/Instance
                              field: selfLink
                        isPreemptible:
                          type: boolean
                          x-dcl-go-name: IsPreemptible
                          readOnly: true
                          description: Output only. Specifies that this instance group
                            contains preemptible instances.
                          x-kubernetes-immutable: true
                        machineType:
                          type: string
                          x-dcl-go-name: MachineType
                          description: 'Optional. The Compute Engine machine type
                            used for cluster instances. A full URL, partial URI, or
                            short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
                            * `projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`
                            * `n1-standard-2` **Auto Zone Exception**: If you are
                            using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)
                            feature, you must use the short name of the machine type
                            resource, for example, `n1-standard-2`.'
                          x-kubernetes-immutable: true
                        managedGroupConfig:
                          type: object
                          x-dcl-go-name: ManagedGroupConfig
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigManagedGroupConfig
                          readOnly: true
                          description: Output only. The config for Compute Engine
                            Instance Group Manager that manages this group. This is
                            only used for preemptible instance groups.
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                          properties:
                            instanceGroupManagerName:
                              type: string
                              x-dcl-go-name: InstanceGroupManagerName
                              readOnly: true
                              description: Output only. The name of the Instance Group
                                Manager for this group.
                              x-kubernetes-immutable: true
                            instanceTemplateName:
                              type: string
                              x-dcl-go-name: InstanceTemplateName
                              readOnly: true
                              description: Output only. The name of the Instance Template
                                used for the Managed Instance Group.
                              x-kubernetes-immutable: true
                        minCpuPlatform:
                          type: string
                          x-dcl-go-name: MinCpuPlatform
                          description: Optional. Specifies the minimum cpu platform
                            for the Instance Group. See [Dataproc -> Minimum CPU Platform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).
                          x-kubernetes-immutable: true
                          x-dcl-server-default: true
                        numInstances:
                          type: integer
                          format: int64
                          x-dcl-go-name: NumInstances
                          description: Optional. The number of VM instances in the
                            instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability)
                            [master_config](#FIELDS.master_config) groups, **must
                            be set to 3**. For standard cluster [master_config](#FIELDS.master_config)
                            groups, **must be set to 1**.
                          x-kubernetes-immutable: true
                        preemptibility:
                          type: string
                          x-dcl-go-name: Preemptibility
                          x-dcl-go-type: WorkflowTemplatePlacementManagedClusterConfigWorkerConfigPreemptibilityEnum
                          description: 'Optional. Specifies the preemptibility of
                            the instance group. The default value for master and worker
                            groups is `NON_PREEMPTIBLE`. This default cannot be changed.
                            The default value for secondary instances is `PREEMPTIBLE`.
                            Possible values: PREEMPTIBILITY_UNSPECIFIED, NON_PREEMPTIBLE,
                            PREEMPTIBLE'
                          x-kubernetes-immutable: true
                          enum:
                          - PREEMPTIBILITY_UNSPECIFIED
                          - NON_PREEMPTIBLE
                          - PREEMPTIBLE
                labels:
                  type: object
                  additionalProperties:
                    type: string
                  x-dcl-go-name: Labels
                  description: 'Optional. The labels to associate with this cluster.
                    Label keys must be between 1 and 63 characters long, and must
                    conform to the following PCRE regular expression: p{Ll}p{Lo}{0,62}
                    Label values must be between 1 and 63 characters long, and must
                    conform to the following PCRE regular expression: [p{Ll}p{Lo}p{N}_-]{0,63}
                    No more than 32 labels can be associated with a given cluster.'
                  x-kubernetes-immutable: true
        project:
          type: string
          x-dcl-go-name: Project
          description: The project for the resource
          x-kubernetes-immutable: true
          x-dcl-references:
          - resource: Cloudresourcemanager/Project
            field: name
            parent: true
          x-dcl-parameter: true
        updateTime:
          type: string
          format: date-time
          x-dcl-go-name: UpdateTime
          readOnly: true
          description: Output only. The time template was last updated.
          x-kubernetes-immutable: true
        version:
          type: integer
          format: int64
          x-dcl-go-name: Version
          readOnly: true
          description: Output only. The current version of this workflow template.
          x-kubernetes-immutable: true
