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

io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.kubernetes.api.model.apps;

import io.fabric8.kubernetes.api.builder.VisitableBuilder;
import io.fabric8.kubernetes.api.model.PodTemplateSpecFluentImpl;
import io.fabric8.kubernetes.api.model.LabelSelectorFluentImpl;
import io.fabric8.kubernetes.api.builder.Nested;
import java.util.ArrayList;
import java.lang.String;
import java.util.LinkedHashMap;
import java.util.function.Predicate;
import io.fabric8.kubernetes.api.model.PodTemplateSpec;
import java.lang.Deprecated;
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.LabelSelectorBuilder;
import io.fabric8.kubernetes.api.model.LabelSelector;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaimFluentImpl;
import java.lang.Integer;
import io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder;
import java.util.Collection;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
import java.lang.Object;
import java.util.Map;

 /**
  * Generated
  */
public class StatefulSetSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent{
  public StatefulSetSpecFluentImpl() {
  }
  public StatefulSetSpecFluentImpl(io.fabric8.kubernetes.api.model.apps.StatefulSetSpec instance) {
    this.withMinReadySeconds(instance.getMinReadySeconds()); 
    this.withPersistentVolumeClaimRetentionPolicy(instance.getPersistentVolumeClaimRetentionPolicy()); 
    this.withPodManagementPolicy(instance.getPodManagementPolicy()); 
    this.withReplicas(instance.getReplicas()); 
    this.withRevisionHistoryLimit(instance.getRevisionHistoryLimit()); 
    this.withSelector(instance.getSelector()); 
    this.withServiceName(instance.getServiceName()); 
    this.withTemplate(instance.getTemplate()); 
    this.withUpdateStrategy(instance.getUpdateStrategy()); 
    this.withVolumeClaimTemplates(instance.getVolumeClaimTemplates()); 
    this.withAdditionalProperties(instance.getAdditionalProperties());

  }
  private java.lang.Integer minReadySeconds;
  private io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyBuilder persistentVolumeClaimRetentionPolicy;
  private java.lang.String podManagementPolicy;
  private java.lang.Integer replicas;
  private java.lang.Integer revisionHistoryLimit;
  private io.fabric8.kubernetes.api.model.LabelSelectorBuilder selector;
  private java.lang.String serviceName;
  private io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder template;
  private io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyBuilder updateStrategy;
  private java.util.List volumeClaimTemplates =  new java.util.ArrayList();
  private java.util.Map additionalProperties;
  public java.lang.Integer getMinReadySeconds() {
    return this.minReadySeconds;
  }
  public A withMinReadySeconds(java.lang.Integer minReadySeconds) {
    this.minReadySeconds=minReadySeconds; return (A) this;
  }
  public java.lang.Boolean hasMinReadySeconds() {
    return this.minReadySeconds != null;
  }
  
