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

me.snowdrop.istio.api.rbac.v1alpha1.RbacConfigSpecFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.rbac.v1alpha1;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.kubernetes.api.builder.Nested;
import java.lang.Deprecated;
import javax.validation.Valid;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import java.lang.Boolean;

public class RbacConfigSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements RbacConfigSpecFluent{

    private EnforcementMode enforcementMode;
    private TargetBuilder exclusion;
    private TargetBuilder inclusion;
    private me.snowdrop.istio.api.rbac.v1alpha1.Mode mode;

    public RbacConfigSpecFluentImpl(){
    }
    public RbacConfigSpecFluentImpl(RbacConfigSpec instance){
            this.withEnforcementMode(instance.getEnforcementMode()); 
            this.withExclusion(instance.getExclusion()); 
            this.withInclusion(instance.getInclusion()); 
            this.withMode(instance.getMode()); 
    }

    public EnforcementMode getEnforcementMode(){
            return this.enforcementMode;
    }

    public A withEnforcementMode(EnforcementMode enforcementMode){
            this.enforcementMode=enforcementMode; return (A) this;
    }

    public Boolean hasEnforcementMode(){
            return this.enforcementMode != null;
    }

    
/**
 * This method has been deprecated, please use method buildExclusion instead.
 * @return The buildable object.
 */
@Deprecated public Target getExclusion(){
            return this.exclusion!=null?this.exclusion.build():null;
    }

    public Target buildExclusion(){
            return this.exclusion!=null?this.exclusion.build():null;
    }

    public A withExclusion(Target exclusion){
            _visitables.remove(this.exclusion);
            if (exclusion!=null){ this.exclusion= new TargetBuilder(exclusion); _visitables.add(this.exclusion);} return (A) this;
    }

    public Boolean hasExclusion(){
            return this.exclusion != null;
    }

    public RbacConfigSpecFluent.ExclusionNested withNewExclusion(){
            return new ExclusionNestedImpl();
    }

    public RbacConfigSpecFluent.ExclusionNested withNewExclusionLike(Target item){
            return new ExclusionNestedImpl(item);
    }

    public RbacConfigSpecFluent.ExclusionNested editExclusion(){
            return withNewExclusionLike(getExclusion());
    }

    public RbacConfigSpecFluent.ExclusionNested editOrNewExclusion(){
            return withNewExclusionLike(getExclusion() != null ? getExclusion(): new TargetBuilder().build());
    }

    public RbacConfigSpecFluent.ExclusionNested editOrNewExclusionLike(Target item){
            return withNewExclusionLike(getExclusion() != null ? getExclusion(): item);
    }

    
/**
 * This method has been deprecated, please use method buildInclusion instead.
 * @return The buildable object.
 */
@Deprecated public Target getInclusion(){
            return this.inclusion!=null?this.inclusion.build():null;
    }

    public Target buildInclusion(){
            return this.inclusion!=null?this.inclusion.build():null;
    }

    public A withInclusion(Target inclusion){
            _visitables.remove(this.inclusion);
            if (inclusion!=null){ this.inclusion= new TargetBuilder(inclusion); _visitables.add(this.inclusion);} return (A) this;
    }

    public Boolean hasInclusion(){
            return this.inclusion != null;
    }

    public RbacConfigSpecFluent.InclusionNested withNewInclusion(){
            return new InclusionNestedImpl();
    }

    public RbacConfigSpecFluent.InclusionNested withNewInclusionLike(Target item){
            return new InclusionNestedImpl(item);
    }

    public RbacConfigSpecFluent.InclusionNested editInclusion(){
            return withNewInclusionLike(getInclusion());
    }

    public RbacConfigSpecFluent.InclusionNested editOrNewInclusion(){
            return withNewInclusionLike(getInclusion() != null ? getInclusion(): new TargetBuilder().build());
    }

    public RbacConfigSpecFluent.InclusionNested editOrNewInclusionLike(Target item){
            return withNewInclusionLike(getInclusion() != null ? getInclusion(): item);
    }

    public me.snowdrop.istio.api.rbac.v1alpha1.Mode getMode(){
            return this.mode;
    }

    public A withMode(me.snowdrop.istio.api.rbac.v1alpha1.Mode mode){
            this.mode=mode; return (A) this;
    }

    public Boolean hasMode(){
            return this.mode != null;
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            RbacConfigSpecFluentImpl that = (RbacConfigSpecFluentImpl) o;
            if (enforcementMode != null ? !enforcementMode.equals(that.enforcementMode) :that.enforcementMode != null) return false;
            if (exclusion != null ? !exclusion.equals(that.exclusion) :that.exclusion != null) return false;
            if (inclusion != null ? !inclusion.equals(that.inclusion) :that.inclusion != null) return false;
            if (mode != null ? !mode.equals(that.mode) :that.mode != null) return false;
            return true;
    }


    public class ExclusionNestedImpl extends TargetFluentImpl> implements RbacConfigSpecFluent.ExclusionNested,io.fabric8.kubernetes.api.builder.Nested{

            private final TargetBuilder builder;
    
            ExclusionNestedImpl(Target item){
                    this.builder = new TargetBuilder(this, item);
            }
            ExclusionNestedImpl(){
                    this.builder = new TargetBuilder(this);
            }
    
    public N and(){
            return (N) RbacConfigSpecFluentImpl.this.withExclusion(builder.build());
    }
    public N endExclusion(){
            return and();
    }

}
    public class InclusionNestedImpl extends TargetFluentImpl> implements RbacConfigSpecFluent.InclusionNested,io.fabric8.kubernetes.api.builder.Nested{

            private final TargetBuilder builder;
    
            InclusionNestedImpl(Target item){
                    this.builder = new TargetBuilder(this, item);
            }
            InclusionNestedImpl(){
                    this.builder = new TargetBuilder(this);
            }
    
    public N and(){
            return (N) RbacConfigSpecFluentImpl.this.withInclusion(builder.build());
    }
    public N endInclusion(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy