Class TemplateParameter.Builder

  • All Implemented Interfaces:
    TemplateParameterOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    TemplateParameter

    public static final class TemplateParameter.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
    implements TemplateParameterOrBuilder
     A configurable parameter that replaces one or more fields in the template.
     Parameterizable fields:
     - Labels
     - File uris
     - Job properties
     - Job arguments
     - Script variables
     - Main class (in HadoopJob and SparkJob)
     - Zone (in ClusterSelector)
     
    Protobuf type google.cloud.dataproc.v1.TemplateParameter
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • clear

        public TemplateParameter.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • getDefaultInstanceForType

        public TemplateParameter getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public TemplateParameter build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public TemplateParameter buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public TemplateParameter.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • setField

        public TemplateParameter.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                  Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • clearField

        public TemplateParameter.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • clearOneof

        public TemplateParameter.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • setRepeatedField

        public TemplateParameter.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                          int index,
                                                          Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • addRepeatedField

        public TemplateParameter.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                          Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • mergeFrom

        public TemplateParameter.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TemplateParameter.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • mergeFrom

        public TemplateParameter.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                            throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<TemplateParameter.Builder>
        Throws:
        IOException
      • getName

        public String getName()
         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.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getName in interface TemplateParameterOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         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.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getNameBytes in interface TemplateParameterOrBuilder
        Returns:
        The bytes for name.
      • setName

        public TemplateParameter.Builder setName​(String value)
         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.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public TemplateParameter.Builder clearName()
         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.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        This builder for chaining.
      • setNameBytes

        public TemplateParameter.Builder setNameBytes​(com.google.protobuf.ByteString value)
         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.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • getFieldsList

        public com.google.protobuf.ProtocolStringList getFieldsList()
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getFieldsList in interface TemplateParameterOrBuilder
        Returns:
        A list containing the fields.
      • getFieldsCount

        public int getFieldsCount()
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getFieldsCount in interface TemplateParameterOrBuilder
        Returns:
        The count of fields.
      • getFields

        public String getFields​(int index)
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getFields in interface TemplateParameterOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The fields at the given index.
      • getFieldsBytes

        public com.google.protobuf.ByteString getFieldsBytes​(int index)
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getFieldsBytes in interface TemplateParameterOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the fields at the given index.
      • setFields

        public TemplateParameter.Builder setFields​(int index,
                                                   String value)
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        index - The index to set the value at.
        value - The fields to set.
        Returns:
        This builder for chaining.
      • addFields

        public TemplateParameter.Builder addFields​(String value)
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The fields to add.
        Returns:
        This builder for chaining.
      • addAllFields

        public TemplateParameter.Builder addAllFields​(Iterable<String> values)
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        values - The fields to add.
        Returns:
        This builder for chaining.
      • clearFields

        public TemplateParameter.Builder clearFields()
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        This builder for chaining.
      • addFieldsBytes

        public TemplateParameter.Builder addFieldsBytes​(com.google.protobuf.ByteString value)
         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][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
         
        repeated string fields = 2 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The bytes of the fields to add.
        Returns:
        This builder for chaining.
      • getDescription

        public String getDescription()
         Optional. Brief description of the parameter.
         Must not exceed 1024 characters.
         
        string description = 3 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getDescription in interface TemplateParameterOrBuilder
        Returns:
        The description.
      • getDescriptionBytes

        public com.google.protobuf.ByteString getDescriptionBytes()
         Optional. Brief description of the parameter.
         Must not exceed 1024 characters.
         
        string description = 3 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getDescriptionBytes in interface TemplateParameterOrBuilder
        Returns:
        The bytes for description.
      • setDescription

        public TemplateParameter.Builder setDescription​(String value)
         Optional. Brief description of the parameter.
         Must not exceed 1024 characters.
         
        string description = 3 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The description to set.
        Returns:
        This builder for chaining.
      • clearDescription

        public TemplateParameter.Builder clearDescription()
         Optional. Brief description of the parameter.
         Must not exceed 1024 characters.
         
        string description = 3 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • setDescriptionBytes

        public TemplateParameter.Builder setDescriptionBytes​(com.google.protobuf.ByteString value)
         Optional. Brief description of the parameter.
         Must not exceed 1024 characters.
         
        string description = 3 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bytes for description to set.
        Returns:
        This builder for chaining.
      • hasValidation

        public boolean hasValidation()
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasValidation in interface TemplateParameterOrBuilder
        Returns:
        Whether the validation field is set.
      • getValidation

        public ParameterValidation getValidation()
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getValidation in interface TemplateParameterOrBuilder
        Returns:
        The validation.
      • setValidation

        public TemplateParameter.Builder setValidation​(ParameterValidation value)
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
      • setValidation

        public TemplateParameter.Builder setValidation​(ParameterValidation.Builder builderForValue)
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
      • mergeValidation

        public TemplateParameter.Builder mergeValidation​(ParameterValidation value)
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
      • clearValidation

        public TemplateParameter.Builder clearValidation()
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
      • getValidationBuilder

        public ParameterValidation.Builder getValidationBuilder()
         Optional. Validation rules to be applied to this parameter's value.
         
        .google.cloud.dataproc.v1.ParameterValidation validation = 4 [(.google.api.field_behavior) = OPTIONAL];
      • setUnknownFields

        public final TemplateParameter.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>
      • mergeUnknownFields

        public final TemplateParameter.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<TemplateParameter.Builder>