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

me.snowdrop.istio.api.model.v1.networking.HTTPRouteFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.model.v1.networking;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.lang.String;
import com.fasterxml.jackson.databind.JsonDeserializer;
import io.fabric8.kubernetes.api.builder.Predicate;
import java.util.LinkedHashMap;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.util.List;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.lang.Boolean;
import java.lang.Override;
import me.snowdrop.istio.api.model.Duration;
import javax.validation.Valid;
import java.lang.Long;
import java.util.Collection;
import java.lang.Object;
import java.util.Map;
import me.snowdrop.istio.api.model.DurationBuilder;
import me.snowdrop.istio.api.model.DurationFluentImpl;
import io.fabric8.kubernetes.api.builder.Nested;
import com.fasterxml.jackson.databind.JsonSerializer;
import java.lang.Deprecated;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.core.JsonParser;
import java.lang.Integer;

public class HTTPRouteFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements HTTPRouteFluent{

    private Map appendHeaders;
    private CorsPolicyBuilder corsPolicy;
    private HTTPFaultInjectionBuilder fault;
    private List match;
    private DestinationBuilder mirror;
    private HTTPRedirectBuilder redirect;
    private HTTPRetryBuilder retries;
    private HTTPRewriteBuilder rewrite;
    private List route;
    private DurationBuilder timeout;
    private Boolean websocketUpgrade;

    public HTTPRouteFluentImpl(){
    }
    public HTTPRouteFluentImpl(HTTPRoute instance){
            this.withAppendHeaders(instance.getAppendHeaders()); 
            this.withCorsPolicy(instance.getCorsPolicy()); 
            this.withFault(instance.getFault()); 
            this.withMatch(instance.getMatch()); 
            this.withMirror(instance.getMirror()); 
            this.withRedirect(instance.getRedirect()); 
            this.withRetries(instance.getRetries()); 
            this.withRewrite(instance.getRewrite()); 
            this.withRoute(instance.getRoute()); 
            this.withTimeout(instance.getTimeout()); 
            this.withWebsocketUpgrade(instance.getWebsocketUpgrade()); 
    }

    public A addToAppendHeaders(String key,String value){
            if(this.appendHeaders == null && key != null && value != null) { this.appendHeaders = new LinkedHashMap(); }
            if(key != null && value != null) {this.appendHeaders.put(key, value);} return (A)this;
    }

    public A addToAppendHeaders(Map map){
            if(this.appendHeaders == null && map != null) { this.appendHeaders = new LinkedHashMap(); }
            if(map != null) { this.appendHeaders.putAll(map);} return (A)this;
    }

    public A removeFromAppendHeaders(String key){
            if(this.appendHeaders == null) { return (A) this; }
            if(key != null && this.appendHeaders != null) {this.appendHeaders.remove(key);} return (A)this;
    }

    public A removeFromAppendHeaders(Map map){
            if(this.appendHeaders == null) { return (A) this; }
            if(map != null) { for(Object key : map.keySet()) {if (this.appendHeaders != null){this.appendHeaders.remove(key);}}} return (A)this;
    }

    public Map getAppendHeaders(){
            return this.appendHeaders;
    }

    public A withAppendHeaders(Map appendHeaders){
            if (appendHeaders == null) { this.appendHeaders =  null;} else {this.appendHeaders = new LinkedHashMap(appendHeaders);} return (A) this;
    }

    public Boolean hasAppendHeaders(){
            return this.appendHeaders != null;
    }

    
/**
 * This method has been deprecated, please use method buildCorsPolicy instead.
 */
@Deprecated public CorsPolicy getCorsPolicy(){
            return this.corsPolicy!=null?this.corsPolicy.build():null;
    }

    public CorsPolicy buildCorsPolicy(){
            return this.corsPolicy!=null?this.corsPolicy.build():null;
    }

    public A withCorsPolicy(CorsPolicy corsPolicy){
            _visitables.remove(this.corsPolicy);
            if (corsPolicy!=null){ this.corsPolicy= new CorsPolicyBuilder(corsPolicy); _visitables.add(this.corsPolicy);} return (A) this;
    }

    public Boolean hasCorsPolicy(){
            return this.corsPolicy != null;
    }

    public HTTPRouteFluent.CorsPolicyNested withNewCorsPolicy(){
            return new CorsPolicyNestedImpl();
    }

    public HTTPRouteFluent.CorsPolicyNested withNewCorsPolicyLike(CorsPolicy item){
            return new CorsPolicyNestedImpl(item);
    }

    public HTTPRouteFluent.CorsPolicyNested editCorsPolicy(){
            return withNewCorsPolicyLike(getCorsPolicy());
    }

    public HTTPRouteFluent.CorsPolicyNested editOrNewCorsPolicy(){
            return withNewCorsPolicyLike(getCorsPolicy() != null ? getCorsPolicy(): new CorsPolicyBuilder().build());
    }

    public HTTPRouteFluent.CorsPolicyNested editOrNewCorsPolicyLike(CorsPolicy item){
            return withNewCorsPolicyLike(getCorsPolicy() != null ? getCorsPolicy(): item);
    }

    
/**
 * This method has been deprecated, please use method buildFault instead.
 */
@Deprecated public HTTPFaultInjection getFault(){
            return this.fault!=null?this.fault.build():null;
    }

    public HTTPFaultInjection buildFault(){
            return this.fault!=null?this.fault.build():null;
    }

    public A withFault(HTTPFaultInjection fault){
            _visitables.remove(this.fault);
            if (fault!=null){ this.fault= new HTTPFaultInjectionBuilder(fault); _visitables.add(this.fault);} return (A) this;
    }

    public Boolean hasFault(){
            return this.fault != null;
    }

    public HTTPRouteFluent.FaultNested withNewFault(){
            return new FaultNestedImpl();
    }

    public HTTPRouteFluent.FaultNested withNewFaultLike(HTTPFaultInjection item){
            return new FaultNestedImpl(item);
    }

    public HTTPRouteFluent.FaultNested editFault(){
            return withNewFaultLike(getFault());
    }

    public HTTPRouteFluent.FaultNested editOrNewFault(){
            return withNewFaultLike(getFault() != null ? getFault(): new HTTPFaultInjectionBuilder().build());
    }

    public HTTPRouteFluent.FaultNested editOrNewFaultLike(HTTPFaultInjection item){
            return withNewFaultLike(getFault() != null ? getFault(): item);
    }

    public A addToMatch(int index,HTTPMatchRequest item){
            if (this.match == null) {this.match = new ArrayList();}
            HTTPMatchRequestBuilder builder = new HTTPMatchRequestBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.match.add(index >= 0 ? index : match.size(), builder); return (A)this;
    }

    public A setToMatch(int index,HTTPMatchRequest item){
            if (this.match == null) {this.match = new ArrayList();}
            HTTPMatchRequestBuilder builder = new HTTPMatchRequestBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= match.size()) { match.add(builder); } else { match.set(index, builder);}
             return (A)this;
    }

    public A addToMatch(HTTPMatchRequest... items){
            if (this.match == null) {this.match = new ArrayList();}
            for (HTTPMatchRequest item : items) {HTTPMatchRequestBuilder builder = new HTTPMatchRequestBuilder(item);_visitables.add(builder);this.match.add(builder);} return (A)this;
    }

    public A addAllToMatch(Collection items){
            if (this.match == null) {this.match = new ArrayList();}
            for (HTTPMatchRequest item : items) {HTTPMatchRequestBuilder builder = new HTTPMatchRequestBuilder(item);_visitables.add(builder);this.match.add(builder);} return (A)this;
    }

    public A removeFromMatch(HTTPMatchRequest... items){
            for (HTTPMatchRequest item : items) {HTTPMatchRequestBuilder builder = new HTTPMatchRequestBuilder(item);_visitables.remove(builder);if (this.match != null) {this.match.remove(builder);}} return (A)this;
    }

    public A removeAllFromMatch(Collection items){
            for (HTTPMatchRequest item : items) {HTTPMatchRequestBuilder builder = new HTTPMatchRequestBuilder(item);_visitables.remove(builder);if (this.match != null) {this.match.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildMatch instead.
 */
@Deprecated public List getMatch(){
            return build(match);
    }

    public List buildMatch(){
            return build(match);
    }

    public HTTPMatchRequest buildMatch(int index){
            return this.match.get(index).build();
    }

    public HTTPMatchRequest buildFirstMatch(){
            return this.match.get(0).build();
    }

    public HTTPMatchRequest buildLastMatch(){
            return this.match.get(match.size() - 1).build();
    }

    public HTTPMatchRequest buildMatchingMatch(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (HTTPMatchRequestBuilder item: match) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withMatch(List match){
            if (this.match != null) { _visitables.removeAll(this.match);}
            if (match != null) {this.match = new ArrayList(); for (HTTPMatchRequest item : match){this.addToMatch(item);}} else { this.match = null;} return (A) this;
    }

    public A withMatch(HTTPMatchRequest... match){
            this.match.clear(); if (match != null) {for (HTTPMatchRequest item :match){ this.addToMatch(item);}} return (A) this;
    }

    public Boolean hasMatch(){
            return match != null && !match.isEmpty();
    }

    public HTTPRouteFluent.MatchNested addNewMatch(){
            return new MatchNestedImpl();
    }

    public HTTPRouteFluent.MatchNested addNewMatchLike(HTTPMatchRequest item){
            return new MatchNestedImpl(-1, item);
    }

    public HTTPRouteFluent.MatchNested setNewMatchLike(int index,HTTPMatchRequest item){
            return new MatchNestedImpl(index, item);
    }

    public HTTPRouteFluent.MatchNested editMatch(int index){
            if (match.size() <= index) throw new RuntimeException("Can't edit match. Index exceeds size.");
            return setNewMatchLike(index, buildMatch(index));
    }

    public HTTPRouteFluent.MatchNested editFirstMatch(){
            if (match.size() == 0) throw new RuntimeException("Can't edit first match. The list is empty.");
            return setNewMatchLike(0, buildMatch(0));
    }

    public HTTPRouteFluent.MatchNested editLastMatch(){
            int index = match.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last match. The list is empty.");
            return setNewMatchLike(index, buildMatch(index));
    }

    public HTTPRouteFluent.MatchNested editMatchingMatch(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i withNewMirror(){
            return new MirrorNestedImpl();
    }

    public HTTPRouteFluent.MirrorNested withNewMirrorLike(Destination item){
            return new MirrorNestedImpl(item);
    }

    public HTTPRouteFluent.MirrorNested editMirror(){
            return withNewMirrorLike(getMirror());
    }

    public HTTPRouteFluent.MirrorNested editOrNewMirror(){
            return withNewMirrorLike(getMirror() != null ? getMirror(): new DestinationBuilder().build());
    }

    public HTTPRouteFluent.MirrorNested editOrNewMirrorLike(Destination item){
            return withNewMirrorLike(getMirror() != null ? getMirror(): item);
    }

    
/**
 * This method has been deprecated, please use method buildRedirect instead.
 */
@Deprecated public HTTPRedirect getRedirect(){
            return this.redirect!=null?this.redirect.build():null;
    }

    public HTTPRedirect buildRedirect(){
            return this.redirect!=null?this.redirect.build():null;
    }

    public A withRedirect(HTTPRedirect redirect){
            _visitables.remove(this.redirect);
            if (redirect!=null){ this.redirect= new HTTPRedirectBuilder(redirect); _visitables.add(this.redirect);} return (A) this;
    }

    public Boolean hasRedirect(){
            return this.redirect != null;
    }

    public A withNewRedirect(String authority,String uri){
            return (A)withRedirect(new HTTPRedirect(authority, uri));
    }

    public HTTPRouteFluent.RedirectNested withNewRedirect(){
            return new RedirectNestedImpl();
    }

    public HTTPRouteFluent.RedirectNested withNewRedirectLike(HTTPRedirect item){
            return new RedirectNestedImpl(item);
    }

    public HTTPRouteFluent.RedirectNested editRedirect(){
            return withNewRedirectLike(getRedirect());
    }

    public HTTPRouteFluent.RedirectNested editOrNewRedirect(){
            return withNewRedirectLike(getRedirect() != null ? getRedirect(): new HTTPRedirectBuilder().build());
    }

    public HTTPRouteFluent.RedirectNested editOrNewRedirectLike(HTTPRedirect item){
            return withNewRedirectLike(getRedirect() != null ? getRedirect(): item);
    }

    
/**
 * This method has been deprecated, please use method buildRetries instead.
 */
@Deprecated public HTTPRetry getRetries(){
            return this.retries!=null?this.retries.build():null;
    }

    public HTTPRetry buildRetries(){
            return this.retries!=null?this.retries.build():null;
    }

    public A withRetries(HTTPRetry retries){
            _visitables.remove(this.retries);
            if (retries!=null){ this.retries= new HTTPRetryBuilder(retries); _visitables.add(this.retries);} return (A) this;
    }

    public Boolean hasRetries(){
            return this.retries != null;
    }

    public HTTPRouteFluent.RetriesNested withNewRetries(){
            return new RetriesNestedImpl();
    }

    public HTTPRouteFluent.RetriesNested withNewRetriesLike(HTTPRetry item){
            return new RetriesNestedImpl(item);
    }

    public HTTPRouteFluent.RetriesNested editRetries(){
            return withNewRetriesLike(getRetries());
    }

    public HTTPRouteFluent.RetriesNested editOrNewRetries(){
            return withNewRetriesLike(getRetries() != null ? getRetries(): new HTTPRetryBuilder().build());
    }

    public HTTPRouteFluent.RetriesNested editOrNewRetriesLike(HTTPRetry item){
            return withNewRetriesLike(getRetries() != null ? getRetries(): item);
    }

    
/**
 * This method has been deprecated, please use method buildRewrite instead.
 */
@Deprecated public HTTPRewrite getRewrite(){
            return this.rewrite!=null?this.rewrite.build():null;
    }

    public HTTPRewrite buildRewrite(){
            return this.rewrite!=null?this.rewrite.build():null;
    }

    public A withRewrite(HTTPRewrite rewrite){
            _visitables.remove(this.rewrite);
            if (rewrite!=null){ this.rewrite= new HTTPRewriteBuilder(rewrite); _visitables.add(this.rewrite);} return (A) this;
    }

    public Boolean hasRewrite(){
            return this.rewrite != null;
    }

    public A withNewRewrite(String authority,String uri){
            return (A)withRewrite(new HTTPRewrite(authority, uri));
    }

    public HTTPRouteFluent.RewriteNested withNewRewrite(){
            return new RewriteNestedImpl();
    }

    public HTTPRouteFluent.RewriteNested withNewRewriteLike(HTTPRewrite item){
            return new RewriteNestedImpl(item);
    }

    public HTTPRouteFluent.RewriteNested editRewrite(){
            return withNewRewriteLike(getRewrite());
    }

    public HTTPRouteFluent.RewriteNested editOrNewRewrite(){
            return withNewRewriteLike(getRewrite() != null ? getRewrite(): new HTTPRewriteBuilder().build());
    }

    public HTTPRouteFluent.RewriteNested editOrNewRewriteLike(HTTPRewrite item){
            return withNewRewriteLike(getRewrite() != null ? getRewrite(): item);
    }

    public A addToRoute(int index,DestinationWeight item){
            if (this.route == null) {this.route = new ArrayList();}
            DestinationWeightBuilder builder = new DestinationWeightBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.route.add(index >= 0 ? index : route.size(), builder); return (A)this;
    }

    public A setToRoute(int index,DestinationWeight item){
            if (this.route == null) {this.route = new ArrayList();}
            DestinationWeightBuilder builder = new DestinationWeightBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= route.size()) { route.add(builder); } else { route.set(index, builder);}
             return (A)this;
    }

    public A addToRoute(DestinationWeight... items){
            if (this.route == null) {this.route = new ArrayList();}
            for (DestinationWeight item : items) {DestinationWeightBuilder builder = new DestinationWeightBuilder(item);_visitables.add(builder);this.route.add(builder);} return (A)this;
    }

    public A addAllToRoute(Collection items){
            if (this.route == null) {this.route = new ArrayList();}
            for (DestinationWeight item : items) {DestinationWeightBuilder builder = new DestinationWeightBuilder(item);_visitables.add(builder);this.route.add(builder);} return (A)this;
    }

    public A removeFromRoute(DestinationWeight... items){
            for (DestinationWeight item : items) {DestinationWeightBuilder builder = new DestinationWeightBuilder(item);_visitables.remove(builder);if (this.route != null) {this.route.remove(builder);}} return (A)this;
    }

    public A removeAllFromRoute(Collection items){
            for (DestinationWeight item : items) {DestinationWeightBuilder builder = new DestinationWeightBuilder(item);_visitables.remove(builder);if (this.route != null) {this.route.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildRoute instead.
 */
@Deprecated public List getRoute(){
            return build(route);
    }

    public List buildRoute(){
            return build(route);
    }

    public DestinationWeight buildRoute(int index){
            return this.route.get(index).build();
    }

    public DestinationWeight buildFirstRoute(){
            return this.route.get(0).build();
    }

    public DestinationWeight buildLastRoute(){
            return this.route.get(route.size() - 1).build();
    }

    public DestinationWeight buildMatchingRoute(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (DestinationWeightBuilder item: route) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withRoute(List route){
            if (this.route != null) { _visitables.removeAll(this.route);}
            if (route != null) {this.route = new ArrayList(); for (DestinationWeight item : route){this.addToRoute(item);}} else { this.route = null;} return (A) this;
    }

    public A withRoute(DestinationWeight... route){
            this.route.clear(); if (route != null) {for (DestinationWeight item :route){ this.addToRoute(item);}} return (A) this;
    }

    public Boolean hasRoute(){
            return route != null && !route.isEmpty();
    }

    public HTTPRouteFluent.RouteNested addNewRoute(){
            return new RouteNestedImpl();
    }

    public HTTPRouteFluent.RouteNested addNewRouteLike(DestinationWeight item){
            return new RouteNestedImpl(-1, item);
    }

    public HTTPRouteFluent.RouteNested setNewRouteLike(int index,DestinationWeight item){
            return new RouteNestedImpl(index, item);
    }

    public HTTPRouteFluent.RouteNested editRoute(int index){
            if (route.size() <= index) throw new RuntimeException("Can't edit route. Index exceeds size.");
            return setNewRouteLike(index, buildRoute(index));
    }

    public HTTPRouteFluent.RouteNested editFirstRoute(){
            if (route.size() == 0) throw new RuntimeException("Can't edit first route. The list is empty.");
            return setNewRouteLike(0, buildRoute(0));
    }

    public HTTPRouteFluent.RouteNested editLastRoute(){
            int index = route.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last route. The list is empty.");
            return setNewRouteLike(index, buildRoute(index));
    }

    public HTTPRouteFluent.RouteNested editMatchingRoute(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i withNewTimeout(){
            return new TimeoutNestedImpl();
    }

    public HTTPRouteFluent.TimeoutNested withNewTimeoutLike(Duration item){
            return new TimeoutNestedImpl(item);
    }

    public HTTPRouteFluent.TimeoutNested editTimeout(){
            return withNewTimeoutLike(getTimeout());
    }

    public HTTPRouteFluent.TimeoutNested editOrNewTimeout(){
            return withNewTimeoutLike(getTimeout() != null ? getTimeout(): new DurationBuilder().build());
    }

    public HTTPRouteFluent.TimeoutNested editOrNewTimeoutLike(Duration item){
            return withNewTimeoutLike(getTimeout() != null ? getTimeout(): item);
    }

    public Boolean isWebsocketUpgrade(){
            return this.websocketUpgrade;
    }

    public A withWebsocketUpgrade(Boolean websocketUpgrade){
            this.websocketUpgrade=websocketUpgrade; return (A) this;
    }

    public Boolean hasWebsocketUpgrade(){
            return this.websocketUpgrade != null;
    }

    public A withNewWebsocketUpgrade(boolean arg1){
            return (A)withWebsocketUpgrade(new Boolean(arg1));
    }

    public A withNewWebsocketUpgrade(String arg1){
            return (A)withWebsocketUpgrade(new Boolean(arg1));
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            HTTPRouteFluentImpl that = (HTTPRouteFluentImpl) o;
            if (appendHeaders != null ? !appendHeaders.equals(that.appendHeaders) :that.appendHeaders != null) return false;
            if (corsPolicy != null ? !corsPolicy.equals(that.corsPolicy) :that.corsPolicy != null) return false;
            if (fault != null ? !fault.equals(that.fault) :that.fault != null) return false;
            if (match != null ? !match.equals(that.match) :that.match != null) return false;
            if (mirror != null ? !mirror.equals(that.mirror) :that.mirror != null) return false;
            if (redirect != null ? !redirect.equals(that.redirect) :that.redirect != null) return false;
            if (retries != null ? !retries.equals(that.retries) :that.retries != null) return false;
            if (rewrite != null ? !rewrite.equals(that.rewrite) :that.rewrite != null) return false;
            if (route != null ? !route.equals(that.route) :that.route != null) return false;
            if (timeout != null ? !timeout.equals(that.timeout) :that.timeout != null) return false;
            if (websocketUpgrade != null ? !websocketUpgrade.equals(that.websocketUpgrade) :that.websocketUpgrade != null) return false;
            return true;
    }


    public class CorsPolicyNestedImpl extends CorsPolicyFluentImpl> implements HTTPRouteFluent.CorsPolicyNested,io.fabric8.kubernetes.api.builder.Nested{

            private final CorsPolicyBuilder builder;
    
            CorsPolicyNestedImpl(CorsPolicy item){
                    this.builder = new CorsPolicyBuilder(this, item);
            }
            CorsPolicyNestedImpl(){
                    this.builder = new CorsPolicyBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withCorsPolicy(builder.build());
    }
    public N endCorsPolicy(){
            return and();
    }

}
    public class FaultNestedImpl extends HTTPFaultInjectionFluentImpl> implements HTTPRouteFluent.FaultNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HTTPFaultInjectionBuilder builder;
    
            FaultNestedImpl(HTTPFaultInjection item){
                    this.builder = new HTTPFaultInjectionBuilder(this, item);
            }
            FaultNestedImpl(){
                    this.builder = new HTTPFaultInjectionBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withFault(builder.build());
    }
    public N endFault(){
            return and();
    }

}
    public class MatchNestedImpl extends HTTPMatchRequestFluentImpl> implements HTTPRouteFluent.MatchNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HTTPMatchRequestBuilder builder;
        private final int index;
    
            MatchNestedImpl(int index,HTTPMatchRequest item){
                    this.index = index;
                    this.builder = new HTTPMatchRequestBuilder(this, item);
            }
            MatchNestedImpl(){
                    this.index = -1;
                    this.builder = new HTTPMatchRequestBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.setToMatch(index, builder.build());
    }
    public N endMatch(){
            return and();
    }

}
    public class MirrorNestedImpl extends DestinationFluentImpl> implements HTTPRouteFluent.MirrorNested,io.fabric8.kubernetes.api.builder.Nested{

            private final DestinationBuilder builder;
    
            MirrorNestedImpl(Destination item){
                    this.builder = new DestinationBuilder(this, item);
            }
            MirrorNestedImpl(){
                    this.builder = new DestinationBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withMirror(builder.build());
    }
    public N endMirror(){
            return and();
    }

}
    public class RedirectNestedImpl extends HTTPRedirectFluentImpl> implements HTTPRouteFluent.RedirectNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HTTPRedirectBuilder builder;
    
            RedirectNestedImpl(HTTPRedirect item){
                    this.builder = new HTTPRedirectBuilder(this, item);
            }
            RedirectNestedImpl(){
                    this.builder = new HTTPRedirectBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withRedirect(builder.build());
    }
    public N endRedirect(){
            return and();
    }

}
    public class RetriesNestedImpl extends HTTPRetryFluentImpl> implements HTTPRouteFluent.RetriesNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HTTPRetryBuilder builder;
    
            RetriesNestedImpl(HTTPRetry item){
                    this.builder = new HTTPRetryBuilder(this, item);
            }
            RetriesNestedImpl(){
                    this.builder = new HTTPRetryBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withRetries(builder.build());
    }
    public N endRetries(){
            return and();
    }

}
    public class RewriteNestedImpl extends HTTPRewriteFluentImpl> implements HTTPRouteFluent.RewriteNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HTTPRewriteBuilder builder;
    
            RewriteNestedImpl(HTTPRewrite item){
                    this.builder = new HTTPRewriteBuilder(this, item);
            }
            RewriteNestedImpl(){
                    this.builder = new HTTPRewriteBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withRewrite(builder.build());
    }
    public N endRewrite(){
            return and();
    }

}
    public class RouteNestedImpl extends DestinationWeightFluentImpl> implements HTTPRouteFluent.RouteNested,io.fabric8.kubernetes.api.builder.Nested{

            private final DestinationWeightBuilder builder;
        private final int index;
    
            RouteNestedImpl(int index,DestinationWeight item){
                    this.index = index;
                    this.builder = new DestinationWeightBuilder(this, item);
            }
            RouteNestedImpl(){
                    this.index = -1;
                    this.builder = new DestinationWeightBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.setToRoute(index, builder.build());
    }
    public N endRoute(){
            return and();
    }

}
    public class TimeoutNestedImpl extends DurationFluentImpl> implements HTTPRouteFluent.TimeoutNested,io.fabric8.kubernetes.api.builder.Nested{

            private final DurationBuilder builder;
    
            TimeoutNestedImpl(Duration item){
                    this.builder = new DurationBuilder(this, item);
            }
            TimeoutNestedImpl(){
                    this.builder = new DurationBuilder(this);
            }
    
    public N and(){
            return (N) HTTPRouteFluentImpl.this.withTimeout(builder.build());
    }
    public N endTimeout(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy