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

annotations.io.fabric8.knative.serving.v1.RevisionSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.serving.v1;

import io.fabric8.kubernetes.api.builder.VisitableBuilder;
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.ContainerBuilder;
import java.lang.Deprecated;
import io.fabric8.kubernetes.api.model.PodDNSConfig;
import io.fabric8.kubernetes.api.model.VolumeFluentImpl;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.util.Iterator;
import java.util.List;
import java.lang.Boolean;
import io.fabric8.kubernetes.api.model.PodSecurityContext;
import io.fabric8.kubernetes.api.model.Quantity;
import io.fabric8.kubernetes.api.model.ContainerFluentImpl;
import io.fabric8.kubernetes.api.model.PodReadinessGate;
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;

public class RevisionSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements io.fabric8.knative.serving.v1.RevisionSpecFluent {

    private java.lang.Long activeDeadlineSeconds;
    private io.fabric8.kubernetes.api.model.Affinity affinity;
    private java.lang.Boolean automountServiceAccountToken;
    private java.lang.Long containerConcurrency;
    private java.util.List containers;
    private io.fabric8.kubernetes.api.model.PodDNSConfig dnsConfig;
    private java.lang.String dnsPolicy;
    private java.lang.Boolean enableServiceLinks;
    private java.util.List ephemeralContainers;
    private java.util.List hostAliases;
    private java.lang.Boolean hostIPC;
    private java.lang.Boolean hostNetwork;
    private java.lang.Boolean hostPID;
    private java.lang.String hostname;
    private java.util.List imagePullSecrets;
    private java.util.List initContainers;
    private java.lang.String nodeName;
    private java.util.Map nodeSelector;
    private java.util.Map overhead;
    private java.lang.String preemptionPolicy;
    private java.lang.Integer priority;
    private java.lang.String priorityClassName;
    private java.util.List readinessGates;
    private java.lang.String restartPolicy;
    private java.lang.String runtimeClassName;
    private java.lang.String schedulerName;
    private io.fabric8.kubernetes.api.model.PodSecurityContext securityContext;
    private java.lang.String serviceAccount;
    private java.lang.String serviceAccountName;
    private java.lang.Boolean shareProcessNamespace;
    private java.lang.String subdomain;
    private java.lang.Long terminationGracePeriodSeconds;
    private java.lang.Long timeoutSeconds;
    private java.util.List tolerations;
    private java.util.List topologySpreadConstraints;
    private java.util.List volumes;

    public RevisionSpecFluentImpl() {
    }

    public RevisionSpecFluentImpl(io.fabric8.knative.serving.v1.RevisionSpec instance) {
        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.withHostname(instance.getHostname()); 
        this.withImagePullSecrets(instance.getImagePullSecrets()); 
        this.withInitContainers(instance.getInitContainers()); 
        this.withNodeName(instance.getNodeName()); 
        this.withNodeSelector(instance.getNodeSelector()); 
        this.withOverhead(instance.getOverhead()); 
        this.withPreemptionPolicy(instance.getPreemptionPolicy()); 
        this.withPriority(instance.getPriority()); 
        this.withPriorityClassName(instance.getPriorityClassName()); 
        this.withReadinessGates(instance.getReadinessGates()); 
        this.withRestartPolicy(instance.getRestartPolicy()); 
        this.withRuntimeClassName(instance.getRuntimeClassName()); 
        this.withSchedulerName(instance.getSchedulerName()); 
        this.withSecurityContext(instance.getSecurityContext()); 
        this.withServiceAccount(instance.getServiceAccount()); 
        this.withServiceAccountName(instance.getServiceAccountName()); 
        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()); 
    }

    public java.lang.Long getActiveDeadlineSeconds() {
        return this.activeDeadlineSeconds;
    }

    public A withActiveDeadlineSeconds(java.lang.Long activeDeadlineSeconds) {
        this.activeDeadlineSeconds=activeDeadlineSeconds; return (A) this;
    }

    public java.lang.Boolean hasActiveDeadlineSeconds() {
        return this.activeDeadlineSeconds != null;
    }

    public io.fabric8.kubernetes.api.model.Affinity getAffinity() {
        return this.affinity;
    }

    public A withAffinity(io.fabric8.kubernetes.api.model.Affinity affinity) {
        this.affinity=affinity; return (A) this;
    }

    public java.lang.Boolean hasAffinity() {
        return this.affinity != null;
    }

    public java.lang.Boolean getAutomountServiceAccountToken() {
        return this.automountServiceAccountToken;
    }

    public A withAutomountServiceAccountToken(java.lang.Boolean automountServiceAccountToken) {
        this.automountServiceAccountToken=automountServiceAccountToken; return (A) this;
    }

    public java.lang.Boolean hasAutomountServiceAccountToken() {
        return this.automountServiceAccountToken != null;
    }

    public java.lang.Long getContainerConcurrency() {
        return this.containerConcurrency;
    }

    public A withContainerConcurrency(java.lang.Long containerConcurrency) {
        this.containerConcurrency=containerConcurrency; return (A) this;
    }

    public java.lang.Boolean hasContainerConcurrency() {
        return this.containerConcurrency != null;
    }

    public A addToContainers(int index,io.fabric8.kubernetes.api.model.Container item) {
        if (this.containers == null) {this.containers = new java.util.ArrayList();}
        io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("containers").add(index >= 0 ? index : _visitables.get("containers").size(), builder);this.containers.add(index >= 0 ? index : containers.size(), builder); return (A)this;
    }

    public A setToContainers(int index,io.fabric8.kubernetes.api.model.Container item) {
        if (this.containers == null) {this.containers = new java.util.ArrayList();}
        io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);
        if (index < 0 || index >= _visitables.get("containers").size()) { _visitables.get("containers").add(builder); } else { _visitables.get("containers").set(index, builder);}
        if (index < 0 || index >= containers.size()) { containers.add(builder); } else { containers.set(index, builder);}
         return (A)this;
    }

    public A addToContainers(io.fabric8.kubernetes.api.model.Container... items) {
        if (this.containers == null) {this.containers = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("containers").add(builder);this.containers.add(builder);} return (A)this;
    }

    public A addAllToContainers(java.util.Collection items) {
        if (this.containers == null) {this.containers = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("containers").add(builder);this.containers.add(builder);} return (A)this;
    }

    public A removeFromContainers(io.fabric8.kubernetes.api.model.Container... items) {
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("containers").remove(builder);if (this.containers != null) {this.containers.remove(builder);}} return (A)this;
    }

    public A removeAllFromContainers(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("containers").remove(builder);if (this.containers != null) {this.containers.remove(builder);}} return (A)this;
    }

    public A removeMatchingFromContainers(java.util.function.Predicate predicate) {
        if (containers == null) return (A) this;
        final Iterator each = containers.iterator();
        final List visitables = _visitables.get("containers");
        while (each.hasNext()) {
          io.fabric8.kubernetes.api.model.ContainerBuilder builder = each.next();
          if (predicate.test(builder)) {
            visitables.remove(builder);
            each.remove();
          }
        }
        return (A)this;
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildContainers instead.
     * @return The buildable object.
     */
        public java.util.List getContainers() {
        return build(containers);
    }

    public java.util.List buildContainers() {
        return build(containers);
    }

    public io.fabric8.kubernetes.api.model.Container buildContainer(int index) {
        return this.containers.get(index).build();
    }

    public io.fabric8.kubernetes.api.model.Container buildFirstContainer() {
        return this.containers.get(0).build();
    }

    public io.fabric8.kubernetes.api.model.Container buildLastContainer() {
        return this.containers.get(containers.size() - 1).build();
    }

    public io.fabric8.kubernetes.api.model.Container buildMatchingContainer(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.ContainerBuilder item: containers) { if(predicate.test(item)){ return item.build();} } return null;
    }

    public java.lang.Boolean hasMatchingContainer(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.ContainerBuilder item: containers) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withContainers(java.util.List containers) {
        if (this.containers != null) { _visitables.get("containers").removeAll(this.containers);}
        if (containers != null) {this.containers = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (containers != null) {for (io.fabric8.kubernetes.api.model.Container item :containers){ this.addToContainers(item);}} return (A) this;
    }

    public java.lang.Boolean hasContainers() {
        return containers != null && !containers.isEmpty();
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested addNewContainer() {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.ContainersNestedImpl();
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested addNewContainerLike(io.fabric8.kubernetes.api.model.Container item) {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.ContainersNestedImpl(-1, item);
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested setNewContainerLike(int index,io.fabric8.kubernetes.api.model.Container item) {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.ContainersNestedImpl(index, item);
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested editContainer(int index) {
        if (containers.size() <= index) throw new RuntimeException("Can't edit containers. Index exceeds size.");
        return setNewContainerLike(index, buildContainer(index));
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested editFirstContainer() {
        if (containers.size() == 0) throw new RuntimeException("Can't edit first containers. The list is empty.");
        return setNewContainerLike(0, buildContainer(0));
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.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 io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested editMatchingContainer(java.util.function.Predicate predicate) {
        int index = -1;
        for (int i=0;i();}
        this.ephemeralContainers.add(index, item);
        return (A)this;
    }

    public A setToEphemeralContainers(int index,io.fabric8.kubernetes.api.model.EphemeralContainer item) {
        if (this.ephemeralContainers == null) {this.ephemeralContainers = new java.util.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 java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.EphemeralContainer item : items) {this.ephemeralContainers.add(item);} return (A)this;
    }

    public A addAllToEphemeralContainers(java.util.Collection items) {
        if (this.ephemeralContainers == null) {this.ephemeralContainers = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.EphemeralContainer item : items) {this.ephemeralContainers.add(item);} return (A)this;
    }

    public A removeFromEphemeralContainers(io.fabric8.kubernetes.api.model.EphemeralContainer... items) {
        for (io.fabric8.kubernetes.api.model.EphemeralContainer item : items) {if (this.ephemeralContainers!= null){ this.ephemeralContainers.remove(item);}} return (A)this;
    }

    public A removeAllFromEphemeralContainers(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.EphemeralContainer item : items) {if (this.ephemeralContainers!= null){ this.ephemeralContainers.remove(item);}} return (A)this;
    }

    public java.util.List getEphemeralContainers() {
        return this.ephemeralContainers;
    }

    public io.fabric8.kubernetes.api.model.EphemeralContainer getEphemeralContainer(int index) {
        return this.ephemeralContainers.get(index);
    }

    public io.fabric8.kubernetes.api.model.EphemeralContainer getFirstEphemeralContainer() {
        return this.ephemeralContainers.get(0);
    }

    public io.fabric8.kubernetes.api.model.EphemeralContainer getLastEphemeralContainer() {
        return this.ephemeralContainers.get(ephemeralContainers.size() - 1);
    }

    public io.fabric8.kubernetes.api.model.EphemeralContainer getMatchingEphemeralContainer(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.EphemeralContainer item: ephemeralContainers) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingEphemeralContainer(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.EphemeralContainer item: ephemeralContainers) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withEphemeralContainers(java.util.List ephemeralContainers) {
        if (this.ephemeralContainers != null) { _visitables.get("ephemeralContainers").removeAll(this.ephemeralContainers);}
        if (ephemeralContainers != null) {this.ephemeralContainers = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (ephemeralContainers != null) {for (io.fabric8.kubernetes.api.model.EphemeralContainer item :ephemeralContainers){ this.addToEphemeralContainers(item);}} return (A) this;
    }

    public java.lang.Boolean hasEphemeralContainers() {
        return ephemeralContainers != null && !ephemeralContainers.isEmpty();
    }

    public A addToHostAliases(int index,io.fabric8.kubernetes.api.model.HostAlias item) {
        if (this.hostAliases == null) {this.hostAliases = new java.util.ArrayList();}
        this.hostAliases.add(index, item);
        return (A)this;
    }

    public A setToHostAliases(int index,io.fabric8.kubernetes.api.model.HostAlias item) {
        if (this.hostAliases == null) {this.hostAliases = new java.util.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 java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.HostAlias item : items) {this.hostAliases.add(item);} return (A)this;
    }

    public A addAllToHostAliases(java.util.Collection items) {
        if (this.hostAliases == null) {this.hostAliases = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.HostAlias item : items) {this.hostAliases.add(item);} return (A)this;
    }

    public A removeFromHostAliases(io.fabric8.kubernetes.api.model.HostAlias... items) {
        for (io.fabric8.kubernetes.api.model.HostAlias item : items) {if (this.hostAliases!= null){ this.hostAliases.remove(item);}} return (A)this;
    }

    public A removeAllFromHostAliases(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.HostAlias item : items) {if (this.hostAliases!= null){ this.hostAliases.remove(item);}} return (A)this;
    }

    public java.util.List getHostAliases() {
        return this.hostAliases;
    }

    public io.fabric8.kubernetes.api.model.HostAlias getHostAlias(int index) {
        return this.hostAliases.get(index);
    }

    public io.fabric8.kubernetes.api.model.HostAlias getFirstHostAlias() {
        return this.hostAliases.get(0);
    }

    public io.fabric8.kubernetes.api.model.HostAlias getLastHostAlias() {
        return this.hostAliases.get(hostAliases.size() - 1);
    }

    public io.fabric8.kubernetes.api.model.HostAlias getMatchingHostAlias(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.HostAlias item: hostAliases) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingHostAlias(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.HostAlias item: hostAliases) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withHostAliases(java.util.List hostAliases) {
        if (this.hostAliases != null) { _visitables.get("hostAliases").removeAll(this.hostAliases);}
        if (hostAliases != null) {this.hostAliases = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (hostAliases != null) {for (io.fabric8.kubernetes.api.model.HostAlias item :hostAliases){ this.addToHostAliases(item);}} return (A) this;
    }

    public java.lang.Boolean hasHostAliases() {
        return hostAliases != null && !hostAliases.isEmpty();
    }

    public java.lang.Boolean getHostIPC() {
        return this.hostIPC;
    }

    public A withHostIPC(java.lang.Boolean hostIPC) {
        this.hostIPC=hostIPC; return (A) this;
    }

    public java.lang.Boolean hasHostIPC() {
        return this.hostIPC != null;
    }

    public java.lang.Boolean getHostNetwork() {
        return this.hostNetwork;
    }

    public A withHostNetwork(java.lang.Boolean hostNetwork) {
        this.hostNetwork=hostNetwork; return (A) this;
    }

    public java.lang.Boolean hasHostNetwork() {
        return this.hostNetwork != null;
    }

    public java.lang.Boolean getHostPID() {
        return this.hostPID;
    }

    public A withHostPID(java.lang.Boolean hostPID) {
        this.hostPID=hostPID; return (A) this;
    }

    public java.lang.Boolean hasHostPID() {
        return this.hostPID != null;
    }

    public java.lang.String getHostname() {
        return this.hostname;
    }

    public A withHostname(java.lang.String hostname) {
        this.hostname=hostname; return (A) this;
    }

    public java.lang.Boolean hasHostname() {
        return this.hostname != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withHostname instead.
     */
        public A withNewHostname(java.lang.String arg0) {
        return (A)withHostname(new String(arg0));
    }

    public A addToImagePullSecrets(int index,io.fabric8.kubernetes.api.model.LocalObjectReference item) {
        if (this.imagePullSecrets == null) {this.imagePullSecrets = new java.util.ArrayList();}
        this.imagePullSecrets.add(index, item);
        return (A)this;
    }

    public A setToImagePullSecrets(int index,io.fabric8.kubernetes.api.model.LocalObjectReference item) {
        if (this.imagePullSecrets == null) {this.imagePullSecrets = new java.util.ArrayList();}
        this.imagePullSecrets.set(index, item); return (A)this;
    }

    public A addToImagePullSecrets(io.fabric8.kubernetes.api.model.LocalObjectReference... items) {
        if (this.imagePullSecrets == null) {this.imagePullSecrets = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.LocalObjectReference item : items) {this.imagePullSecrets.add(item);} return (A)this;
    }

    public A addAllToImagePullSecrets(java.util.Collection items) {
        if (this.imagePullSecrets == null) {this.imagePullSecrets = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.LocalObjectReference item : items) {this.imagePullSecrets.add(item);} return (A)this;
    }

    public A removeFromImagePullSecrets(io.fabric8.kubernetes.api.model.LocalObjectReference... items) {
        for (io.fabric8.kubernetes.api.model.LocalObjectReference item : items) {if (this.imagePullSecrets!= null){ this.imagePullSecrets.remove(item);}} return (A)this;
    }

    public A removeAllFromImagePullSecrets(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.LocalObjectReference item : items) {if (this.imagePullSecrets!= null){ this.imagePullSecrets.remove(item);}} return (A)this;
    }

    public java.util.List getImagePullSecrets() {
        return this.imagePullSecrets;
    }

    public io.fabric8.kubernetes.api.model.LocalObjectReference getImagePullSecret(int index) {
        return this.imagePullSecrets.get(index);
    }

    public io.fabric8.kubernetes.api.model.LocalObjectReference getFirstImagePullSecret() {
        return this.imagePullSecrets.get(0);
    }

    public io.fabric8.kubernetes.api.model.LocalObjectReference getLastImagePullSecret() {
        return this.imagePullSecrets.get(imagePullSecrets.size() - 1);
    }

    public io.fabric8.kubernetes.api.model.LocalObjectReference getMatchingImagePullSecret(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.LocalObjectReference item: imagePullSecrets) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingImagePullSecret(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.LocalObjectReference item: imagePullSecrets) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withImagePullSecrets(java.util.List imagePullSecrets) {
        if (this.imagePullSecrets != null) { _visitables.get("imagePullSecrets").removeAll(this.imagePullSecrets);}
        if (imagePullSecrets != null) {this.imagePullSecrets = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (imagePullSecrets != null) {for (io.fabric8.kubernetes.api.model.LocalObjectReference item :imagePullSecrets){ this.addToImagePullSecrets(item);}} return (A) this;
    }

    public java.lang.Boolean hasImagePullSecrets() {
        return imagePullSecrets != null && !imagePullSecrets.isEmpty();
    }

    public A addNewImagePullSecret(java.lang.String name) {
        return (A)addToImagePullSecrets(new LocalObjectReference(name));
    }

    public A addToInitContainers(int index,io.fabric8.kubernetes.api.model.Container item) {
        if (this.initContainers == null) {this.initContainers = new java.util.ArrayList();}
        io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("initContainers").add(index >= 0 ? index : _visitables.get("initContainers").size(), builder);this.initContainers.add(index >= 0 ? index : initContainers.size(), builder); return (A)this;
    }

    public A setToInitContainers(int index,io.fabric8.kubernetes.api.model.Container item) {
        if (this.initContainers == null) {this.initContainers = new java.util.ArrayList();}
        io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);
        if (index < 0 || index >= _visitables.get("initContainers").size()) { _visitables.get("initContainers").add(builder); } else { _visitables.get("initContainers").set(index, builder);}
        if (index < 0 || index >= initContainers.size()) { initContainers.add(builder); } else { initContainers.set(index, builder);}
         return (A)this;
    }

    public A addToInitContainers(io.fabric8.kubernetes.api.model.Container... items) {
        if (this.initContainers == null) {this.initContainers = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("initContainers").add(builder);this.initContainers.add(builder);} return (A)this;
    }

    public A addAllToInitContainers(java.util.Collection items) {
        if (this.initContainers == null) {this.initContainers = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("initContainers").add(builder);this.initContainers.add(builder);} return (A)this;
    }

    public A removeFromInitContainers(io.fabric8.kubernetes.api.model.Container... items) {
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("initContainers").remove(builder);if (this.initContainers != null) {this.initContainers.remove(builder);}} return (A)this;
    }

    public A removeAllFromInitContainers(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.Container item : items) {io.fabric8.kubernetes.api.model.ContainerBuilder builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(item);_visitables.get("initContainers").remove(builder);if (this.initContainers != null) {this.initContainers.remove(builder);}} return (A)this;
    }

    public A removeMatchingFromInitContainers(java.util.function.Predicate predicate) {
        if (initContainers == null) return (A) this;
        final Iterator each = initContainers.iterator();
        final List visitables = _visitables.get("initContainers");
        while (each.hasNext()) {
          io.fabric8.kubernetes.api.model.ContainerBuilder builder = each.next();
          if (predicate.test(builder)) {
            visitables.remove(builder);
            each.remove();
          }
        }
        return (A)this;
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildInitContainers instead.
     * @return The buildable object.
     */
        public java.util.List getInitContainers() {
        return build(initContainers);
    }

    public java.util.List buildInitContainers() {
        return build(initContainers);
    }

    public io.fabric8.kubernetes.api.model.Container buildInitContainer(int index) {
        return this.initContainers.get(index).build();
    }

    public io.fabric8.kubernetes.api.model.Container buildFirstInitContainer() {
        return this.initContainers.get(0).build();
    }

    public io.fabric8.kubernetes.api.model.Container buildLastInitContainer() {
        return this.initContainers.get(initContainers.size() - 1).build();
    }

    public io.fabric8.kubernetes.api.model.Container buildMatchingInitContainer(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.ContainerBuilder item: initContainers) { if(predicate.test(item)){ return item.build();} } return null;
    }

    public java.lang.Boolean hasMatchingInitContainer(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.ContainerBuilder item: initContainers) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withInitContainers(java.util.List initContainers) {
        if (this.initContainers != null) { _visitables.get("initContainers").removeAll(this.initContainers);}
        if (initContainers != null) {this.initContainers = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (initContainers != null) {for (io.fabric8.kubernetes.api.model.Container item :initContainers){ this.addToInitContainers(item);}} return (A) this;
    }

    public java.lang.Boolean hasInitContainers() {
        return initContainers != null && !initContainers.isEmpty();
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested addNewInitContainer() {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.InitContainersNestedImpl();
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested addNewInitContainerLike(io.fabric8.kubernetes.api.model.Container item) {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.InitContainersNestedImpl(-1, item);
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested setNewInitContainerLike(int index,io.fabric8.kubernetes.api.model.Container item) {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.InitContainersNestedImpl(index, item);
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested editInitContainer(int index) {
        if (initContainers.size() <= index) throw new RuntimeException("Can't edit initContainers. Index exceeds size.");
        return setNewInitContainerLike(index, buildInitContainer(index));
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested editFirstInitContainer() {
        if (initContainers.size() == 0) throw new RuntimeException("Can't edit first initContainers. The list is empty.");
        return setNewInitContainerLike(0, buildInitContainer(0));
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.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 io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested editMatchingInitContainer(java.util.function.Predicate predicate) {
        int index = -1;
        for (int i=0;i(); }
        if(key != null && value != null) {this.nodeSelector.put(key, value);} return (A)this;
    }

    public A addToNodeSelector(java.util.Map map) {
        if(this.nodeSelector == null && map != null) { this.nodeSelector = new java.util.LinkedHashMap(); }
        if(map != null) { this.nodeSelector.putAll(map);} return (A)this;
    }

    public A removeFromNodeSelector(java.lang.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(java.util.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 java.util.Map getNodeSelector() {
        return this.nodeSelector;
    }

    public A withNodeSelector(java.util.Map nodeSelector) {
        if (nodeSelector == null) { this.nodeSelector =  null;} else {this.nodeSelector = new java.util.LinkedHashMap(nodeSelector);} return (A) this;
    }

    public java.lang.Boolean hasNodeSelector() {
        return this.nodeSelector != null;
    }

    public A addToOverhead(java.lang.String key,io.fabric8.kubernetes.api.model.Quantity value) {
        if(this.overhead == null && key != null && value != null) { this.overhead = new java.util.LinkedHashMap(); }
        if(key != null && value != null) {this.overhead.put(key, value);} return (A)this;
    }

    public A addToOverhead(java.util.Map map) {
        if(this.overhead == null && map != null) { this.overhead = new java.util.LinkedHashMap(); }
        if(map != null) { this.overhead.putAll(map);} return (A)this;
    }

    public A removeFromOverhead(java.lang.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(java.util.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 java.util.Map getOverhead() {
        return this.overhead;
    }

    public A withOverhead(java.util.Map overhead) {
        if (overhead == null) { this.overhead =  null;} else {this.overhead = new java.util.LinkedHashMap(overhead);} return (A) this;
    }

    public java.lang.Boolean hasOverhead() {
        return this.overhead != null;
    }

    public java.lang.String getPreemptionPolicy() {
        return this.preemptionPolicy;
    }

    public A withPreemptionPolicy(java.lang.String preemptionPolicy) {
        this.preemptionPolicy=preemptionPolicy; return (A) this;
    }

    public java.lang.Boolean hasPreemptionPolicy() {
        return this.preemptionPolicy != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withPreemptionPolicy instead.
     */
        public A withNewPreemptionPolicy(java.lang.String arg0) {
        return (A)withPreemptionPolicy(new String(arg0));
    }

    public java.lang.Integer getPriority() {
        return this.priority;
    }

    public A withPriority(java.lang.Integer priority) {
        this.priority=priority; return (A) this;
    }

    public java.lang.Boolean hasPriority() {
        return this.priority != null;
    }

    public java.lang.String getPriorityClassName() {
        return this.priorityClassName;
    }

    public A withPriorityClassName(java.lang.String priorityClassName) {
        this.priorityClassName=priorityClassName; return (A) this;
    }

    public java.lang.Boolean hasPriorityClassName() {
        return this.priorityClassName != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withPriorityClassName instead.
     */
        public A withNewPriorityClassName(java.lang.String arg0) {
        return (A)withPriorityClassName(new String(arg0));
    }

    public A addToReadinessGates(int index,io.fabric8.kubernetes.api.model.PodReadinessGate item) {
        if (this.readinessGates == null) {this.readinessGates = new java.util.ArrayList();}
        this.readinessGates.add(index, item);
        return (A)this;
    }

    public A setToReadinessGates(int index,io.fabric8.kubernetes.api.model.PodReadinessGate item) {
        if (this.readinessGates == null) {this.readinessGates = new java.util.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 java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.PodReadinessGate item : items) {this.readinessGates.add(item);} return (A)this;
    }

    public A addAllToReadinessGates(java.util.Collection items) {
        if (this.readinessGates == null) {this.readinessGates = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.PodReadinessGate item : items) {this.readinessGates.add(item);} return (A)this;
    }

    public A removeFromReadinessGates(io.fabric8.kubernetes.api.model.PodReadinessGate... items) {
        for (io.fabric8.kubernetes.api.model.PodReadinessGate item : items) {if (this.readinessGates!= null){ this.readinessGates.remove(item);}} return (A)this;
    }

    public A removeAllFromReadinessGates(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.PodReadinessGate item : items) {if (this.readinessGates!= null){ this.readinessGates.remove(item);}} return (A)this;
    }

    public java.util.List getReadinessGates() {
        return this.readinessGates;
    }

    public io.fabric8.kubernetes.api.model.PodReadinessGate getReadinessGate(int index) {
        return this.readinessGates.get(index);
    }

    public io.fabric8.kubernetes.api.model.PodReadinessGate getFirstReadinessGate() {
        return this.readinessGates.get(0);
    }

    public io.fabric8.kubernetes.api.model.PodReadinessGate getLastReadinessGate() {
        return this.readinessGates.get(readinessGates.size() - 1);
    }

    public io.fabric8.kubernetes.api.model.PodReadinessGate getMatchingReadinessGate(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.PodReadinessGate item: readinessGates) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingReadinessGate(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.PodReadinessGate item: readinessGates) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withReadinessGates(java.util.List readinessGates) {
        if (this.readinessGates != null) { _visitables.get("readinessGates").removeAll(this.readinessGates);}
        if (readinessGates != null) {this.readinessGates = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (readinessGates != null) {for (io.fabric8.kubernetes.api.model.PodReadinessGate item :readinessGates){ this.addToReadinessGates(item);}} return (A) this;
    }

    public java.lang.Boolean hasReadinessGates() {
        return readinessGates != null && !readinessGates.isEmpty();
    }

    public A addNewReadinessGate(java.lang.String conditionType) {
        return (A)addToReadinessGates(new PodReadinessGate(conditionType));
    }

    public java.lang.String getRestartPolicy() {
        return this.restartPolicy;
    }

    public A withRestartPolicy(java.lang.String restartPolicy) {
        this.restartPolicy=restartPolicy; return (A) this;
    }

    public java.lang.Boolean hasRestartPolicy() {
        return this.restartPolicy != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withRestartPolicy instead.
     */
        public A withNewRestartPolicy(java.lang.String arg0) {
        return (A)withRestartPolicy(new String(arg0));
    }

    public java.lang.String getRuntimeClassName() {
        return this.runtimeClassName;
    }

    public A withRuntimeClassName(java.lang.String runtimeClassName) {
        this.runtimeClassName=runtimeClassName; return (A) this;
    }

    public java.lang.Boolean hasRuntimeClassName() {
        return this.runtimeClassName != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withRuntimeClassName instead.
     */
        public A withNewRuntimeClassName(java.lang.String arg0) {
        return (A)withRuntimeClassName(new String(arg0));
    }

    public java.lang.String getSchedulerName() {
        return this.schedulerName;
    }

    public A withSchedulerName(java.lang.String schedulerName) {
        this.schedulerName=schedulerName; return (A) this;
    }

    public java.lang.Boolean hasSchedulerName() {
        return this.schedulerName != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withSchedulerName instead.
     */
        public A withNewSchedulerName(java.lang.String arg0) {
        return (A)withSchedulerName(new String(arg0));
    }

    public io.fabric8.kubernetes.api.model.PodSecurityContext getSecurityContext() {
        return this.securityContext;
    }

    public A withSecurityContext(io.fabric8.kubernetes.api.model.PodSecurityContext securityContext) {
        this.securityContext=securityContext; return (A) this;
    }

    public java.lang.Boolean hasSecurityContext() {
        return this.securityContext != null;
    }

    public java.lang.String getServiceAccount() {
        return this.serviceAccount;
    }

    public A withServiceAccount(java.lang.String serviceAccount) {
        this.serviceAccount=serviceAccount; return (A) this;
    }

    public java.lang.Boolean hasServiceAccount() {
        return this.serviceAccount != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withServiceAccount instead.
     */
        public A withNewServiceAccount(java.lang.String arg0) {
        return (A)withServiceAccount(new String(arg0));
    }

    public java.lang.String getServiceAccountName() {
        return this.serviceAccountName;
    }

    public A withServiceAccountName(java.lang.String serviceAccountName) {
        this.serviceAccountName=serviceAccountName; return (A) this;
    }

    public java.lang.Boolean hasServiceAccountName() {
        return this.serviceAccountName != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withServiceAccountName instead.
     */
        public A withNewServiceAccountName(java.lang.String arg0) {
        return (A)withServiceAccountName(new String(arg0));
    }

    public java.lang.Boolean getShareProcessNamespace() {
        return this.shareProcessNamespace;
    }

    public A withShareProcessNamespace(java.lang.Boolean shareProcessNamespace) {
        this.shareProcessNamespace=shareProcessNamespace; return (A) this;
    }

    public java.lang.Boolean hasShareProcessNamespace() {
        return this.shareProcessNamespace != null;
    }

    public java.lang.String getSubdomain() {
        return this.subdomain;
    }

    public A withSubdomain(java.lang.String subdomain) {
        this.subdomain=subdomain; return (A) this;
    }

    public java.lang.Boolean hasSubdomain() {
        return this.subdomain != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withSubdomain instead.
     */
        public A withNewSubdomain(java.lang.String arg0) {
        return (A)withSubdomain(new String(arg0));
    }

    public java.lang.Long getTerminationGracePeriodSeconds() {
        return this.terminationGracePeriodSeconds;
    }

    public A withTerminationGracePeriodSeconds(java.lang.Long terminationGracePeriodSeconds) {
        this.terminationGracePeriodSeconds=terminationGracePeriodSeconds; return (A) this;
    }

    public java.lang.Boolean hasTerminationGracePeriodSeconds() {
        return this.terminationGracePeriodSeconds != null;
    }

    public java.lang.Long getTimeoutSeconds() {
        return this.timeoutSeconds;
    }

    public A withTimeoutSeconds(java.lang.Long timeoutSeconds) {
        this.timeoutSeconds=timeoutSeconds; return (A) this;
    }

    public java.lang.Boolean hasTimeoutSeconds() {
        return this.timeoutSeconds != null;
    }

    public A addToTolerations(int index,io.fabric8.kubernetes.api.model.Toleration item) {
        if (this.tolerations == null) {this.tolerations = new java.util.ArrayList();}
        this.tolerations.add(index, item);
        return (A)this;
    }

    public A setToTolerations(int index,io.fabric8.kubernetes.api.model.Toleration item) {
        if (this.tolerations == null) {this.tolerations = new java.util.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 java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Toleration item : items) {this.tolerations.add(item);} return (A)this;
    }

    public A addAllToTolerations(java.util.Collection items) {
        if (this.tolerations == null) {this.tolerations = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Toleration item : items) {this.tolerations.add(item);} return (A)this;
    }

    public A removeFromTolerations(io.fabric8.kubernetes.api.model.Toleration... items) {
        for (io.fabric8.kubernetes.api.model.Toleration item : items) {if (this.tolerations!= null){ this.tolerations.remove(item);}} return (A)this;
    }

    public A removeAllFromTolerations(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.Toleration item : items) {if (this.tolerations!= null){ this.tolerations.remove(item);}} return (A)this;
    }

    public java.util.List getTolerations() {
        return this.tolerations;
    }

    public io.fabric8.kubernetes.api.model.Toleration getToleration(int index) {
        return this.tolerations.get(index);
    }

    public io.fabric8.kubernetes.api.model.Toleration getFirstToleration() {
        return this.tolerations.get(0);
    }

    public io.fabric8.kubernetes.api.model.Toleration getLastToleration() {
        return this.tolerations.get(tolerations.size() - 1);
    }

    public io.fabric8.kubernetes.api.model.Toleration getMatchingToleration(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.Toleration item: tolerations) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingToleration(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.Toleration item: tolerations) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withTolerations(java.util.List tolerations) {
        if (this.tolerations != null) { _visitables.get("tolerations").removeAll(this.tolerations);}
        if (tolerations != null) {this.tolerations = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (tolerations != null) {for (io.fabric8.kubernetes.api.model.Toleration item :tolerations){ this.addToTolerations(item);}} return (A) this;
    }

    public java.lang.Boolean hasTolerations() {
        return tolerations != null && !tolerations.isEmpty();
    }

    public A addNewToleration(java.lang.String effect,java.lang.String key,java.lang.String operator,java.lang.Long tolerationSeconds,java.lang.String value) {
        return (A)addToTolerations(new Toleration(effect, key, operator, tolerationSeconds, value));
    }

    public A addToTopologySpreadConstraints(int index,io.fabric8.kubernetes.api.model.TopologySpreadConstraint item) {
        if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new java.util.ArrayList();}
        this.topologySpreadConstraints.add(index, item);
        return (A)this;
    }

    public A setToTopologySpreadConstraints(int index,io.fabric8.kubernetes.api.model.TopologySpreadConstraint item) {
        if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new java.util.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 java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item : items) {this.topologySpreadConstraints.add(item);} return (A)this;
    }

    public A addAllToTopologySpreadConstraints(java.util.Collection items) {
        if (this.topologySpreadConstraints == null) {this.topologySpreadConstraints = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item : items) {this.topologySpreadConstraints.add(item);} return (A)this;
    }

    public A removeFromTopologySpreadConstraints(io.fabric8.kubernetes.api.model.TopologySpreadConstraint... items) {
        for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item : items) {if (this.topologySpreadConstraints!= null){ this.topologySpreadConstraints.remove(item);}} return (A)this;
    }

    public A removeAllFromTopologySpreadConstraints(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item : items) {if (this.topologySpreadConstraints!= null){ this.topologySpreadConstraints.remove(item);}} return (A)this;
    }

    public java.util.List getTopologySpreadConstraints() {
        return this.topologySpreadConstraints;
    }

    public io.fabric8.kubernetes.api.model.TopologySpreadConstraint getTopologySpreadConstraint(int index) {
        return this.topologySpreadConstraints.get(index);
    }

    public io.fabric8.kubernetes.api.model.TopologySpreadConstraint getFirstTopologySpreadConstraint() {
        return this.topologySpreadConstraints.get(0);
    }

    public io.fabric8.kubernetes.api.model.TopologySpreadConstraint getLastTopologySpreadConstraint() {
        return this.topologySpreadConstraints.get(topologySpreadConstraints.size() - 1);
    }

    public io.fabric8.kubernetes.api.model.TopologySpreadConstraint getMatchingTopologySpreadConstraint(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item: topologySpreadConstraints) { if(predicate.test(item)){ return item;} } return null;
    }

    public java.lang.Boolean hasMatchingTopologySpreadConstraint(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item: topologySpreadConstraints) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withTopologySpreadConstraints(java.util.List topologySpreadConstraints) {
        if (this.topologySpreadConstraints != null) { _visitables.get("topologySpreadConstraints").removeAll(this.topologySpreadConstraints);}
        if (topologySpreadConstraints != null) {this.topologySpreadConstraints = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (topologySpreadConstraints != null) {for (io.fabric8.kubernetes.api.model.TopologySpreadConstraint item :topologySpreadConstraints){ this.addToTopologySpreadConstraints(item);}} return (A) this;
    }

    public java.lang.Boolean hasTopologySpreadConstraints() {
        return topologySpreadConstraints != null && !topologySpreadConstraints.isEmpty();
    }

    public A addToVolumes(int index,io.fabric8.kubernetes.api.model.Volume item) {
        if (this.volumes == null) {this.volumes = new java.util.ArrayList();}
        io.fabric8.kubernetes.api.model.VolumeBuilder builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(item);_visitables.get("volumes").add(index >= 0 ? index : _visitables.get("volumes").size(), builder);this.volumes.add(index >= 0 ? index : volumes.size(), builder); return (A)this;
    }

    public A setToVolumes(int index,io.fabric8.kubernetes.api.model.Volume item) {
        if (this.volumes == null) {this.volumes = new java.util.ArrayList();}
        io.fabric8.kubernetes.api.model.VolumeBuilder builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(item);
        if (index < 0 || index >= _visitables.get("volumes").size()) { _visitables.get("volumes").add(builder); } else { _visitables.get("volumes").set(index, builder);}
        if (index < 0 || index >= volumes.size()) { volumes.add(builder); } else { volumes.set(index, builder);}
         return (A)this;
    }

    public A addToVolumes(io.fabric8.kubernetes.api.model.Volume... items) {
        if (this.volumes == null) {this.volumes = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Volume item : items) {io.fabric8.kubernetes.api.model.VolumeBuilder builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(item);_visitables.get("volumes").add(builder);this.volumes.add(builder);} return (A)this;
    }

    public A addAllToVolumes(java.util.Collection items) {
        if (this.volumes == null) {this.volumes = new java.util.ArrayList();}
        for (io.fabric8.kubernetes.api.model.Volume item : items) {io.fabric8.kubernetes.api.model.VolumeBuilder builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(item);_visitables.get("volumes").add(builder);this.volumes.add(builder);} return (A)this;
    }

    public A removeFromVolumes(io.fabric8.kubernetes.api.model.Volume... items) {
        for (io.fabric8.kubernetes.api.model.Volume item : items) {io.fabric8.kubernetes.api.model.VolumeBuilder builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(item);_visitables.get("volumes").remove(builder);if (this.volumes != null) {this.volumes.remove(builder);}} return (A)this;
    }

    public A removeAllFromVolumes(java.util.Collection items) {
        for (io.fabric8.kubernetes.api.model.Volume item : items) {io.fabric8.kubernetes.api.model.VolumeBuilder builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(item);_visitables.get("volumes").remove(builder);if (this.volumes != null) {this.volumes.remove(builder);}} return (A)this;
    }

    public A removeMatchingFromVolumes(java.util.function.Predicate predicate) {
        if (volumes == null) return (A) this;
        final Iterator each = volumes.iterator();
        final List visitables = _visitables.get("volumes");
        while (each.hasNext()) {
          io.fabric8.kubernetes.api.model.VolumeBuilder builder = each.next();
          if (predicate.test(builder)) {
            visitables.remove(builder);
            each.remove();
          }
        }
        return (A)this;
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildVolumes instead.
     * @return The buildable object.
     */
        public java.util.List getVolumes() {
        return build(volumes);
    }

    public java.util.List buildVolumes() {
        return build(volumes);
    }

    public io.fabric8.kubernetes.api.model.Volume buildVolume(int index) {
        return this.volumes.get(index).build();
    }

    public io.fabric8.kubernetes.api.model.Volume buildFirstVolume() {
        return this.volumes.get(0).build();
    }

    public io.fabric8.kubernetes.api.model.Volume buildLastVolume() {
        return this.volumes.get(volumes.size() - 1).build();
    }

    public io.fabric8.kubernetes.api.model.Volume buildMatchingVolume(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.VolumeBuilder item: volumes) { if(predicate.test(item)){ return item.build();} } return null;
    }

    public java.lang.Boolean hasMatchingVolume(java.util.function.Predicate predicate) {
        for (io.fabric8.kubernetes.api.model.VolumeBuilder item: volumes) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withVolumes(java.util.List volumes) {
        if (this.volumes != null) { _visitables.get("volumes").removeAll(this.volumes);}
        if (volumes != null) {this.volumes = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.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();}
        if (volumes != null) {for (io.fabric8.kubernetes.api.model.Volume item :volumes){ this.addToVolumes(item);}} return (A) this;
    }

    public java.lang.Boolean hasVolumes() {
        return volumes != null && !volumes.isEmpty();
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested addNewVolume() {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.VolumesNestedImpl();
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested addNewVolumeLike(io.fabric8.kubernetes.api.model.Volume item) {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.VolumesNestedImpl(-1, item);
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested setNewVolumeLike(int index,io.fabric8.kubernetes.api.model.Volume item) {
        return new io.fabric8.knative.serving.v1.RevisionSpecFluentImpl.VolumesNestedImpl(index, item);
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested editVolume(int index) {
        if (volumes.size() <= index) throw new RuntimeException("Can't edit volumes. Index exceeds size.");
        return setNewVolumeLike(index, buildVolume(index));
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested editFirstVolume() {
        if (volumes.size() == 0) throw new RuntimeException("Can't edit first volumes. The list is empty.");
        return setNewVolumeLike(0, buildVolume(0));
    }

    public io.fabric8.knative.serving.v1.RevisionSpecFluent.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 io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested editMatchingVolume(java.util.function.Predicate predicate) {
        int index = -1;
        for (int i=0;i extends io.fabric8.kubernetes.api.model.ContainerFluentImpl> implements io.fabric8.knative.serving.v1.RevisionSpecFluent.ContainersNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.kubernetes.api.model.ContainerBuilder builder;
        private final int index;

            ContainersNestedImpl(int index,io.fabric8.kubernetes.api.model.Container item) {
                this.index = index;
                this.builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(this, item);
                        
            }

            ContainersNestedImpl() {
                this.index = -1;
                this.builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(this);
                        
            }

            public N and() {
                return (N) RevisionSpecFluentImpl.this.setToContainers(index,builder.build());
            }

            public N endContainer() {
                return and();
            }
    }


    public class InitContainersNestedImpl extends io.fabric8.kubernetes.api.model.ContainerFluentImpl> implements io.fabric8.knative.serving.v1.RevisionSpecFluent.InitContainersNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.kubernetes.api.model.ContainerBuilder builder;
        private final int index;

            InitContainersNestedImpl(int index,io.fabric8.kubernetes.api.model.Container item) {
                this.index = index;
                this.builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(this, item);
                        
            }

            InitContainersNestedImpl() {
                this.index = -1;
                this.builder = new io.fabric8.kubernetes.api.model.ContainerBuilder(this);
                        
            }

            public N and() {
                return (N) RevisionSpecFluentImpl.this.setToInitContainers(index,builder.build());
            }

            public N endInitContainer() {
                return and();
            }
    }


    public class VolumesNestedImpl extends io.fabric8.kubernetes.api.model.VolumeFluentImpl> implements io.fabric8.knative.serving.v1.RevisionSpecFluent.VolumesNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.kubernetes.api.model.VolumeBuilder builder;
        private final int index;

            VolumesNestedImpl(int index,io.fabric8.kubernetes.api.model.Volume item) {
                this.index = index;
                this.builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(this, item);
                        
            }

            VolumesNestedImpl() {
                this.index = -1;
                this.builder = new io.fabric8.kubernetes.api.model.VolumeBuilder(this);
                        
            }

            public N and() {
                return (N) RevisionSpecFluentImpl.this.setToVolumes(index,builder.build());
            }

            public N endVolume() {
                return and();
            }
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy