All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.k8s.api.core.v1.NodeSpec Maven / Gradle / Ivy

The newest version!
package io.k8s.api.core.v1;

import java.lang.Boolean;
import java.lang.String;
import java.util.List;

/**
 * NodeSpec describes the attributes that a node is created with.
 */
public class NodeSpec {
  public NodeConfigSource configSource;

  public String externalID;

  public String podCIDR;

  public List podCIDRs;

  public String providerID;

  public List taints;

  public Boolean unschedulable;

  public NodeSpec configSource(NodeConfigSource configSource) {
    this.configSource = configSource;
    return this;
  }

  /**
   * Deprecated. Not all kubelets will set this field. Remove field after 1.13. see: https://issues.k8s.io/61966
   */
  public NodeSpec externalID(String externalID) {
    this.externalID = externalID;
    return this;
  }

  /**
   * PodCIDR represents the pod IP range assigned to the node.
   */
  public NodeSpec podCIDR(String podCIDR) {
    this.podCIDR = podCIDR;
    return this;
  }

  /**
   * 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.
   */
  public NodeSpec podCIDRs(List podCIDRs) {
    this.podCIDRs = podCIDRs;
    return this;
  }

  /**
   * ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
   */
  public NodeSpec providerID(String providerID) {
    this.providerID = providerID;
    return this;
  }

  /**
   * If specified, the node's taints.
   */
  public NodeSpec taints(List taints) {
    this.taints = taints;
    return this;
  }

  /**
   * Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
   */
  public NodeSpec unschedulable(Boolean unschedulable) {
    this.unschedulable = unschedulable;
    return this;
  }

  public static NodeSpec nodeSpec() {
    return new NodeSpec();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy