Class V1.NodeSpec.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderType>
com.google.protobuf.GeneratedMessageV3.Builder<V1.NodeSpec.Builder>
io.kubernetes.client.proto.V1.NodeSpec.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, V1.NodeSpecOrBuilder, Cloneable
Enclosing class:
V1.NodeSpec

public static final class V1.NodeSpec.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<V1.NodeSpec.Builder> implements V1.NodeSpecOrBuilder
 NodeSpec describes the attributes that a node is created with.
 
Protobuf type k8s.io.api.core.v1.NodeSpec
  • Method Details

    • 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<V1.NodeSpec.Builder>
    • clear

      public V1.NodeSpec.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<V1.NodeSpec.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<V1.NodeSpec.Builder>
    • getDefaultInstanceForType

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

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

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

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • setField

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • clearField

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • clearOneof

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • setRepeatedField

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • addRepeatedField

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • mergeFrom

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
    • mergeFrom

      public V1.NodeSpec.Builder mergeFrom(V1.NodeSpec other)
    • isInitialized

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

      public V1.NodeSpec.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<V1.NodeSpec.Builder>
      Throws:
      IOException
    • hasPodCIDR

      public boolean hasPodCIDR()
       PodCIDR represents the pod IP range assigned to the node.
       +optional
       
      optional string podCIDR = 1;
      Specified by:
      hasPodCIDR in interface V1.NodeSpecOrBuilder
    • getPodCIDR

      public String getPodCIDR()
       PodCIDR represents the pod IP range assigned to the node.
       +optional
       
      optional string podCIDR = 1;
      Specified by:
      getPodCIDR in interface V1.NodeSpecOrBuilder
    • getPodCIDRBytes

      public com.google.protobuf.ByteString getPodCIDRBytes()
       PodCIDR represents the pod IP range assigned to the node.
       +optional
       
      optional string podCIDR = 1;
      Specified by:
      getPodCIDRBytes in interface V1.NodeSpecOrBuilder
    • setPodCIDR

      public V1.NodeSpec.Builder setPodCIDR(String value)
       PodCIDR represents the pod IP range assigned to the node.
       +optional
       
      optional string podCIDR = 1;
    • clearPodCIDR

      public V1.NodeSpec.Builder clearPodCIDR()
       PodCIDR represents the pod IP range assigned to the node.
       +optional
       
      optional string podCIDR = 1;
    • setPodCIDRBytes

      public V1.NodeSpec.Builder setPodCIDRBytes(com.google.protobuf.ByteString value)
       PodCIDR represents the pod IP range assigned to the node.
       +optional
       
      optional string podCIDR = 1;
    • getPodCIDRsList

      public com.google.protobuf.ProtocolStringList getPodCIDRsList()
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
      Specified by:
      getPodCIDRsList in interface V1.NodeSpecOrBuilder
    • getPodCIDRsCount

      public int getPodCIDRsCount()
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
      Specified by:
      getPodCIDRsCount in interface V1.NodeSpecOrBuilder
    • getPodCIDRs

      public String getPodCIDRs(int index)
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
      Specified by:
      getPodCIDRs in interface V1.NodeSpecOrBuilder
    • getPodCIDRsBytes

      public com.google.protobuf.ByteString getPodCIDRsBytes(int index)
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
      Specified by:
      getPodCIDRsBytes in interface V1.NodeSpecOrBuilder
    • setPodCIDRs

      public V1.NodeSpec.Builder setPodCIDRs(int index, String value)
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
    • addPodCIDRs

      public V1.NodeSpec.Builder addPodCIDRs(String value)
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
    • addAllPodCIDRs

      public V1.NodeSpec.Builder addAllPodCIDRs(Iterable<String> values)
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
    • clearPodCIDRs

      public V1.NodeSpec.Builder clearPodCIDRs()
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
    • addPodCIDRsBytes

      public V1.NodeSpec.Builder addPodCIDRsBytes(com.google.protobuf.ByteString value)
       podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
       field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
       each of IPv4 and IPv6.
       +optional
       +patchStrategy=merge
       
      repeated string podCIDRs = 7;
    • hasProviderID

      public boolean hasProviderID()
       ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
       +optional
       
      optional string providerID = 3;
      Specified by:
      hasProviderID in interface V1.NodeSpecOrBuilder
    • getProviderID

      public String getProviderID()
       ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
       +optional
       
      optional string providerID = 3;
      Specified by:
      getProviderID in interface V1.NodeSpecOrBuilder
    • getProviderIDBytes

      public com.google.protobuf.ByteString getProviderIDBytes()
       ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
       +optional
       
      optional string providerID = 3;
      Specified by:
      getProviderIDBytes in interface V1.NodeSpecOrBuilder
    • setProviderID

      public V1.NodeSpec.Builder setProviderID(String value)
       ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
       +optional
       
      optional string providerID = 3;
    • clearProviderID

      public V1.NodeSpec.Builder clearProviderID()
       ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
       +optional
       
      optional string providerID = 3;
    • setProviderIDBytes

      public V1.NodeSpec.Builder setProviderIDBytes(com.google.protobuf.ByteString value)
       ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
       +optional
       
      optional string providerID = 3;
    • hasUnschedulable

      public boolean hasUnschedulable()
       Unschedulable controls node schedulability of new pods. By default, node is schedulable.
       More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
       +optional
       
      optional bool unschedulable = 4;
      Specified by:
      hasUnschedulable in interface V1.NodeSpecOrBuilder
    • getUnschedulable

      public boolean getUnschedulable()
       Unschedulable controls node schedulability of new pods. By default, node is schedulable.
       More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
       +optional
       
      optional bool unschedulable = 4;
      Specified by:
      getUnschedulable in interface V1.NodeSpecOrBuilder
    • setUnschedulable

      public V1.NodeSpec.Builder setUnschedulable(boolean value)
       Unschedulable controls node schedulability of new pods. By default, node is schedulable.
       More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
       +optional
       
      optional bool unschedulable = 4;
    • clearUnschedulable

      public V1.NodeSpec.Builder clearUnschedulable()
       Unschedulable controls node schedulability of new pods. By default, node is schedulable.
       More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
       +optional
       
      optional bool unschedulable = 4;
    • getTaintsList

      public List<V1.Taint> getTaintsList()
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
      Specified by:
      getTaintsList in interface V1.NodeSpecOrBuilder
    • getTaintsCount

      public int getTaintsCount()
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
      Specified by:
      getTaintsCount in interface V1.NodeSpecOrBuilder
    • getTaints

      public V1.Taint getTaints(int index)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
      Specified by:
      getTaints in interface V1.NodeSpecOrBuilder
    • setTaints

      public V1.NodeSpec.Builder setTaints(int index, V1.Taint value)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • setTaints

      public V1.NodeSpec.Builder setTaints(int index, V1.Taint.Builder builderForValue)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • addTaints

      public V1.NodeSpec.Builder addTaints(V1.Taint value)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • addTaints

      public V1.NodeSpec.Builder addTaints(int index, V1.Taint value)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • addTaints

      public V1.NodeSpec.Builder addTaints(V1.Taint.Builder builderForValue)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • addTaints

      public V1.NodeSpec.Builder addTaints(int index, V1.Taint.Builder builderForValue)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • addAllTaints

      public V1.NodeSpec.Builder addAllTaints(Iterable<? extends V1.Taint> values)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • clearTaints

      public V1.NodeSpec.Builder clearTaints()
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • removeTaints

      public V1.NodeSpec.Builder removeTaints(int index)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • getTaintsBuilder

      public V1.Taint.Builder getTaintsBuilder(int index)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • getTaintsOrBuilder

      public V1.TaintOrBuilder getTaintsOrBuilder(int index)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
      Specified by:
      getTaintsOrBuilder in interface V1.NodeSpecOrBuilder
    • getTaintsOrBuilderList

      public List<? extends V1.TaintOrBuilder> getTaintsOrBuilderList()
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
      Specified by:
      getTaintsOrBuilderList in interface V1.NodeSpecOrBuilder
    • addTaintsBuilder

      public V1.Taint.Builder addTaintsBuilder()
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • addTaintsBuilder

      public V1.Taint.Builder addTaintsBuilder(int index)
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • getTaintsBuilderList

      public List<V1.Taint.Builder> getTaintsBuilderList()
       If specified, the node's taints.
       +optional
       
      repeated .k8s.io.api.core.v1.Taint taints = 5;
    • hasConfigSource

      public boolean hasConfigSource()
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
      Specified by:
      hasConfigSource in interface V1.NodeSpecOrBuilder
    • getConfigSource

      public V1.NodeConfigSource getConfigSource()
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
      Specified by:
      getConfigSource in interface V1.NodeSpecOrBuilder
    • setConfigSource

      public V1.NodeSpec.Builder setConfigSource(V1.NodeConfigSource value)
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
    • setConfigSource

      public V1.NodeSpec.Builder setConfigSource(V1.NodeConfigSource.Builder builderForValue)
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
    • mergeConfigSource

      public V1.NodeSpec.Builder mergeConfigSource(V1.NodeConfigSource value)
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
    • clearConfigSource

      public V1.NodeSpec.Builder clearConfigSource()
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
    • getConfigSourceBuilder

      public V1.NodeConfigSource.Builder getConfigSourceBuilder()
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
    • getConfigSourceOrBuilder

      public V1.NodeConfigSourceOrBuilder getConfigSourceOrBuilder()
       Deprecated. If specified, the source of the node's configuration.
       The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field.
       This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration
       +optional
       
      optional .k8s.io.api.core.v1.NodeConfigSource configSource = 6;
      Specified by:
      getConfigSourceOrBuilder in interface V1.NodeSpecOrBuilder
    • hasExternalID

      public boolean hasExternalID()
       Deprecated. Not all kubelets will set this field. Remove field after 1.13.
       see: https://issues.k8s.io/61966
       +optional
       
      optional string externalID = 2;
      Specified by:
      hasExternalID in interface V1.NodeSpecOrBuilder
    • getExternalID

      public String getExternalID()
       Deprecated. Not all kubelets will set this field. Remove field after 1.13.
       see: https://issues.k8s.io/61966
       +optional
       
      optional string externalID = 2;
      Specified by:
      getExternalID in interface V1.NodeSpecOrBuilder
    • getExternalIDBytes

      public com.google.protobuf.ByteString getExternalIDBytes()
       Deprecated. Not all kubelets will set this field. Remove field after 1.13.
       see: https://issues.k8s.io/61966
       +optional
       
      optional string externalID = 2;
      Specified by:
      getExternalIDBytes in interface V1.NodeSpecOrBuilder
    • setExternalID

      public V1.NodeSpec.Builder setExternalID(String value)
       Deprecated. Not all kubelets will set this field. Remove field after 1.13.
       see: https://issues.k8s.io/61966
       +optional
       
      optional string externalID = 2;
    • clearExternalID

      public V1.NodeSpec.Builder clearExternalID()
       Deprecated. Not all kubelets will set this field. Remove field after 1.13.
       see: https://issues.k8s.io/61966
       +optional
       
      optional string externalID = 2;
    • setExternalIDBytes

      public V1.NodeSpec.Builder setExternalIDBytes(com.google.protobuf.ByteString value)
       Deprecated. Not all kubelets will set this field. Remove field after 1.13.
       see: https://issues.k8s.io/61966
       +optional
       
      optional string externalID = 2;
    • setUnknownFields

      public final V1.NodeSpec.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<V1.NodeSpec.Builder>
    • mergeUnknownFields

      public final V1.NodeSpec.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<V1.NodeSpec.Builder>