  /**
   * This method has been deprecated, please use method buildPersistentVolumeClaimRetentionPolicy instead.
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicy getPersistentVolumeClaimRetentionPolicy() {
    return this.persistentVolumeClaimRetentionPolicy!=null?this.persistentVolumeClaimRetentionPolicy.build():null;
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicy buildPersistentVolumeClaimRetentionPolicy() {
    return this.persistentVolumeClaimRetentionPolicy!=null?this.persistentVolumeClaimRetentionPolicy.build():null;
  }
  public A withPersistentVolumeClaimRetentionPolicy(io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicy persistentVolumeClaimRetentionPolicy) {
    _visitables.get("persistentVolumeClaimRetentionPolicy").remove(this.persistentVolumeClaimRetentionPolicy);
    if (persistentVolumeClaimRetentionPolicy!=null){ this.persistentVolumeClaimRetentionPolicy= new io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyBuilder(persistentVolumeClaimRetentionPolicy); _visitables.get("persistentVolumeClaimRetentionPolicy").add(this.persistentVolumeClaimRetentionPolicy);} return (A) this;
  }
  public java.lang.Boolean hasPersistentVolumeClaimRetentionPolicy() {
    return this.persistentVolumeClaimRetentionPolicy != null;
  }
  public A withNewPersistentVolumeClaimRetentionPolicy(java.lang.String whenDeleted,java.lang.String whenScaled) {
    return (A)withPersistentVolumeClaimRetentionPolicy(new StatefulSetPersistentVolumeClaimRetentionPolicy(whenDeleted, whenScaled));
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.PersistentVolumeClaimRetentionPolicyNested withNewPersistentVolumeClaimRetentionPolicy() {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.PersistentVolumeClaimRetentionPolicyNestedImpl();
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.PersistentVolumeClaimRetentionPolicyNested withNewPersistentVolumeClaimRetentionPolicyLike(io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicy item) {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.PersistentVolumeClaimRetentionPolicyNestedImpl(item);
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.PersistentVolumeClaimRetentionPolicyNested editPersistentVolumeClaimRetentionPolicy() {
    return withNewPersistentVolumeClaimRetentionPolicyLike(getPersistentVolumeClaimRetentionPolicy());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.PersistentVolumeClaimRetentionPolicyNested editOrNewPersistentVolumeClaimRetentionPolicy() {
    return withNewPersistentVolumeClaimRetentionPolicyLike(getPersistentVolumeClaimRetentionPolicy() != null ? getPersistentVolumeClaimRetentionPolicy(): new io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyBuilder().build());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.PersistentVolumeClaimRetentionPolicyNested editOrNewPersistentVolumeClaimRetentionPolicyLike(io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicy item) {
    return withNewPersistentVolumeClaimRetentionPolicyLike(getPersistentVolumeClaimRetentionPolicy() != null ? getPersistentVolumeClaimRetentionPolicy(): item);
  }
  public java.lang.String getPodManagementPolicy() {
    return this.podManagementPolicy;
  }
  public A withPodManagementPolicy(java.lang.String podManagementPolicy) {
    this.podManagementPolicy=podManagementPolicy; return (A) this;
  }
  public java.lang.Boolean hasPodManagementPolicy() {
    return this.podManagementPolicy != null;
  }
  
  /**
   * Method is deprecated. use withPodManagementPolicy instead.
   */
  @java.lang.Deprecated
  public A withNewPodManagementPolicy(java.lang.String arg0) {
    return (A)withPodManagementPolicy(new String(arg0));
  }
  public java.lang.Integer getReplicas() {
    return this.replicas;
  }
  public A withReplicas(java.lang.Integer replicas) {
    this.replicas=replicas; return (A) this;
  }
  public java.lang.Boolean hasReplicas() {
    return this.replicas != null;
  }
  public java.lang.Integer getRevisionHistoryLimit() {
    return this.revisionHistoryLimit;
  }
  public A withRevisionHistoryLimit(java.lang.Integer revisionHistoryLimit) {
    this.revisionHistoryLimit=revisionHistoryLimit; return (A) this;
  }
  public java.lang.Boolean hasRevisionHistoryLimit() {
    return this.revisionHistoryLimit != null;
  }
  
  /**
   * This method has been deprecated, please use method buildSelector instead.
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public io.fabric8.kubernetes.api.model.LabelSelector getSelector() {
    return this.selector!=null?this.selector.build():null;
  }
  public io.fabric8.kubernetes.api.model.LabelSelector buildSelector() {
    return this.selector!=null?this.selector.build():null;
  }
  public A withSelector(io.fabric8.kubernetes.api.model.LabelSelector selector) {
    _visitables.get("selector").remove(this.selector);
    if (selector!=null){ this.selector= new io.fabric8.kubernetes.api.model.LabelSelectorBuilder(selector); _visitables.get("selector").add(this.selector);} return (A) this;
  }
  public java.lang.Boolean hasSelector() {
    return this.selector != null;
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.SelectorNested withNewSelector() {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.SelectorNestedImpl();
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.SelectorNested withNewSelectorLike(io.fabric8.kubernetes.api.model.LabelSelector item) {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.SelectorNestedImpl(item);
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.SelectorNested editSelector() {
    return withNewSelectorLike(getSelector());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.SelectorNested editOrNewSelector() {
    return withNewSelectorLike(getSelector() != null ? getSelector(): new io.fabric8.kubernetes.api.model.LabelSelectorBuilder().build());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.SelectorNested editOrNewSelectorLike(io.fabric8.kubernetes.api.model.LabelSelector item) {
    return withNewSelectorLike(getSelector() != null ? getSelector(): item);
  }
  public java.lang.String getServiceName() {
    return this.serviceName;
  }
  public A withServiceName(java.lang.String serviceName) {
    this.serviceName=serviceName; return (A) this;
  }
  public java.lang.Boolean hasServiceName() {
    return this.serviceName != null;
  }
  
  /**
   * Method is deprecated. use withServiceName instead.
   */
  @java.lang.Deprecated
  public A withNewServiceName(java.lang.String arg0) {
    return (A)withServiceName(new String(arg0));
  }
  
  /**
   * This method has been deprecated, please use method buildTemplate instead.
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public io.fabric8.kubernetes.api.model.PodTemplateSpec getTemplate() {
    return this.template!=null?this.template.build():null;
  }
  public io.fabric8.kubernetes.api.model.PodTemplateSpec buildTemplate() {
    return this.template!=null?this.template.build():null;
  }
  public A withTemplate(io.fabric8.kubernetes.api.model.PodTemplateSpec template) {
    _visitables.get("template").remove(this.template);
    if (template!=null){ this.template= new io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder(template); _visitables.get("template").add(this.template);} return (A) this;
  }
  public java.lang.Boolean hasTemplate() {
    return this.template != null;
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.TemplateNested withNewTemplate() {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.TemplateNestedImpl();
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.TemplateNested withNewTemplateLike(io.fabric8.kubernetes.api.model.PodTemplateSpec item) {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.TemplateNestedImpl(item);
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.TemplateNested editTemplate() {
    return withNewTemplateLike(getTemplate());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.TemplateNested editOrNewTemplate() {
    return withNewTemplateLike(getTemplate() != null ? getTemplate(): new io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder().build());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.TemplateNested editOrNewTemplateLike(io.fabric8.kubernetes.api.model.PodTemplateSpec item) {
    return withNewTemplateLike(getTemplate() != null ? getTemplate(): item);
  }
  
  /**
   * This method has been deprecated, please use method buildUpdateStrategy instead.
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategy getUpdateStrategy() {
    return this.updateStrategy!=null?this.updateStrategy.build():null;
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategy buildUpdateStrategy() {
    return this.updateStrategy!=null?this.updateStrategy.build():null;
  }
  public A withUpdateStrategy(io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategy updateStrategy) {
    _visitables.get("updateStrategy").remove(this.updateStrategy);
    if (updateStrategy!=null){ this.updateStrategy= new io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyBuilder(updateStrategy); _visitables.get("updateStrategy").add(this.updateStrategy);} return (A) this;
  }
  public java.lang.Boolean hasUpdateStrategy() {
    return this.updateStrategy != null;
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.UpdateStrategyNested withNewUpdateStrategy() {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.UpdateStrategyNestedImpl();
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.UpdateStrategyNested withNewUpdateStrategyLike(io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategy item) {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.UpdateStrategyNestedImpl(item);
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.UpdateStrategyNested editUpdateStrategy() {
    return withNewUpdateStrategyLike(getUpdateStrategy());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.UpdateStrategyNested editOrNewUpdateStrategy() {
    return withNewUpdateStrategyLike(getUpdateStrategy() != null ? getUpdateStrategy(): new io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyBuilder().build());
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.UpdateStrategyNested editOrNewUpdateStrategyLike(io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategy item) {
    return withNewUpdateStrategyLike(getUpdateStrategy() != null ? getUpdateStrategy(): item);
  }
  public A addToVolumeClaimTemplates(java.lang.Integer index,io.fabric8.kubernetes.api.model.PersistentVolumeClaim item) {
    if (this.volumeClaimTemplates == null) {this.volumeClaimTemplates = new java.util.ArrayList();}
    io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(item);_visitables.get("volumeClaimTemplates").add(index >= 0 ? index : _visitables.get("volumeClaimTemplates").size(), builder);this.volumeClaimTemplates.add(index >= 0 ? index : volumeClaimTemplates.size(), builder); return (A)this;
  }
  public A setToVolumeClaimTemplates(java.lang.Integer index,io.fabric8.kubernetes.api.model.PersistentVolumeClaim item) {
    if (this.volumeClaimTemplates == null) {this.volumeClaimTemplates = new java.util.ArrayList();}
    io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(item);
    if (index < 0 || index >= _visitables.get("volumeClaimTemplates").size()) { _visitables.get("volumeClaimTemplates").add(builder); } else { _visitables.get("volumeClaimTemplates").set(index, builder);}
    if (index < 0 || index >= volumeClaimTemplates.size()) { volumeClaimTemplates.add(builder); } else { volumeClaimTemplates.set(index, builder);}
     return (A)this;
  }
  public A addToVolumeClaimTemplates(io.fabric8.kubernetes.api.model.PersistentVolumeClaim... items) {
    if (this.volumeClaimTemplates == null) {this.volumeClaimTemplates = new java.util.ArrayList();}
    for (io.fabric8.kubernetes.api.model.PersistentVolumeClaim item : items) {io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(item);_visitables.get("volumeClaimTemplates").add(builder);this.volumeClaimTemplates.add(builder);} return (A)this;
  }
  public A addAllToVolumeClaimTemplates(java.util.Collection items) {
    if (this.volumeClaimTemplates == null) {this.volumeClaimTemplates = new java.util.ArrayList();}
    for (io.fabric8.kubernetes.api.model.PersistentVolumeClaim item : items) {io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(item);_visitables.get("volumeClaimTemplates").add(builder);this.volumeClaimTemplates.add(builder);} return (A)this;
  }
  public A removeFromVolumeClaimTemplates(io.fabric8.kubernetes.api.model.PersistentVolumeClaim... items) {
    for (io.fabric8.kubernetes.api.model.PersistentVolumeClaim item : items) {io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(item);_visitables.get("volumeClaimTemplates").remove(builder);if (this.volumeClaimTemplates != null) {this.volumeClaimTemplates.remove(builder);}} return (A)this;
  }
  public A removeAllFromVolumeClaimTemplates(java.util.Collection items) {
    for (io.fabric8.kubernetes.api.model.PersistentVolumeClaim item : items) {io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(item);_visitables.get("volumeClaimTemplates").remove(builder);if (this.volumeClaimTemplates != null) {this.volumeClaimTemplates.remove(builder);}} return (A)this;
  }
  public A removeMatchingFromVolumeClaimTemplates(java.util.function.Predicate predicate) {
    if (volumeClaimTemplates == null) return (A) this;
    final Iterator each = volumeClaimTemplates.iterator();
    final List visitables = _visitables.get("volumeClaimTemplates");
    while (each.hasNext()) {
      io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A)this;
  }
  
  /**
   * This method has been deprecated, please use method buildVolumeClaimTemplates instead.
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public java.util.List getVolumeClaimTemplates() {
    return build(volumeClaimTemplates);
  }
  public java.util.List buildVolumeClaimTemplates() {
    return build(volumeClaimTemplates);
  }
  public io.fabric8.kubernetes.api.model.PersistentVolumeClaim buildVolumeClaimTemplate(java.lang.Integer index) {
    return this.volumeClaimTemplates.get(index).build();
  }
  public io.fabric8.kubernetes.api.model.PersistentVolumeClaim buildFirstVolumeClaimTemplate() {
    return this.volumeClaimTemplates.get(0).build();
  }
  public io.fabric8.kubernetes.api.model.PersistentVolumeClaim buildLastVolumeClaimTemplate() {
    return this.volumeClaimTemplates.get(volumeClaimTemplates.size() - 1).build();
  }
  public io.fabric8.kubernetes.api.model.PersistentVolumeClaim buildMatchingVolumeClaimTemplate(java.util.function.Predicate predicate) {
    for (io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder item: volumeClaimTemplates) { if(predicate.test(item)){ return item.build();} } return null;
  }
  public java.lang.Boolean hasMatchingVolumeClaimTemplate(java.util.function.Predicate predicate) {
    for (io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder item: volumeClaimTemplates) { if(predicate.test(item)){ return true;} } return false;
  }
  public A withVolumeClaimTemplates(java.util.List volumeClaimTemplates) {
    if (this.volumeClaimTemplates != null) { _visitables.get("volumeClaimTemplates").removeAll(this.volumeClaimTemplates);}
    if (volumeClaimTemplates != null) {this.volumeClaimTemplates = new java.util.ArrayList(); for (io.fabric8.kubernetes.api.model.PersistentVolumeClaim item : volumeClaimTemplates){this.addToVolumeClaimTemplates(item);}} else { this.volumeClaimTemplates = null;} return (A) this;
  }
  public A withVolumeClaimTemplates(io.fabric8.kubernetes.api.model.PersistentVolumeClaim... volumeClaimTemplates) {
    if (this.volumeClaimTemplates != null) {this.volumeClaimTemplates.clear();}
    if (volumeClaimTemplates != null) {for (io.fabric8.kubernetes.api.model.PersistentVolumeClaim item :volumeClaimTemplates){ this.addToVolumeClaimTemplates(item);}} return (A) this;
  }
  public java.lang.Boolean hasVolumeClaimTemplates() {
    return volumeClaimTemplates != null && !volumeClaimTemplates.isEmpty();
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested addNewVolumeClaimTemplate() {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.VolumeClaimTemplatesNestedImpl();
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested addNewVolumeClaimTemplateLike(io.fabric8.kubernetes.api.model.PersistentVolumeClaim item) {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.VolumeClaimTemplatesNestedImpl(-1, item);
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested setNewVolumeClaimTemplateLike(java.lang.Integer index,io.fabric8.kubernetes.api.model.PersistentVolumeClaim item) {
    return new io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluentImpl.VolumeClaimTemplatesNestedImpl(index, item);
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested editVolumeClaimTemplate(java.lang.Integer index) {
    if (volumeClaimTemplates.size() <= index) throw new RuntimeException("Can't edit volumeClaimTemplates. Index exceeds size.");
    return setNewVolumeClaimTemplateLike(index, buildVolumeClaimTemplate(index));
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested editFirstVolumeClaimTemplate() {
    if (volumeClaimTemplates.size() == 0) throw new RuntimeException("Can't edit first volumeClaimTemplates. The list is empty.");
    return setNewVolumeClaimTemplateLike(0, buildVolumeClaimTemplate(0));
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested editLastVolumeClaimTemplate() {
    int index = volumeClaimTemplates.size() - 1;
    if (index < 0) throw new RuntimeException("Can't edit last volumeClaimTemplates. The list is empty.");
    return setNewVolumeClaimTemplateLike(index, buildVolumeClaimTemplate(index));
  }
  public io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested editMatchingVolumeClaimTemplate(java.util.function.Predicate predicate) {
    int index = -1;
    for (int i=0;i map) {
    if(this.additionalProperties == null && map != null) { this.additionalProperties = new java.util.LinkedHashMap(); }
    if(map != null) { this.additionalProperties.putAll(map);} return (A)this;
  }
  public A removeFromAdditionalProperties(java.lang.String key) {
    if(this.additionalProperties == null) { return (A) this; }
    if(key != null && this.additionalProperties != null) {this.additionalProperties.remove(key);} return (A)this;
  }
  public A removeFromAdditionalProperties(java.util.Map map) {
    if(this.additionalProperties == null) { return (A) this; }
    if(map != null) { for(Object key : map.keySet()) {if (this.additionalProperties != null){this.additionalProperties.remove(key);}}} return (A)this;
  }
  public java.util.Map getAdditionalProperties() {
    return this.additionalProperties;
  }
  public A withAdditionalProperties(java.util.Map additionalProperties) {
    if (additionalProperties == null) { this.additionalProperties =  null;} else {this.additionalProperties = new java.util.LinkedHashMap(additionalProperties);} return (A) this;
  }
  public java.lang.Boolean hasAdditionalProperties() {
    return this.additionalProperties != null;
  }
  public boolean equals(java.lang.Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    StatefulSetSpecFluentImpl that = (StatefulSetSpecFluentImpl) o;
    if (minReadySeconds != null ? !minReadySeconds.equals(that.minReadySeconds) :that.minReadySeconds != null) return false;
    if (persistentVolumeClaimRetentionPolicy != null ? !persistentVolumeClaimRetentionPolicy.equals(that.persistentVolumeClaimRetentionPolicy) :that.persistentVolumeClaimRetentionPolicy != null) return false;
    if (podManagementPolicy != null ? !podManagementPolicy.equals(that.podManagementPolicy) :that.podManagementPolicy != null) return false;
    if (replicas != null ? !replicas.equals(that.replicas) :that.replicas != null) return false;
    if (revisionHistoryLimit != null ? !revisionHistoryLimit.equals(that.revisionHistoryLimit) :that.revisionHistoryLimit != null) return false;
    if (selector != null ? !selector.equals(that.selector) :that.selector != null) return false;
    if (serviceName != null ? !serviceName.equals(that.serviceName) :that.serviceName != null) return false;
    if (template != null ? !template.equals(that.template) :that.template != null) return false;
    if (updateStrategy != null ? !updateStrategy.equals(that.updateStrategy) :that.updateStrategy != null) return false;
    if (volumeClaimTemplates != null ? !volumeClaimTemplates.equals(that.volumeClaimTemplates) :that.volumeClaimTemplates != null) return false;
    if (additionalProperties != null ? !additionalProperties.equals(that.additionalProperties) :that.additionalProperties != null) return false;
    return true;
  }
  public int hashCode() {
    return java.util.Objects.hash(minReadySeconds,  persistentVolumeClaimRetentionPolicy,  podManagementPolicy,  replicas,  revisionHistoryLimit,  selector,  serviceName,  template,  updateStrategy,  volumeClaimTemplates,  additionalProperties,  super.hashCode());
  }
  public class PersistentVolumeClaimRetentionPolicyNestedImpl extends io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyFluentImpl> implements io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.PersistentVolumeClaimRetentionPolicyNested,io.fabric8.kubernetes.api.builder.Nested{
    PersistentVolumeClaimRetentionPolicyNestedImpl(io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicy item) {
      this.builder = new io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyBuilder(this, item);
    }
    PersistentVolumeClaimRetentionPolicyNestedImpl() {
      this.builder = new io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyBuilder(this);
    }
    io.fabric8.kubernetes.api.model.apps.StatefulSetPersistentVolumeClaimRetentionPolicyBuilder builder;
    public N and() {
      return (N) StatefulSetSpecFluentImpl.this.withPersistentVolumeClaimRetentionPolicy(builder.build());
    }
    public N endPersistentVolumeClaimRetentionPolicy() {
      return and();
    }
    
  }
  public class SelectorNestedImpl extends io.fabric8.kubernetes.api.model.LabelSelectorFluentImpl> implements io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.SelectorNested,io.fabric8.kubernetes.api.builder.Nested{
    SelectorNestedImpl(io.fabric8.kubernetes.api.model.LabelSelector item) {
      this.builder = new io.fabric8.kubernetes.api.model.LabelSelectorBuilder(this, item);
    }
    SelectorNestedImpl() {
      this.builder = new io.fabric8.kubernetes.api.model.LabelSelectorBuilder(this);
    }
    io.fabric8.kubernetes.api.model.LabelSelectorBuilder builder;
    public N and() {
      return (N) StatefulSetSpecFluentImpl.this.withSelector(builder.build());
    }
    public N endSelector() {
      return and();
    }
    
  }
  public class TemplateNestedImpl extends io.fabric8.kubernetes.api.model.PodTemplateSpecFluentImpl> implements io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.TemplateNested,io.fabric8.kubernetes.api.builder.Nested{
    TemplateNestedImpl(io.fabric8.kubernetes.api.model.PodTemplateSpec item) {
      this.builder = new io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder(this, item);
    }
    TemplateNestedImpl() {
      this.builder = new io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder(this);
    }
    io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder builder;
    public N and() {
      return (N) StatefulSetSpecFluentImpl.this.withTemplate(builder.build());
    }
    public N endTemplate() {
      return and();
    }
    
  }
  public class UpdateStrategyNestedImpl extends io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyFluentImpl> implements io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.UpdateStrategyNested,io.fabric8.kubernetes.api.builder.Nested{
    UpdateStrategyNestedImpl(io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategy item) {
      this.builder = new io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyBuilder(this, item);
    }
    UpdateStrategyNestedImpl() {
      this.builder = new io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyBuilder(this);
    }
    io.fabric8.kubernetes.api.model.apps.StatefulSetUpdateStrategyBuilder builder;
    public N and() {
      return (N) StatefulSetSpecFluentImpl.this.withUpdateStrategy(builder.build());
    }
    public N endUpdateStrategy() {
      return and();
    }
    
  }
  public class VolumeClaimTemplatesNestedImpl extends io.fabric8.kubernetes.api.model.PersistentVolumeClaimFluentImpl> implements io.fabric8.kubernetes.api.model.apps.StatefulSetSpecFluent.VolumeClaimTemplatesNested,io.fabric8.kubernetes.api.builder.Nested{
    VolumeClaimTemplatesNestedImpl(java.lang.Integer index,io.fabric8.kubernetes.api.model.PersistentVolumeClaim item) {
      this.index = index;
      this.builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(this, item);
    }
    VolumeClaimTemplatesNestedImpl() {
      this.index = -1;
      this.builder = new io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder(this);
    }
    io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder builder;
    java.lang.Integer index;
    public N and() {
      return (N) StatefulSetSpecFluentImpl.this.setToVolumeClaimTemplates(index,builder.build());
    }
    public N endVolumeClaimTemplate() {
      return and();
    }
    
  }
  
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy