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

io.fabric8.knative.serving.v1.RevisionSpecFluent Maven / Gradle / Ivy

package io.fabric8.knative.serving.v1;

import io.fabric8.kubernetes.api.builder.VisitableBuilder;
import java.lang.SuppressWarnings;
import io.fabric8.kubernetes.api.model.TopologySpreadConstraint;
import io.fabric8.kubernetes.api.builder.Nested;
import java.util.ArrayList;
import java.lang.String;
import io.fabric8.kubernetes.api.model.VolumeBuilder;
import io.fabric8.kubernetes.api.model.EphemeralContainer;
import java.util.LinkedHashMap;
import java.util.function.Predicate;
import io.fabric8.kubernetes.api.model.Container;
import io.fabric8.kubernetes.api.model.PodOS;
import io.fabric8.kubernetes.api.model.ContainerBuilder;
import io.fabric8.kubernetes.api.model.PodDNSConfig;
import io.fabric8.kubernetes.api.model.ContainerFluent;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.util.Iterator;
import java.util.List;
import io.fabric8.kubernetes.api.model.VolumeFluent;
import java.lang.Boolean;
import io.fabric8.kubernetes.api.model.LocalObjectReferenceFluent;
import io.fabric8.kubernetes.api.model.PodSecurityContext;
import io.fabric8.kubernetes.api.model.PodResourceClaim;
import io.fabric8.kubernetes.api.model.Quantity;
import io.fabric8.kubernetes.api.model.LocalObjectReferenceBuilder;
import io.fabric8.kubernetes.api.model.PodReadinessGate;
import io.fabric8.kubernetes.api.model.PodSchedulingGate;
import io.fabric8.kubernetes.api.model.HostAlias;
import java.lang.Integer;
import io.fabric8.kubernetes.api.model.Volume;
import io.fabric8.kubernetes.api.model.LocalObjectReference;
import io.fabric8.kubernetes.api.model.Toleration;
import java.lang.Long;
import io.fabric8.kubernetes.api.model.Affinity;
import java.util.Collection;
import java.lang.Object;
import java.util.Map;

 /**
  * Generated
  */
  @SuppressWarnings(value = "unchecked")
  public class RevisionSpecFluent> extends BaseFluent{
  public RevisionSpecFluent() {
  }
  public RevisionSpecFluent(RevisionSpec instance) {
    instance = (instance != null ? instance : new RevisionSpec());

    if (instance != null) {
      this.withActiveDeadlineSeconds(instance.getActiveDeadlineSeconds());
      this.withAffinity(instance.getAffinity());
      this.withAutomountServiceAccountToken(instance.getAutomountServiceAccountToken());
      this.withContainerConcurrency(instance.getContainerConcurrency());
      this.withContainers(instance.getContainers());
      this.withDnsConfig(instance.getDnsConfig());
      this.withDnsPolicy(instance.getDnsPolicy());
      this.withEnableServiceLinks(instance.getEnableServiceLinks());
      this.withEphemeralContainers(instance.getEphemeralContainers());
      this.withHostAliases(instance.getHostAliases());
      this.withHostIPC(instance.getHostIPC());
      this.withHostNetwork(instance.getHostNetwork());
      this.withHostPID(instance.getHostPID());
      this.withHostUsers(instance.getHostUsers());
      this.withHostname(instance.getHostname());
      this.withIdleTimeoutSeconds(instance.getIdleTimeoutSeconds());
      this.withImagePullSecrets(instance.getImagePullSecrets());
      this.withInitContainers(instance.getInitContainers());
      this.withNodeName(instance.getNodeName());
      this.withNodeSelector(instance.getNodeSelector());
      this.withOs(instance.getOs());
      this.withOverhead(instance.getOverhead());
      this.withPreemptionPolicy(instance.getPreemptionPolicy());
      this.withPriority(instance.getPriority());
      this.withPriorityClassName(instance.getPriorityClassName());
      this.withReadinessGates(instance.getReadinessGates());
      this.withResourceClaims(instance.getResourceClaims());
      this.withResponseStartTimeoutSeconds(instance.getResponseStartTimeoutSeconds());
      this.withRestartPolicy(instance.getRestartPolicy());
      this.withRuntimeClassName(instance.getRuntimeClassName());
      this.withSchedulerName(instance.getSchedulerName());
      this.withSchedulingGates(instance.getSchedulingGates());
      this.withSecurityContext(instance.getSecurityContext());
      this.withServiceAccount(instance.getServiceAccount());
      this.withServiceAccountName(instance.getServiceAccountName());
      this.withSetHostnameAsFQDN(instance.getSetHostnameAsFQDN());
      this.withShareProcessNamespace(instance.getShareProcessNamespace());
      this.withSubdomain(instance.getSubdomain());
      this.withTerminationGracePeriodSeconds(instance.getTerminationGracePeriodSeconds());
      this.withTimeoutSeconds(instance.getTimeoutSeconds());
      this.withTolerations(instance.getTolerations());
      this.withTopologySpreadConstraints(instance.getTopologySpreadConstraints());
      this.withVolumes(instance.getVolumes());
      this.withActiveDeadlineSeconds(instance.getActiveDeadlineSeconds());
      this.withAffinity(instance.getAffinity());
      this.withAutomountServiceAccountToken(instance.getAutomountServiceAccountToken());
      this.withContainerConcurrency(instance.getContainerConcurrency());
      this.withContainers(instance.getContainers());
      this.withDnsConfig(instance.getDnsConfig());
      this.withDnsPolicy(instance.getDnsPolicy());
      this.withEnableServiceLinks(instance.getEnableServiceLinks());
      this.withEphemeralContainers(instance.getEphemeralContainers());
      this.withHostAliases(instance.getHostAliases());
      this.withHostIPC(instance.getHostIPC());
      this.withHostNetwork(instance.getHostNetwork());
      this.withHostPID(instance.getHostPID());
      this.withHostUsers(instance.getHostUsers());
      this.withHostname(instance.getHostname());
      this.withIdleTimeoutSeconds(instance.getIdleTimeoutSeconds());
      this.withImagePullSecrets(instance.getImagePullSecrets());
      this.withInitContainers(instance.getInitContainers());
      this.withNodeName(instance.getNodeName());
      this.withNodeSelector(instance.getNodeSelector());
      this.withOs(instance.getOs());
      this.withOverhead(instance.getOverhead());
      this.withPreemptionPolicy(instance.getPreemptionPolicy());
      this.withPriority(instance.getPriority());
      this.withPriorityClassName(instance.getPriorityClassName());
      this.withReadinessGates(instance.getReadinessGates());
      this.withResourceClaims(instance.getResourceClaims());
      this.withResponseStartTimeoutSeconds(instance.getResponseStartTimeoutSeconds());
      this.withRestartPolicy(instance.getRestartPolicy());
      this.withRuntimeClassName(instance.getRuntimeClassName());
      this.withSchedulerName(instance.getSchedulerName());
      this.withSchedulingGates(instance.getSchedulingGates());
      this.withSecurityContext(instance.getSecurityContext());
      this.withServiceAccount(instance.getServiceAccount());
      this.withServiceAccountName(instance.getServiceAccountName());
      this.withSetHostnameAsFQDN(instance.getSetHostnameAsFQDN());
      this.withShareProcessNamespace(instance.getShareProcessNamespace());
      this.withSubdomain(instance.getSubdomain());
      this.withTerminationGracePeriodSeconds(instance.getTerminationGracePeriodSeconds());
      this.withTimeoutSeconds(instance.getTimeoutSeconds());
      this.withTolerations(instance.getTolerations());
      this.withTopologySpreadConstraints(instance.getTopologySpreadConstraints());
      this.withVolumes(instance.getVolumes());
    }
  }
  private Long activeDeadlineSeconds;
  private Affinity affinity;
  private Boolean automountServiceAccountToken;
  private Long containerConcurrency;
  private ArrayList containers = new ArrayList();
  private PodDNSConfig dnsConfig;
  private String dnsPolicy;
  private Boolean enableServiceLinks;
  private List ephemeralContainers = new ArrayList();
  private List hostAliases = new ArrayList();
  private Boolean hostIPC;
  private Boolean hostNetwork;
  private Boolean hostPID;
  private Boolean hostUsers;
  private String hostname;
  private Long idleTimeoutSeconds;
  private ArrayList imagePullSecrets = new ArrayList();
  private ArrayList initContainers = new ArrayList();
  private String nodeName;
  private Map nodeSelector;
  private PodOS os;
  private Map overhead;
  private String preemptionPolicy;
  private Integer priority;
  private String priorityClassName;
  private List readinessGates = new ArrayList();
  private List resourceClaims = new ArrayList();
  private Long responseStartTimeoutSeconds;
  private String restartPolicy;
  private String runtimeClassName;
  private String schedulerName;
  private List schedulingGates = new ArrayList();
  private PodSecurityContext securityContext;
  private String serviceAccount;
  private String serviceAccountName;
  private Boolean setHostnameAsFQDN;
  private Boolean shareProcessNamespace;
  private String subdomain;
  private Long terminationGracePeriodSeconds;
  private Long timeoutSeconds;
  private List tolerations = new ArrayList();
  private List topologySpreadConstraints = new ArrayList();
  private ArrayList volumes = new ArrayList();
  public Long getActiveDeadlineSeconds() {
    return this.activeDeadlineSeconds;
  }
  public A withActiveDeadlineSeconds(Long activeDeadlineSeconds) {
    this.activeDeadlineSeconds=activeDeadlineSeconds; return (A) this;
  }
  public boolean hasActiveDeadlineSeconds() {
    return this.activeDeadlineSeconds != null;
  }
  public Affinity getAffinity() {
    return this.affinity;
  }
  public A withAffinity(Affinity affinity) {
    this.affinity=affinity; return (A) this;
  }
  public boolean hasAffinity() {
    return this.affinity != null;
  }
  public Boolean getAutomountServiceAccountToken() {
    return this.automountServiceAccountToken;
  }
  public A withAutomountServiceAccountToken(Boolean automountServiceAccountToken) {
    this.automountServiceAccountToken=automountServiceAccountToken; return (A) this;
  }
  public boolean hasAutomountServiceAccountToken() {
    return this.automountServiceAccountToken != null;
  }
  public Long getContainerConcurrency() {
    return this.containerConcurrency;
  }
  public A withContainerConcurrency(Long containerConcurrency) {
    this.containerConcurrency=containerConcurrency; return (A) this;
  }
  public boolean hasContainerConcurrency() {
    return this.containerConcurrency != null;
  }
  public A addToContainers(int index,Container item) {
    if (this.containers == null) {this.containers = new ArrayList();}
    ContainerBuilder builder = new ContainerBuilder(item);
    if (index < 0 || index >= containers.size()) { _visitables.get("containers").add(builder); containers.add(builder); } else { _visitables.get("containers").add(index, builder); containers.add(index, builder);}
    return (A)this;
  }
  public A setToContainers(int index,Container item) {
    if (this.containers == null) {this.containers = new ArrayList();}
    ContainerBuilder builder = new ContainerBuilder(item);
    if (index < 0 || index >= containers.size()) { _visitables.get("containers").add(builder); containers.add(builder); } else { _visitables.get("containers").set(index, builder); containers.set(index, builder);}
    return (A)this;
  }
  public A addToContainers(io.fabric8.kubernetes.api.model.Container... items) {
    if (this.containers == null) {this.containers = new ArrayList();}
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("containers").add(builder);this.containers.add(builder);} return (A)this;
  }
  public A addAllToContainers(Collection items) {
    if (this.containers == null) {this.containers = new ArrayList();}
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("containers").add(builder);this.containers.add(builder);} return (A)this;
  }
  public A removeFromContainers(io.fabric8.kubernetes.api.model.Container... items) {
    if (this.containers == null) return (A)this;
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("containers").remove(builder); this.containers.remove(builder);} return (A)this;
  }
  public A removeAllFromContainers(Collection items) {
    if (this.containers == null) return (A)this;
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("containers").remove(builder); this.containers.remove(builder);} return (A)this;
  }
  public A removeMatchingFromContainers(Predicate predicate) {
    if (containers == null) return (A) this;
    final Iterator each = containers.iterator();
    final List visitables = _visitables.get("containers");
    while (each.hasNext()) {
      ContainerBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A)this;
  }
  public List buildContainers() {
    return containers != null ? build(containers) : null;
  }
  public Container buildContainer(int index) {
    return this.containers.get(index).build();
  }
  public Container buildFirstContainer() {
    return this.containers.get(0).build();
  }
  public Container buildLastContainer() {
    return this.containers.get(containers.size() - 1).build();
  }
  public Container buildMatchingContainer(Predicate predicate) {
    for (ContainerBuilder item: containers) { if(predicate.test(item)){ return item.build();} } return null;
  }
  public boolean hasMatchingContainer(Predicate predicate) {
    for (ContainerBuilder item: containers) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withContainers(List containers) {
    if (this.containers != null) { _visitables.get("containers").clear();}
    if (containers != null) {this.containers = new ArrayList(); for (Container item : containers){this.addToContainers(item);}} else { this.containers = null;} return (A) this;
  }
  public A withContainers(io.fabric8.kubernetes.api.model.Container... containers) {
    if (this.containers != null) {this.containers.clear(); _visitables.remove("containers"); }
    if (containers != null) {for (Container item :containers){ this.addToContainers(item);}} return (A) this;
  }
  public boolean hasContainers() {
    return containers != null && !containers.isEmpty();
  }
  public ContainersNested addNewContainer() {
    return new ContainersNested(-1, null);
  }
  public ContainersNested addNewContainerLike(Container item) {
    return new ContainersNested(-1, item);
  }
  public ContainersNested setNewContainerLike(int index,Container item) {
    return new ContainersNested(index, item);
  }
  public ContainersNested editContainer(int index) {
    if (containers.size() <= index) throw new RuntimeException("Can't edit containers. Index exceeds size.");
    return setNewContainerLike(index, buildContainer(index));
  }
  public ContainersNested editFirstContainer() {
    if (containers.size() == 0) throw new RuntimeException("Can't edit first containers. The list is empty.");
    return setNewContainerLike(0, buildContainer(0));
  }
  public ContainersNested editLastContainer() {
    int index = containers.size() - 1;
    if (index < 0) throw new RuntimeException("Can't edit last containers. The list is empty.");
    return setNewContainerLike(index, buildContainer(index));
  }
  public ContainersNested editMatchingContainer(Predicate predicate) {
    int index = -1;
    for (int i=0;i();}
    this.ephemeralContainers.add(index, item);
    return (A)this;
  }
  public A setToEphemeralContainers(int index,EphemeralContainer item) {
    if (this.ephemeralContainers == null) {this.ephemeralContainers = new ArrayList();}
    this.ephemeralContainers.set(index, item); return (A)this;
  }
  public A addToEphemeralContainers(io.fabric8.kubernetes.api.model.EphemeralContainer... items) {
    if (this.ephemeralContainers == null) {this.ephemeralContainers = new ArrayList();}
    for (EphemeralContainer item : items) {this.ephemeralContainers.add(item);} return (A)this;
  }
  public A addAllToEphemeralContainers(Collection items) {
    if (this.ephemeralContainers == null) {this.ephemeralContainers = new ArrayList();}
    for (EphemeralContainer item : items) {this.ephemeralContainers.add(item);} return (A)this;
  }
  public A removeFromEphemeralContainers(io.fabric8.kubernetes.api.model.EphemeralContainer... items) {
    if (this.ephemeralContainers == null) return (A)this;
    for (EphemeralContainer item : items) { this.ephemeralContainers.remove(item);} return (A)this;
  }
  public A removeAllFromEphemeralContainers(Collection items) {
    if (this.ephemeralContainers == null) return (A)this;
    for (EphemeralContainer item : items) { this.ephemeralContainers.remove(item);} return (A)this;
  }
  public List getEphemeralContainers() {
    return this.ephemeralContainers;
  }
  public EphemeralContainer getEphemeralContainer(int index) {
    return this.ephemeralContainers.get(index);
  }
  public EphemeralContainer getFirstEphemeralContainer() {
    return this.ephemeralContainers.get(0);
  }
  public EphemeralContainer getLastEphemeralContainer() {
    return this.ephemeralContainers.get(ephemeralContainers.size() - 1);
  }
  public EphemeralContainer getMatchingEphemeralContainer(Predicate predicate) {
    for (EphemeralContainer item: ephemeralContainers) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingEphemeralContainer(Predicate predicate) {
    for (EphemeralContainer item: ephemeralContainers) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withEphemeralContainers(List ephemeralContainers) {
    if (ephemeralContainers != null) {this.ephemeralContainers = new ArrayList(); for (EphemeralContainer item : ephemeralContainers){this.addToEphemeralContainers(item);}} else { this.ephemeralContainers = null;} return (A) this;
  }
  public A withEphemeralContainers(io.fabric8.kubernetes.api.model.EphemeralContainer... ephemeralContainers) {
    if (this.ephemeralContainers != null) {this.ephemeralContainers.clear(); _visitables.remove("ephemeralContainers"); }
    if (ephemeralContainers != null) {for (EphemeralContainer item :ephemeralContainers){ this.addToEphemeralContainers(item);}} return (A) this;
  }
  public boolean hasEphemeralContainers() {
    return ephemeralContainers != null && !ephemeralContainers.isEmpty();
  }
  public A addToHostAliases(int index,HostAlias item) {
    if (this.hostAliases == null) {this.hostAliases = new ArrayList();}
    this.hostAliases.add(index, item);
    return (A)this;
  }
  public A setToHostAliases(int index,HostAlias item) {
    if (this.hostAliases == null) {this.hostAliases = new ArrayList();}
    this.hostAliases.set(index, item); return (A)this;
  }
  public A addToHostAliases(io.fabric8.kubernetes.api.model.HostAlias... items) {
    if (this.hostAliases == null) {this.hostAliases = new ArrayList();}
    for (HostAlias item : items) {this.hostAliases.add(item);} return (A)this;
  }
  public A addAllToHostAliases(Collection items) {
    if (this.hostAliases == null) {this.hostAliases = new ArrayList();}
    for (HostAlias item : items) {this.hostAliases.add(item);} return (A)this;
  }
  public A removeFromHostAliases(io.fabric8.kubernetes.api.model.HostAlias... items) {
    if (this.hostAliases == null) return (A)this;
    for (HostAlias item : items) { this.hostAliases.remove(item);} return (A)this;
  }
  public A removeAllFromHostAliases(Collection items) {
    if (this.hostAliases == null) return (A)this;
    for (HostAlias item : items) { this.hostAliases.remove(item);} return (A)this;
  }
  public List getHostAliases() {
    return this.hostAliases;
  }
  public HostAlias getHostAlias(int index) {
    return this.hostAliases.get(index);
  }
  public HostAlias getFirstHostAlias() {
    return this.hostAliases.get(0);
  }
  public HostAlias getLastHostAlias() {
    return this.hostAliases.get(hostAliases.size() - 1);
  }
  public HostAlias getMatchingHostAlias(Predicate predicate) {
    for (HostAlias item: hostAliases) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingHostAlias(Predicate predicate) {
    for (HostAlias item: hostAliases) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withHostAliases(List hostAliases) {
    if (hostAliases != null) {this.hostAliases = new ArrayList(); for (HostAlias item : hostAliases){this.addToHostAliases(item);}} else { this.hostAliases = null;} return (A) this;
  }
  public A withHostAliases(io.fabric8.kubernetes.api.model.HostAlias... hostAliases) {
    if (this.hostAliases != null) {this.hostAliases.clear(); _visitables.remove("hostAliases"); }
    if (hostAliases != null) {for (HostAlias item :hostAliases){ this.addToHostAliases(item);}} return (A) this;
  }
  public boolean hasHostAliases() {
    return hostAliases != null && !hostAliases.isEmpty();
  }
  public Boolean getHostIPC() {
    return this.hostIPC;
  }
  public A withHostIPC(Boolean hostIPC) {
    this.hostIPC=hostIPC; return (A) this;
  }
  public boolean hasHostIPC() {
    return this.hostIPC != null;
  }
  public Boolean getHostNetwork() {
    return this.hostNetwork;
  }
  public A withHostNetwork(Boolean hostNetwork) {
    this.hostNetwork=hostNetwork; return (A) this;
  }
  public boolean hasHostNetwork() {
    return this.hostNetwork != null;
  }
  public Boolean getHostPID() {
    return this.hostPID;
  }
  public A withHostPID(Boolean hostPID) {
    this.hostPID=hostPID; return (A) this;
  }
  public boolean hasHostPID() {
    return this.hostPID != null;
  }
  public Boolean getHostUsers() {
    return this.hostUsers;
  }
  public A withHostUsers(Boolean hostUsers) {
    this.hostUsers=hostUsers; return (A) this;
  }
  public boolean hasHostUsers() {
    return this.hostUsers != null;
  }
  public String getHostname() {
    return this.hostname;
  }
  public A withHostname(String hostname) {
    this.hostname=hostname; return (A) this;
  }
  public boolean hasHostname() {
    return this.hostname != null;
  }
  public Long getIdleTimeoutSeconds() {
    return this.idleTimeoutSeconds;
  }
  public A withIdleTimeoutSeconds(Long idleTimeoutSeconds) {
    this.idleTimeoutSeconds=idleTimeoutSeconds; return (A) this;
  }
  public boolean hasIdleTimeoutSeconds() {
    return this.idleTimeoutSeconds != null;
  }
  public A addToImagePullSecrets(int index,LocalObjectReference item) {
    if (this.imagePullSecrets == null) {this.imagePullSecrets = new ArrayList();}
    LocalObjectReferenceBuilder builder = new LocalObjectReferenceBuilder(item);
    if (index < 0 || index >= imagePullSecrets.size()) { _visitables.get("imagePullSecrets").add(builder); imagePullSecrets.add(builder); } else { _visitables.get("imagePullSecrets").add(index, builder); imagePullSecrets.add(index, builder);}
    return (A)this;
  }
  public A setToImagePullSecrets(int index,LocalObjectReference item) {
    if (this.imagePullSecrets == null) {this.imagePullSecrets = new ArrayList();}
    LocalObjectReferenceBuilder builder = new LocalObjectReferenceBuilder(item);
    if (index < 0 || index >= imagePullSecrets.size()) { _visitables.get("imagePullSecrets").add(builder); imagePullSecrets.add(builder); } else { _visitables.get("imagePullSecrets").set(index, builder); imagePullSecrets.set(index, builder);}
    return (A)this;
  }
  public A addToImagePullSecrets(io.fabric8.kubernetes.api.model.LocalObjectReference... items) {
    if (this.imagePullSecrets == null) {this.imagePullSecrets = new ArrayList();}
    for (LocalObjectReference item : items) {LocalObjectReferenceBuilder builder = new LocalObjectReferenceBuilder(item);_visitables.get("imagePullSecrets").add(builder);this.imagePullSecrets.add(builder);} return (A)this;
  }
  public A addAllToImagePullSecrets(Collection items) {
    if (this.imagePullSecrets == null) {this.imagePullSecrets = new ArrayList();}
    for (LocalObjectReference item : items) {LocalObjectReferenceBuilder builder = new LocalObjectReferenceBuilder(item);_visitables.get("imagePullSecrets").add(builder);this.imagePullSecrets.add(builder);} return (A)this;
  }
  public A removeFromImagePullSecrets(io.fabric8.kubernetes.api.model.LocalObjectReference... items) {
    if (this.imagePullSecrets == null) return (A)this;
    for (LocalObjectReference item : items) {LocalObjectReferenceBuilder builder = new LocalObjectReferenceBuilder(item);_visitables.get("imagePullSecrets").remove(builder); this.imagePullSecrets.remove(builder);} return (A)this;
  }
  public A removeAllFromImagePullSecrets(Collection items) {
    if (this.imagePullSecrets == null) return (A)this;
    for (LocalObjectReference item : items) {LocalObjectReferenceBuilder builder = new LocalObjectReferenceBuilder(item);_visitables.get("imagePullSecrets").remove(builder); this.imagePullSecrets.remove(builder);} return (A)this;
  }
  public A removeMatchingFromImagePullSecrets(Predicate predicate) {
    if (imagePullSecrets == null) return (A) this;
    final Iterator each = imagePullSecrets.iterator();
    final List visitables = _visitables.get("imagePullSecrets");
    while (each.hasNext()) {
      LocalObjectReferenceBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A)this;
  }
  public List buildImagePullSecrets() {
    return imagePullSecrets != null ? build(imagePullSecrets) : null;
  }
  public LocalObjectReference buildImagePullSecret(int index) {
    return this.imagePullSecrets.get(index).build();
  }
  public LocalObjectReference buildFirstImagePullSecret() {
    return this.imagePullSecrets.get(0).build();
  }
  public LocalObjectReference buildLastImagePullSecret() {
    return this.imagePullSecrets.get(imagePullSecrets.size() - 1).build();
  }
  public LocalObjectReference buildMatchingImagePullSecret(Predicate predicate) {
    for (LocalObjectReferenceBuilder item: imagePullSecrets) { if(predicate.test(item)){ return item.build();} } return null;
  }
  public boolean hasMatchingImagePullSecret(Predicate predicate) {
    for (LocalObjectReferenceBuilder item: imagePullSecrets) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withImagePullSecrets(List imagePullSecrets) {
    if (this.imagePullSecrets != null) { _visitables.get("imagePullSecrets").clear();}
    if (imagePullSecrets != null) {this.imagePullSecrets = new ArrayList(); for (LocalObjectReference item : imagePullSecrets){this.addToImagePullSecrets(item);}} else { this.imagePullSecrets = null;} return (A) this;
  }
  public A withImagePullSecrets(io.fabric8.kubernetes.api.model.LocalObjectReference... imagePullSecrets) {
    if (this.imagePullSecrets != null) {this.imagePullSecrets.clear(); _visitables.remove("imagePullSecrets"); }
    if (imagePullSecrets != null) {for (LocalObjectReference item :imagePullSecrets){ this.addToImagePullSecrets(item);}} return (A) this;
  }
  public boolean hasImagePullSecrets() {
    return imagePullSecrets != null && !imagePullSecrets.isEmpty();
  }
  public A addNewImagePullSecret(String name) {
    return (A)addToImagePullSecrets(new LocalObjectReference(name));
  }
  public ImagePullSecretsNested addNewImagePullSecret() {
    return new ImagePullSecretsNested(-1, null);
  }
  public ImagePullSecretsNested addNewImagePullSecretLike(LocalObjectReference item) {
    return new ImagePullSecretsNested(-1, item);
  }
  public ImagePullSecretsNested setNewImagePullSecretLike(int index,LocalObjectReference item) {
    return new ImagePullSecretsNested(index, item);
  }
  public ImagePullSecretsNested editImagePullSecret(int index) {
    if (imagePullSecrets.size() <= index) throw new RuntimeException("Can't edit imagePullSecrets. Index exceeds size.");
    return setNewImagePullSecretLike(index, buildImagePullSecret(index));
  }
  public ImagePullSecretsNested editFirstImagePullSecret() {
    if (imagePullSecrets.size() == 0) throw new RuntimeException("Can't edit first imagePullSecrets. The list is empty.");
    return setNewImagePullSecretLike(0, buildImagePullSecret(0));
  }
  public ImagePullSecretsNested editLastImagePullSecret() {
    int index = imagePullSecrets.size() - 1;
    if (index < 0) throw new RuntimeException("Can't edit last imagePullSecrets. The list is empty.");
    return setNewImagePullSecretLike(index, buildImagePullSecret(index));
  }
  public ImagePullSecretsNested editMatchingImagePullSecret(Predicate predicate) {
    int index = -1;
    for (int i=0;i();}
    ContainerBuilder builder = new ContainerBuilder(item);
    if (index < 0 || index >= initContainers.size()) { _visitables.get("initContainers").add(builder); initContainers.add(builder); } else { _visitables.get("initContainers").add(index, builder); initContainers.add(index, builder);}
    return (A)this;
  }
  public A setToInitContainers(int index,Container item) {
    if (this.initContainers == null) {this.initContainers = new ArrayList();}
    ContainerBuilder builder = new ContainerBuilder(item);
    if (index < 0 || index >= initContainers.size()) { _visitables.get("initContainers").add(builder); initContainers.add(builder); } else { _visitables.get("initContainers").set(index, builder); initContainers.set(index, builder);}
    return (A)this;
  }
  public A addToInitContainers(io.fabric8.kubernetes.api.model.Container... items) {
    if (this.initContainers == null) {this.initContainers = new ArrayList();}
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("initContainers").add(builder);this.initContainers.add(builder);} return (A)this;
  }
  public A addAllToInitContainers(Collection items) {
    if (this.initContainers == null) {this.initContainers = new ArrayList();}
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("initContainers").add(builder);this.initContainers.add(builder);} return (A)this;
  }
  public A removeFromInitContainers(io.fabric8.kubernetes.api.model.Container... items) {
    if (this.initContainers == null) return (A)this;
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("initContainers").remove(builder); this.initContainers.remove(builder);} return (A)this;
  }
  public A removeAllFromInitContainers(Collection items) {
    if (this.initContainers == null) return (A)this;
    for (Container item : items) {ContainerBuilder builder = new ContainerBuilder(item);_visitables.get("initContainers").remove(builder); this.initContainers.remove(builder);} return (A)this;
  }
  public A removeMatchingFromInitContainers(Predicate predicate) {
    if (initContainers == null) return (A) this;
    final Iterator each = initContainers.iterator();
    final List visitables = _visitables.get("initContainers");
    while (each.hasNext()) {
      ContainerBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A)this;
  }
  public List buildInitContainers() {
    return initContainers != null ? build(initContainers) : null;
  }
  public Container buildInitContainer(int index) {
    return this.initContainers.get(index).build();
  }
  public Container buildFirstInitContainer() {
    return this.initContainers.get(0).build();
  }
  public Container buildLastInitContainer() {
    return this.initContainers.get(initContainers.size() - 1).build();
  }
  public Container buildMatchingInitContainer(Predicate predicate) {
    for (ContainerBuilder item: initContainers) { if(predicate.test(item)){ return item.build();} } return null;
  }
  public boolean hasMatchingInitContainer(Predicate predicate) {
    for (ContainerBuilder item: initContainers) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withInitContainers(List initContainers) {
    if (this.initContainers != null) { _visitables.get("initContainers").clear();}
    if (initContainers != null) {this.initContainers = new ArrayList(); for (Container item : initContainers){this.addToInitContainers(item);}} else { this.initContainers = null;} return (A) this;
  }
  public A withInitContainers(io.fabric8.kubernetes.api.model.Container... initContainers) {
    if (this.initContainers != null) {this.initContainers.clear(); _visitables.remove("initContainers"); }
    if (initContainers != null) {for (Container item :initContainers){ this.addToInitContainers(item);}} return (A) this;
  }
  public boolean hasInitContainers() {
    return initContainers != null && !initContainers.isEmpty();
  }
  public InitContainersNested addNewInitContainer() {
    return new InitContainersNested(-1, null);
  }
  public InitContainersNested addNewInitContainerLike(Container item) {
    return new InitContainersNested(-1, item);
  }
  public InitContainersNested setNewInitContainerLike(int index,Container item) {
    return new InitContainersNested(index, item);
  }
  public InitContainersNested editInitContainer(int index) {
    if (initContainers.size() <= index) throw new RuntimeException("Can't edit initContainers. Index exceeds size.");
    return setNewInitContainerLike(index, buildInitContainer(index));
  }
  public InitContainersNested editFirstInitContainer() {
    if (initContainers.size() == 0) throw new RuntimeException("Can't edit first initContainers. The list is empty.");
    return setNewInitContainerLike(0, buildInitContainer(0));
  }
  public InitContainersNested editLastInitContainer() {
    int index = initContainers.size() - 1;
    if (index < 0) throw new RuntimeException("Can't edit last initContainers. The list is empty.");
    return setNewInitContainerLike(index, buildInitContainer(index));
  }
  public InitContainersNested editMatchingInitContainer(Predicate predicate) {
    int index = -1;
    for (int i=0;i map) {
    if(this.nodeSelector == null && map != null) { this.nodeSelector = new LinkedHashMap(); }
    if(map != null) { this.nodeSelector.putAll(map);} return (A)this;
  }
  public A removeFromNodeSelector(String key) {
    if(this.nodeSelector == null) { return (A) this; }
    if(key != null && this.nodeSelector != null) {this.nodeSelector.remove(key);} return (A)this;
  }
  public A removeFromNodeSelector(Map map) {
    if(this.nodeSelector == null) { return (A) this; }
    if(map != null) { for(Object key : map.keySet()) {if (this.nodeSelector != null){this.nodeSelector.remove(key);}}} return (A)this;
  }
  public Map getNodeSelector() {
    return this.nodeSelector;
  }
  public A withNodeSelector(Map nodeSelector) {
    if (nodeSelector == null) { this.nodeSelector =  null;} else {this.nodeSelector = new LinkedHashMap(nodeSelector);} return (A) this;
  }
  public boolean hasNodeSelector() {
    return this.nodeSelector != null;
  }
  public PodOS getOs() {
    return this.os;
  }
  public A withOs(PodOS os) {
    this.os=os; return (A) this;
  }
  public boolean hasOs() {
    return this.os != null;
  }
  public A withNewOs(String name) {
    return (A)withOs(new PodOS(name));
  }
  public A addToOverhead(String key,Quantity value) {
    if(this.overhead == null && key != null && value != null) { this.overhead = new LinkedHashMap(); }
    if(key != null && value != null) {this.overhead.put(key, value);} return (A)this;
  }
  public A addToOverhead(Map map) {
    if(this.overhead == null && map != null) { this.overhead = new LinkedHashMap(); }
    if(map != null) { this.overhead.putAll(map);} return (A)this;
  }
  public A removeFromOverhead(String key) {
    if(this.overhead == null) { return (A) this; }
    if(key != null && this.overhead != null) {this.overhead.remove(key);} return (A)this;
  }
  public A removeFromOverhead(Map map) {
    if(this.overhead == null) { return (A) this; }
    if(map != null) { for(Object key : map.keySet()) {if (this.overhead != null){this.overhead.remove(key);}}} return (A)this;
  }
  public Map getOverhead() {
    return this.overhead;
  }
  public A withOverhead(Map overhead) {
    if (overhead == null) { this.overhead =  null;} else {this.overhead = new LinkedHashMap(overhead);} return (A) this;
  }
  public boolean hasOverhead() {
    return this.overhead != null;
  }
  public String getPreemptionPolicy() {
    return this.preemptionPolicy;
  }
  public A withPreemptionPolicy(String preemptionPolicy) {
    this.preemptionPolicy=preemptionPolicy; return (A) this;
  }
  public boolean hasPreemptionPolicy() {
    return this.preemptionPolicy != null;
  }
  public Integer getPriority() {
    return this.priority;
  }
  public A withPriority(Integer priority) {
    this.priority=priority; return (A) this;
  }
  public boolean hasPriority() {
    return this.priority != null;
  }
  public String getPriorityClassName() {
    return this.priorityClassName;
  }
  public A withPriorityClassName(String priorityClassName) {
    this.priorityClassName=priorityClassName; return (A) this;
  }
  public boolean hasPriorityClassName() {
    return this.priorityClassName != null;
  }
  public A addToReadinessGates(int index,PodReadinessGate item) {
    if (this.readinessGates == null) {this.readinessGates = new ArrayList();}
    this.readinessGates.add(index, item);
    return (A)this;
  }
  public A setToReadinessGates(int index,PodReadinessGate item) {
    if (this.readinessGates == null) {this.readinessGates = new ArrayList();}
    this.readinessGates.set(index, item); return (A)this;
  }
  public A addToReadinessGates(io.fabric8.kubernetes.api.model.PodReadinessGate... items) {
    if (this.readinessGates == null) {this.readinessGates = new ArrayList();}
    for (PodReadinessGate item : items) {this.readinessGates.add(item);} return (A)this;
  }
  public A addAllToReadinessGates(Collection items) {
    if (this.readinessGates == null) {this.readinessGates = new ArrayList();}
    for (PodReadinessGate item : items) {this.readinessGates.add(item);} return (A)this;
  }
  public A removeFromReadinessGates(io.fabric8.kubernetes.api.model.PodReadinessGate... items) {
    if (this.readinessGates == null) return (A)this;
    for (PodReadinessGate item : items) { this.readinessGates.remove(item);} return (A)this;
  }
  public A removeAllFromReadinessGates(Collection items) {
    if (this.readinessGates == null) return (A)this;
    for (PodReadinessGate item : items) { this.readinessGates.remove(item);} return (A)this;
  }
  public List getReadinessGates() {
    return this.readinessGates;
  }
  public PodReadinessGate getReadinessGate(int index) {
    return this.readinessGates.get(index);
  }
  public PodReadinessGate getFirstReadinessGate() {
    return this.readinessGates.get(0);
  }
  public PodReadinessGate getLastReadinessGate() {
    return this.readinessGates.get(readinessGates.size() - 1);
  }
  public PodReadinessGate getMatchingReadinessGate(Predicate predicate) {
    for (PodReadinessGate item: readinessGates) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingReadinessGate(Predicate predicate) {
    for (PodReadinessGate item: readinessGates) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withReadinessGates(List readinessGates) {
    if (readinessGates != null) {this.readinessGates = new ArrayList(); for (PodReadinessGate item : readinessGates){this.addToReadinessGates(item);}} else { this.readinessGates = null;} return (A) this;
  }
  public A withReadinessGates(io.fabric8.kubernetes.api.model.PodReadinessGate... readinessGates) {
    if (this.readinessGates != null) {this.readinessGates.clear(); _visitables.remove("readinessGates"); }
    if (readinessGates != null) {for (PodReadinessGate item :readinessGates){ this.addToReadinessGates(item);}} return (A) this;
  }
  public boolean hasReadinessGates() {
    return readinessGates != null && !readinessGates.isEmpty();
  }
  public A addNewReadinessGate(String conditionType) {
    return (A)addToReadinessGates(new PodReadinessGate(conditionType));
  }
  public A addToResourceClaims(int index,PodResourceClaim item) {
    if (this.resourceClaims == null) {this.resourceClaims = new ArrayList();}
    this.resourceClaims.add(index, item);
    return (A)this;
  }
  public A setToResourceClaims(int index,PodResourceClaim item) {
    if (this.resourceClaims == null) {this.resourceClaims = new ArrayList();}
    this.resourceClaims.set(index, item); return (A)this;
  }
  public A addToResourceClaims(io.fabric8.kubernetes.api.model.PodResourceClaim... items) {
    if (this.resourceClaims == null) {this.resourceClaims = new ArrayList();}
    for (PodResourceClaim item : items) {this.resourceClaims.add(item);} return (A)this;
  }
  public A addAllToResourceClaims(Collection items) {
    if (this.resourceClaims == null) {this.resourceClaims = new ArrayList();}
    for (PodResourceClaim item : items) {this.resourceClaims.add(item);} return (A)this;
  }
  public A removeFromResourceClaims(io.fabric8.kubernetes.api.model.PodResourceClaim... items) {
    if (this.resourceClaims == null) return (A)this;
    for (PodResourceClaim item : items) { this.resourceClaims.remove(item);} return (A)this;
  }
  public A removeAllFromResourceClaims(Collection items) {
    if (this.resourceClaims == null) return (A)this;
    for (PodResourceClaim item : items) { this.resourceClaims.remove(item);} return (A)this;
  }
  public List getResourceClaims() {
    return this.resourceClaims;
  }
  public PodResourceClaim getResourceClaim(int index) {
    return this.resourceClaims.get(index);
  }
  public PodResourceClaim getFirstResourceClaim() {
    return this.resourceClaims.get(0);
  }
  public PodResourceClaim getLastResourceClaim() {
    return this.resourceClaims.get(resourceClaims.size() - 1);
  }
  public PodResourceClaim getMatchingResourceClaim(Predicate predicate) {
    for (PodResourceClaim item: resourceClaims) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingResourceClaim(Predicate predicate) {
    for (PodResourceClaim item: resourceClaims) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withResourceClaims(List resourceClaims) {
    if (resourceClaims != null) {this.resourceClaims = new ArrayList(); for (PodResourceClaim item : resourceClaims){this.addToResourceClaims(item);}} else { this.resourceClaims = null;} return (A) this;
  }
  public A withResourceClaims(io.fabric8.kubernetes.api.model.PodResourceClaim... resourceClaims) {
    if (this.resourceClaims != null) {this.resourceClaims.clear(); _visitables.remove("resourceClaims"); }
    if (resourceClaims != null) {for (PodResourceClaim item :resourceClaims){ this.addToResourceClaims(item);}} return (A) this;
  }
  public boolean hasResourceClaims() {
    return resourceClaims != null && !resourceClaims.isEmpty();
  }
  public Long getResponseStartTimeoutSeconds() {
    return this.responseStartTimeoutSeconds;
  }
  public A withResponseStartTimeoutSeconds(Long responseStartTimeoutSeconds) {
    this.responseStartTimeoutSeconds=responseStartTimeoutSeconds; return (A) this;
  }
  public boolean hasResponseStartTimeoutSeconds() {
    return this.responseStartTimeoutSeconds != null;
  }
  public String getRestartPolicy() {
    return this.restartPolicy;
  }
  public A withRestartPolicy(String restartPolicy) {
    this.restartPolicy=restartPolicy; return (A) this;
  }
  public boolean hasRestartPolicy() {
    return this.restartPolicy != null;
  }
  public String getRuntimeClassName() {
    return this.runtimeClassName;
  }
  public A withRuntimeClassName(String runtimeClassName) {
    this.runtimeClassName=runtimeClassName; return (A) this;
  }
  public boolean hasRuntimeClassName() {
    return this.runtimeClassName != null;
  }
  public String getSchedulerName() {
    return this.schedulerName;
  }
  public A withSchedulerName(String schedulerName) {
    this.schedulerName=schedulerName; return (A) this;
  }
  public boolean hasSchedulerName() {
    return this.schedulerName != null;
  }
  public A addToSchedulingGates(int index,PodSchedulingGate item) {
    if (this.schedulingGates == null) {this.schedulingGates = new ArrayList();}
    this.schedulingGates.add(index, item);
    return (A)this;
  }
  public A setToSchedulingGates(int index,PodSchedulingGate item) {
    if (this.schedulingGates == null) {this.schedulingGates = new ArrayList();}
    this.schedulingGates.set(index, item); return (A)this;
  }
  public A addToSchedulingGates(io.fabric8.kubernetes.api.model.PodSchedulingGate... items) {
    if (this.schedulingGates == null) {this.schedulingGates = new ArrayList();}
    for (PodSchedulingGate item : items) {this.schedulingGates.add(item);} return (A)this;
  }
  public A addAllToSchedulingGates(Collection items) {
    if (this.schedulingGates == null) {this.schedulingGates = new ArrayList();}
    for (PodSchedulingGate item : items) {this.schedulingGates.add(item);} return (A)this;
  }
  public A removeFromSchedulingGates(io.fabric8.kubernetes.api.model.PodSchedulingGate... items) {
    if (this.schedulingGates == null) return (A)this;
    for (PodSchedulingGate item : items) { this.schedulingGates.remove(item);} return (A)this;
  }
  public A removeAllFromSchedulingGates(Collection items) {
    if (this.schedulingGates == null) return (A)this;
    for (PodSchedulingGate item : items) { this.schedulingGates.remove(item);} return (A)this;
  }
  public List getSchedulingGates() {
    return this.schedulingGates;
  }
  public PodSchedulingGate getSchedulingGate(int index) {
    return this.schedulingGates.get(index);
  }
  public PodSchedulingGate getFirstSchedulingGate() {
    return this.schedulingGates.get(0);
  }
  public PodSchedulingGate getLastSchedulingGate() {
    return this.schedulingGates.get(schedulingGates.size() - 1);
  }
  public PodSchedulingGate getMatchingSchedulingGate(Predicate predicate) {
    for (PodSchedulingGate item: schedulingGates) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingSchedulingGate(Predicate predicate) {
    for (PodSchedulingGate item: schedulingGates) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withSchedulingGates(List schedulingGates) {
    if (schedulingGates != null) {this.schedulingGates = new ArrayList(); for (PodSchedulingGate item : schedulingGates){this.addToSchedulingGates(item);}} else { this.schedulingGates = null;} return (A) this;
  }
  public A withSchedulingGates(io.fabric8.kubernetes.api.model.PodSchedulingGate... schedulingGates) {
    if (this.schedulingGates != null) {this.schedulingGates.clear(); _visitables.remove("schedulingGates"); }
    if (schedulingGates != null) {for (PodSchedulingGate item :schedulingGates){ this.addToSchedulingGates(item);}} return (A) this;
  }
  public boolean hasSchedulingGates() {
    return schedulingGates != null && !schedulingGates.isEmpty();
  }
  public A addNewSchedulingGate(String name) {
    return (A)addToSchedulingGates(new PodSchedulingGate(name));
  }
  public PodSecurityContext getSecurityContext() {
    return this.securityContext;
  }
  public A withSecurityContext(PodSecurityContext securityContext) {
    this.securityContext=securityContext; return (A) this;
  }
  public boolean hasSecurityContext() {
    return this.securityContext != null;
  }
  public String getServiceAccount() {
    return this.serviceAccount;
  }
  public A withServiceAccount(String serviceAccount) {
    this.serviceAccount=serviceAccount; return (A) this;
  }
  public boolean hasServiceAccount() {
    return this.serviceAccount != null;
  }
  public String getServiceAccountName() {
    return this.serviceAccountName;
  }
  public A withServiceAccountName(String serviceAccountName) {
    this.serviceAccountName=serviceAccountName; return (A) this;
  }
  public boolean hasServiceAccountName() {
    return this.serviceAccountName != null;
  }
  public Boolean getSetHostnameAsFQDN() {
    return this.setHostnameAsFQDN;
  }
  public A withSetHostnameAsFQDN(Boolean setHostnameAsFQDN) {
    this.setHostnameAsFQDN=setHostnameAsFQDN; return (A) this;
  }
  public boolean hasSetHostnameAsFQDN() {
    return this.setHostnameAsFQDN != null;
  }
  public Boolean getShareProcessNamespace() {
    return this.shareProcessNamespace;
  }
  public A withShareProcessNamespace(Boolean shareProcessNamespace) {
    this.shareProcessNamespace=shareProcessNamespace; return (A) this;
  }
  public boolean hasShareProcessNamespace() {
    return this.shareProcessNamespace != null;
  }
  public String getSubdomain() {
    return this.subdomain;
  }
  public A withSubdomain(String subdomain) {
    this.subdomain=subdomain; return (A) this;
  }
  public boolean hasSubdomain() {
    return this.subdomain != null;
  }
  public Long getTerminationGracePeriodSeconds() {
    return this.terminationGracePeriodSeconds;
  }
  public A withTerminationGracePeriodSeconds(Long terminationGracePeriodSeconds) {
    this.terminationGracePeriodSeconds=terminationGracePeriodSeconds; return (A) this;
  }
  public boolean hasTerminationGracePeriodSeconds() {
    return this.terminationGracePeriodSeconds != null;
  }
  public Long getTimeoutSeconds() {
    return this.timeoutSeconds;
  }
  public A withTimeoutSeconds(Long timeoutSeconds) {
    this.timeoutSeconds=timeoutSeconds; return (A) this;
  }
  public boolean hasTimeoutSeconds() {
    return this.timeoutSeconds != null;
  }
  public A addToTolerations(int index,Toleration item) {
    if (this.tolerations == null) {this.tolerations = new ArrayList();}
    this.tolerations.add(index, item);
    return (A)this;
  }
  public A setToTolerations(int index,Toleration item) {
    if (this.tolerations == null) {this.tolerations = new ArrayList();}
    this.tolerations.set(index, item); return (A)this;
  }
  public A addToTolerations(io.fabric8.kubernetes.api.model.Toleration... items) {
    if (this.tolerations == null) {this.tolerations = new ArrayList();}
    for (Toleration item : items) {this.tolerations.add(item);} return (A)this;
  }
  public A addAllToTolerations(Collection items) {
    if (this.tolerations == null) {this.tolerations = new ArrayList();}
    for (Toleration item : items) {this.tolerations.add(item);} return (A)this;
  }
  public A removeFromTolerations(io.fabric8.kubernetes.api.model.Toleration... items) {
    if (this.tolerations == null) return (A)this;
    for (Toleration item : items) { this.tolerations.remove(item);} return (A)this;
  }
  public A removeAllFromTolerations(Collection items) {
    if (this.tolerations == null) return (A)this;
    for (Toleration item : items) { this.tolerations.remove(item);} return (A)this;
  }
  public List getTolerations() {
    return this.tolerations;
  }
  public Toleration getToleration(int index) {
    return this.tolerations.get(index);
  }
  public Toleration getFirstToleration() {
    return this.tolerations.get(0);
  }
  public Toleration getLastToleration() {
    return this.tolerations.get(tolerations.size() - 1);
  }
  public Toleration getMatchingToleration(Predicate predicate) {
    for (Toleration item: tolerations) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingToleration(Predicate predicate) {
    for (Toleration item: tolerations) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withTolerations(List tolerations) {
    if (tolerations != null) {this.tolerations = new ArrayList(); for (Toleration item : tolerations){this.addToTolerations(item);}} else { this.tolerations = null;} return (A) this;
  }
  public A withTolerations(io.fabric8.kubernetes.api.model.Toleration... tolerations) {
    if (this.tolerations != null) {this.tolerations.clear(); _visitables.remove("tolerations"); }
    if (tolerations != null) {for (Toleration item :tolerations){ this.addToTolerations(item);}} return (A) this;
  }
  public boolean hasTolerations() {
    return tolerations != null && !tolerations.isEmpty();
  }
  public A addNewToleration(String effect,String key,String operator,Long tolerationSeconds,String value) {
    return (A)addToTolerations(new Toleration(effect, key, operator, tolerationSeconds, value));
  }
  public A addToTopologySpreadConstraints(int index,TopologySpreadConstraint item) {
    if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new ArrayList();}
    this.topologySpreadConstraints.add(index, item);
    return (A)this;
  }
  public A setToTopologySpreadConstraints(int index,TopologySpreadConstraint item) {
    if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new ArrayList();}
    this.topologySpreadConstraints.set(index, item); return (A)this;
  }
  public A addToTopologySpreadConstraints(io.fabric8.kubernetes.api.model.TopologySpreadConstraint... items) {
    if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new ArrayList();}
    for (TopologySpreadConstraint item : items) {this.topologySpreadConstraints.add(item);} return (A)this;
  }
  public A addAllToTopologySpreadConstraints(Collection items) {
    if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new ArrayList();}
    for (TopologySpreadConstraint item : items) {this.topologySpreadConstraints.add(item);} return (A)this;
  }
  public A removeFromTopologySpreadConstraints(io.fabric8.kubernetes.api.model.TopologySpreadConstraint... items) {
    if (this.topologySpreadConstraints == null) return (A)this;
    for (TopologySpreadConstraint item : items) { this.topologySpreadConstraints.remove(item);} return (A)this;
  }
  public A removeAllFromTopologySpreadConstraints(Collection items) {
    if (this.topologySpreadConstraints == null) return (A)this;
    for (TopologySpreadConstraint item : items) { this.topologySpreadConstraints.remove(item);} return (A)this;
  }
  public List getTopologySpreadConstraints() {
    return this.topologySpreadConstraints;
  }
  public TopologySpreadConstraint getTopologySpreadConstraint(int index) {
    return this.topologySpreadConstraints.get(index);
  }
  public TopologySpreadConstraint getFirstTopologySpreadConstraint() {
    return this.topologySpreadConstraints.get(0);
  }
  public TopologySpreadConstraint getLastTopologySpreadConstraint() {
    return this.topologySpreadConstraints.get(topologySpreadConstraints.size() - 1);
  }
  public TopologySpreadConstraint getMatchingTopologySpreadConstraint(Predicate predicate) {
    for (TopologySpreadConstraint item: topologySpreadConstraints) { if(predicate.test(item)){ return item;} } return null;
  }
  public boolean hasMatchingTopologySpreadConstraint(Predicate predicate) {
    for (TopologySpreadConstraint item: topologySpreadConstraints) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withTopologySpreadConstraints(List topologySpreadConstraints) {
    if (topologySpreadConstraints != null) {this.topologySpreadConstraints = new ArrayList(); for (TopologySpreadConstraint item : topologySpreadConstraints){this.addToTopologySpreadConstraints(item);}} else { this.topologySpreadConstraints = null;} return (A) this;
  }
  public A withTopologySpreadConstraints(io.fabric8.kubernetes.api.model.TopologySpreadConstraint... topologySpreadConstraints) {
    if (this.topologySpreadConstraints != null) {this.topologySpreadConstraints.clear(); _visitables.remove("topologySpreadConstraints"); }
    if (topologySpreadConstraints != null) {for (TopologySpreadConstraint item :topologySpreadConstraints){ this.addToTopologySpreadConstraints(item);}} return (A) this;
  }
  public boolean hasTopologySpreadConstraints() {
    return topologySpreadConstraints != null && !topologySpreadConstraints.isEmpty();
  }
  public A addToVolumes(int index,Volume item) {
    if (this.volumes == null) {this.volumes = new ArrayList();}
    VolumeBuilder builder = new VolumeBuilder(item);
    if (index < 0 || index >= volumes.size()) { _visitables.get("volumes").add(builder); volumes.add(builder); } else { _visitables.get("volumes").add(index, builder); volumes.add(index, builder);}
    return (A)this;
  }
  public A setToVolumes(int index,Volume item) {
    if (this.volumes == null) {this.volumes = new ArrayList();}
    VolumeBuilder builder = new VolumeBuilder(item);
    if (index < 0 || index >= volumes.size()) { _visitables.get("volumes").add(builder); volumes.add(builder); } else { _visitables.get("volumes").set(index, builder); volumes.set(index, builder);}
    return (A)this;
  }
  public A addToVolumes(io.fabric8.kubernetes.api.model.Volume... items) {
    if (this.volumes == null) {this.volumes = new ArrayList();}
    for (Volume item : items) {VolumeBuilder builder = new VolumeBuilder(item);_visitables.get("volumes").add(builder);this.volumes.add(builder);} return (A)this;
  }
  public A addAllToVolumes(Collection items) {
    if (this.volumes == null) {this.volumes = new ArrayList();}
    for (Volume item : items) {VolumeBuilder builder = new VolumeBuilder(item);_visitables.get("volumes").add(builder);this.volumes.add(builder);} return (A)this;
  }
  public A removeFromVolumes(io.fabric8.kubernetes.api.model.Volume... items) {
    if (this.volumes == null) return (A)this;
    for (Volume item : items) {VolumeBuilder builder = new VolumeBuilder(item);_visitables.get("volumes").remove(builder); this.volumes.remove(builder);} return (A)this;
  }
  public A removeAllFromVolumes(Collection items) {
    if (this.volumes == null) return (A)this;
    for (Volume item : items) {VolumeBuilder builder = new VolumeBuilder(item);_visitables.get("volumes").remove(builder); this.volumes.remove(builder);} return (A)this;
  }
  public A removeMatchingFromVolumes(Predicate predicate) {
    if (volumes == null) return (A) this;
    final Iterator each = volumes.iterator();
    final List visitables = _visitables.get("volumes");
    while (each.hasNext()) {
      VolumeBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A)this;
  }
  public List buildVolumes() {
    return volumes != null ? build(volumes) : null;
  }
  public Volume buildVolume(int index) {
    return this.volumes.get(index).build();
  }
  public Volume buildFirstVolume() {
    return this.volumes.get(0).build();
  }
  public Volume buildLastVolume() {
    return this.volumes.get(volumes.size() - 1).build();
  }
  public Volume buildMatchingVolume(Predicate predicate) {
    for (VolumeBuilder item: volumes) { if(predicate.test(item)){ return item.build();} } return null;
  }
  public boolean hasMatchingVolume(Predicate predicate) {
    for (VolumeBuilder item: volumes) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withVolumes(List volumes) {
    if (this.volumes != null) { _visitables.get("volumes").clear();}
    if (volumes != null) {this.volumes = new ArrayList(); for (Volume item : volumes){this.addToVolumes(item);}} else { this.volumes = null;} return (A) this;
  }
  public A withVolumes(io.fabric8.kubernetes.api.model.Volume... volumes) {
    if (this.volumes != null) {this.volumes.clear(); _visitables.remove("volumes"); }
    if (volumes != null) {for (Volume item :volumes){ this.addToVolumes(item);}} return (A) this;
  }
  public boolean hasVolumes() {
    return volumes != null && !volumes.isEmpty();
  }
  public VolumesNested addNewVolume() {
    return new VolumesNested(-1, null);
  }
  public VolumesNested addNewVolumeLike(Volume item) {
    return new VolumesNested(-1, item);
  }
  public VolumesNested setNewVolumeLike(int index,Volume item) {
    return new VolumesNested(index, item);
  }
  public VolumesNested editVolume(int index) {
    if (volumes.size() <= index) throw new RuntimeException("Can't edit volumes. Index exceeds size.");
    return setNewVolumeLike(index, buildVolume(index));
  }
  public VolumesNested editFirstVolume() {
    if (volumes.size() == 0) throw new RuntimeException("Can't edit first volumes. The list is empty.");
    return setNewVolumeLike(0, buildVolume(0));
  }
  public VolumesNested editLastVolume() {
    int index = volumes.size() - 1;
    if (index < 0) throw new RuntimeException("Can't edit last volumes. The list is empty.");
    return setNewVolumeLike(index, buildVolume(index));
  }
  public VolumesNested editMatchingVolume(Predicate predicate) {
    int index = -1;
    for (int i=0;i extends ContainerFluent> implements Nested{
    ContainersNested(int index,Container item) {
      this.index = index;
      this.builder = new ContainerBuilder(this, item);
    }
    ContainerBuilder builder;
    int index;
    public N and() {
      return (N) RevisionSpecFluent.this.setToContainers(index,builder.build());
    }
    public N endContainer() {
      return and();
    }
    
  }
  public class ImagePullSecretsNested extends LocalObjectReferenceFluent> implements Nested{
    ImagePullSecretsNested(int index,LocalObjectReference item) {
      this.index = index;
      this.builder = new LocalObjectReferenceBuilder(this, item);
    }
    LocalObjectReferenceBuilder builder;
    int index;
    public N and() {
      return (N) RevisionSpecFluent.this.setToImagePullSecrets(index,builder.build());
    }
    public N endImagePullSecret() {
      return and();
    }
    
  }
  public class InitContainersNested extends ContainerFluent> implements Nested{
    InitContainersNested(int index,Container item) {
      this.index = index;
      this.builder = new ContainerBuilder(this, item);
    }
    ContainerBuilder builder;
    int index;
    public N and() {
      return (N) RevisionSpecFluent.this.setToInitContainers(index,builder.build());
    }
    public N endInitContainer() {
      return and();
    }
    
  }
  public class VolumesNested extends VolumeFluent> implements Nested{
    VolumesNested(int index,Volume item) {
      this.index = index;
      this.builder = new VolumeBuilder(this, item);
    }
    VolumeBuilder builder;
    int index;
    public N and() {
      return (N) RevisionSpecFluent.this.setToVolumes(index,builder.build());
    }
    public N endVolume() {
      return and();
    }
    
  }
  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy